(57)【要約】      （修正有）【課題】複数の画面の比較作業の効率化に寄与する画面差異抽出装置及びプログラムを提供する。【解決手段】画面差異抽出装置１０は、第１の画面画像の画面要素と、当該画面要素に対応する第２の画面画像の画面要素とのペアを、第１の画面画像と複数の異なる第２の画面画像とから抽出する抽出部と、ペア間における第１の画面画像の画面要素どうしの類似性と、第２の画面画像の画面要素どうしの類似性とに基づいて、抽出された複数のペアを複数の第１のグループに分類する分類部と、第１のグループごとに、当該第１のグループに属するペアのうちのいずれか一つのペアである第１のペアではない第２のペアに、第１のペアに対する参照情報を付与する付与部とを有する。【選択図】図２
2019102042.tif 000002
【特許請求の範囲】
【請求項１】
第１の画面画像の画面要素と、当該画面要素に対応する第２の画面画像の画面要素とのペアを、前記第１の画面画像と複数の異なる前記第２の画面画像とから抽出する抽出部と、
前記ペア間における前記第１の画面画像の画面要素どうしの類似性と、前記第２の画面画像の画面要素どうしの類似性とに基づいて、抽出された複数のペアを複数の第１のグループに分類する分類部と、
前記第１のグループごとに、当該第１のグループに属するペアのうちのいずれか一つのペアである第１のペアではない第２のペアに、前記第１のペアに対する参照情報を付与する付与部と、
を有することを特徴とする画面差異抽出装置。
【請求項２】
前記抽出部によって抽出された複数のペアのそれぞれについて、当該ペアに含まれる画面要素間における差異の有無を判定する判定部と、
前記第１のペアに関しては、前記判定部による判定結果を出力し、前記第２のペアに関しては、当該第２のペアに付与された参照情報を出力する出力部と、
を有することを特徴とする請求項１記載の画面差異抽出装置。
【請求項３】
前記抽出部は、複数の異なる前記第１の画面画像のそれぞれごとに、当該第１の画面画像と、当該第１の画面画像に対応する複数の第２の画面画像とから画面要素のペアを抽出する、
ことを特徴とする請求項１又は２記載の画面差異抽出装置。
【請求項４】
前記分類部は、前記各ペアを、当該ペアに含まれる前記第１の画面画像又は前記第２の画面画像の画面要素の表示位置、サイズ、又は役割に基づく第２のグループに分類した後で、前記各第２のグループ内において、当該第２のグループに分類された前記ペアを前記第１のグループへ分類する、
ことを特徴とする請求項１乃至３いずれか一項記載の画面差異抽出装置。
【請求項５】
前記分類部は、前記各ペアを、当該ペアに含まれる前記第１の画面画像又は前記第２の画面画像の画面要素が、前記第１の画面画像又は前記第２の画面画像を複数の領域に分割することで得られる複数の領域のいずれの領域の含まれるかに基づいて第２のグループに分類し、前記各第２のグループ内において、当該第２のグループに分類された前記ペアを前記第１のグループへ分類する、
ことを特徴とする請求項１乃至３いずれか一項記載の画面差異抽出装置。
【請求項６】
第１の画面画像の画面要素と、当該画面要素に対応する第２の画面画像の画面要素とのペアを、前記第１の画面画像と複数の異なる前記第２の画面画像とから抽出する抽出手順と、
前記ペア間における前記第１の画面画像の画面要素どうしの類似性と、前記第２の画面画像の画面要素どうしの類似性とに基づいて、抽出された複数のペアを複数の第１のグループに分類する分類手順と、
前記第１のグループごとに、当該第１のグループに属するペアのうちのいずれか一つのペアである第１のペアではない第２のペアに、前記第１のペアに対する参照情報を付与する付与手順と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面差異抽出装置及びプログラムに関する。
【背景技術】
【０００２】
多環境においてアプリケーションを動作させたときのＵＩレイアウト崩れの検出や、回帰テストにおけるデグレード検出などを目的に、アプリケーションの実行結果として表示される画面について、正しく表示された画面（正解画面）の画像とテスト対象画面（比較画面）の画像を比較することで、誤りの箇所を自動検出するツールが存在する。画素単位の差異抽出ツール（例えばＤｉｆｆＩｍａｇｅ（https://ja.osdn.net/projects/sfnet_diffimg/））や画素単位の差異抽出技術（非特許文献１）では、正解画面と比較画面の差異を画素単位で比較し、その差分を表示することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３８７１３号公報
【非特許文献】
【０００４】
【非特許文献１】Sonal Mahajan and William G.J. Halfond. 2014. Finding HTML presentation failures using image comparison techniques. In Proceedings of the 29th ACM/IEEE international conference on Automated software engineering (ASE '14). ACM, New York, NY, USA, 91-96.（南カリフォルニア大学，米国）
【非特許文献２】丹野 治門: "画像処理を活用したUIレイアウト崩れ検出支援手法の提案", 情報処理学会 研究報告ソフトウェア工学 , vol. 2016-SE-194, no. 9, pp.1-8, 2016年11月
【発明の概要】
【発明が解決しようとする課題】
【０００５】
多環境においてアプリケーションを動作させたときのＵＩレイアウト崩れを検出する場合、複数の環境において同じ画面を比較し、結果を確認する必要がある。また、回帰テスト等、特定の環境における画面比較であっても、アプリケーションの画面を構成するメニューやヘッダ等は画面の用途によらず共通的に存在することが多く、アプリケーションを構成する各画面について比較を行う場合、同じ領域を何度も比較し、結果を確認する必要がある。
【０００６】
したがって、非特許文献１、２の技術では、環境数や画面数が多くなると、複数の画面に共通する多数の同じ結果（差異箇所）を何度も確認する必要があり、確認の稼動が非常に大きくなるという問題が有る。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、複数の画面の比較作業の効率化に寄与することを目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、画面差異抽出装置は、第１の画面画像の画面要素と、当該画面要素に対応する第２の画面画像の画面要素とのペアを、前記第１の画面画像と複数の異なる前記第２の画面画像とから抽出する抽出部と、前記ペア間における前記第１の画面画像の画面要素どうしの類似性と、前記第２の画面画像の画面要素どうしの類似性とに基づいて、抽出された複数のペアを複数の第１のグループに分類する分類部と、前記第１のグループごとに、当該第１のグループに属するペアのうちのいずれか一つのペアである第１のペアではない第２のペアに、前記第１のペアに対する参照情報を付与する付与部とを有する。
【発明の効果】
【０００９】
複数の画面の比較作業の効率化に寄与することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態における画面差異抽出装置１０のハードウェア構成例を示す図である。
【図２】第１の実施の形態における画面差異抽出装置１０の機能構成例を示す図である。
【図３】画面差異抽出装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図４】フォルダ構成の一例を示す図である。
【図５】矩形領域の抽出結果の一例を示す図である。
【図６】矩形ペアの対応関係及びマッチングの判定結果の一例を示す図である。
【図７】画面画像の入力処理の処理手順の一例を説明するためのフローチャートである。
【図８】矩形ペアグループ群の生成処理の処理手順の一例を説明するためのフローチャートである。
【図９】矩形ペアグループへの分類結果の一例を示す図である。
【図１０】代表フラグ及び参照情報の付与結果の一例を示す図である。
【図１１】結果レポートの第１の出力例を示す図である。
【図１２】結果レポートの第２の出力例を示す図である。
【図１３】第２の実施の形態における矩形ペア群の矩形ペアグループへの分類処理の処理手順の一例を説明するためのフローチャートである。
【図１４】正解画面矩形の領域グループへの分類例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて第１の実施の形態を説明する。図１は、第１の実施の形態における画面差異抽出装置１０のハードウェア構成例を示す図である。図１の画面差異抽出装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１２】
画面差異抽出装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１３】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って画面差異抽出装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００１４】
図２は、第１の実施の形態における画面差異抽出装置１０の機能構成例を示す図である。図２において、画面差異抽出装置１０は、画像入力部１１、矩形抽出部１２、矩形ペア抽出部１３、マッチング判定部１４、矩形ペアグループ生成部１５及びレポート出力部１６等を有する。これら各部は、画面差異抽出装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００１５】
以下、画面差異抽出装置１０が実行する処理手順について説明する。図３は、画面差異抽出装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００１６】
ステップＳ１１０において、画像入力部１１は、ユーザによって指定されたフォルダ配下において、テスト対象の画面ごとに記憶されている、正解画面及び比較画面群を読み込み、正解画面ごとに、同一画面に係る比較画面とのペア情報のリストを生成する。
【００１７】
なお、正解画面とは、作成者の意図通りに画面が表示される環境（以下、「正解環境」という。）において当該画面が表示された結果を示す画像データ（以下、「画面画像」という。）をいう。比較画面とは、正解環境とは異なる環境（以下、「比較環境」という。）において表示された結果を示す画面画像をいう。環境は、例えば、画面を表示した端末の機種、ＯＳ（Operating System）、及びブラウザ等の組み合わせによって区別される。更に、ブラウザの表示サイズ別に環境が区別されてもよい。環境は、画面の表示条件の一例であるともいえる。なお、正解画面及び比較画面は、例えば、画面キャプチャ等によって取得されてもよい。
【００１８】
なお、画面とは、プログラムがコンピュータに表示させる画面をいう。画面は、アプリケーションプログラム等の画面であってもよいし、ＨＴＭＬ（HyperText Markup Language）等によって記述された画面であってもよい。
【００１９】
図４は、フォルダ構成の一例を示す図である。図４には、環境ルートフォルダの下に、１つの正解環境フォルダと、２つの比較環境フォルダ（比較環境フォルダ（ａ）及び（ｂ））が含まれている例が示されている。正解環境フォルダ及び各比較環境フォルダのそれぞれには、画像ファイルＸ及び画像ファイルＹが格納されている。画像ファイルＸは、画面Ｘの表示結果が画面キャプチャ等されることにより生成された画面画像を格納したファイルである。画像ファイルＹは、画面Ｙの表示結果が画面キャプチャ等されることにより生成された画面画像を格納したファイルである。但し、正解環境フォルダの下の画像ファイルＸ及びＹは、画面Ｘ又は画面Ｙに関する正解画面を格納した画像ファイルである。比較環境フォルダ（ａ）の下の画像ファイルＸ及びＹは、環境（ａ）における画面Ｘ又は画面Ｙの表示結果を示す比較画面を格納した画像ファイルである。比較環境フォルダ（ｂ）の下の画像ファイルＸ及びＹは、環境（ｂ）における画面Ｘ又は画面Ｙの表示結果を示す比較画面を格納した画像ファイルである。なお、図４に示したフォルダ及びファイルは、例えば、補助記憶装置１０２に記憶されている。
【００２０】
図４の例によれば、ステップＳ１１０では、正解環境フォルダの下の画像ファイルＸに係る正解画面と、比較環境フォルダ（ａ）の下の画像ファイルＸに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルＹに係る正解画面と、比較環境フォルダ（ａ）の下の画像ファイルＹに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルＸに係る正解画面と、比較環境フォルダ（ｂ）の下の画像ファイルＸに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルＹに係る正解画面と、比較環境フォルダ（ｂ）の下の画像ファイルＹに係る正解画面とのペアとの４つのペアに関してペア情報が生成される。
【００２１】
なお、ペア情報は、正解画面情報、比較画面情報、矩形ペア群、及び矩形ペアの比較結果群等を含む。正解画面情報とは、正解画面の画面情報である。比較画面情報とは、比較画面の画面情報である。画面情報は、当該画面の画像ファイルと、当該画像ファイルのパス名とを含む情報である。矩形ペア群以降については、後述される。
【００２２】
続いて、画像入力部１１は、結果レポート用の空のデータ領域を生成する（ステップＳ１２０）。なお、結果レポートは１以上のペア情報を含むデータである。
【００２３】
続くステップＳ１３０〜Ｓ１６０は、ステップＳ１１０において生成されたペア情報ごとに実行される。以下、処理対象とされているペア情報を、「対象ペア情報」という。
【００２４】
ステップＳ１３０において、矩形抽出部１２は、非特許文献２又は特許文献１等の技術を用いて、対象ペア情報に係る正解画面及び対象ペア情報に係る比較画面のそれぞれについて、画面要素等の単位で矩形領域を抽出する（すなわち、各画面要素の領域を抽出する）。
【００２５】
図５は、矩形領域の抽出結果の一例を示す図である。図５において、１行目には、画面Ｘに関する正解画面（ｘ）、比較画面（ｘ１）及び比較画面（ｘ２）のそれぞれについて抽出された各画面要素の矩形領域が示されている。２行目には、画面Ｙに関する正解画面（ｙ）、比較画面（ｙ１）及び比較画面（ｙ２）のそれぞれについて抽出された各画面要素の矩形領域が示されている。
【００２６】
なお、図５では、便宜上、複数のペア情報に係る正解画面及び比較画面についての矩形領域の抽出結果が示されているが、対象ペア情報に係る正解画面及び比較画面が、正解画面（ｘ）及び比較画面（ｘ１）である場合には、ステップＳ１３０の１回の実行では、正解画面（ｘ）及び比較画面（ｘ１）のそれぞれについてのみ、矩形領域が抽出される。
【００２７】
なお、ここでいう矩形領域とは画面における長方形の領域を指しており、非特許文献２又は特許文献１ならば画面上の画面要素（ボタン、広告画像など）の大きさの領域となるが、別の技術を用いてより画面要素よりも大きめの領域が抽出されてもよい。
【００２８】
続いて、矩形ペア抽出部１３は、正解画面から抽出された矩形領域（以下「正解画面矩形」という。）と、比較画面から抽出された矩形領域（以下「比較画面矩形」という。）とについて、対応関係にある矩形領域のペア（以下、「矩形ペア」という。）を全て抽出する（Ｓ１４０）。すなわち、１つの矩形ペアは、正解画面矩形と比較画面矩形とを一つずつ含む。なお、対応関係とは、例えば、所定のペアリング判定ルールに基づいて、最も類似度が高いと判定される関係をいう。類似度は、例えば、画素の一致率等によって評価されてもよい。なお、抽出された全ての矩形ペアの集合を「矩形ペア群」という。矩形ペア群は、対象ペア情報に付与される。
【００２９】
続いて、マッチング判定部１４は、対象ペア情報の矩形ペア群に含まれる矩形ペアごとに、正解画面矩形と比較画面矩形と（すなわち、当該矩形ペアの画面要素間）のマッチング判定を行う（Ｓ１５０）。マッチング判定とは、矩形ペアに含まれる正解画面矩形と比較画面矩形とを、所定のマッチング判定ルールに基づいて比較し、差異の有無を判定することをいう。差異の有無は、マッチング判定ルールに基づく差異の有無をいい、実際に差異が有るか否かとは必ずしも一致しなくてもよい。例えば、マッチング判定ルールが、９５％以上の画像が一致すれば差異が無いというルールであれば、完全一致でなくても差異が無いと判定されうる。マッチング判定の判定結果(差異有り／無し)の集合は、比較結果群として対象ペア情報に付与される。なお、ステップＳ１３０〜Ｓ１５０は、例えば、非特許文献２又は特許文献１に開示された方法を用いて実行されてもよい。
【００３０】
図６は、矩形ペアの対応関係及びマッチングの判定結果の一例を示す図である。図６において、（１）は、画面Ｘに関する正解画面（ｘ）と比較画面（ｘ１）とのペア、正解画面（ｘ）と比較画面（ｘ２）とのペアのそれぞれについての矩形領域の対応関係及びマッチングの判定結果を示す。（２）は、画面Ｙに関する正解画面（ｙ）と比較画面（ｙ１）とのペア、正解画面（ｙ）と比較画面（ｙ２）とのペアのそれぞれについての矩形領域の対応関係及びマッチングの判定結果を示す。
【００３１】
図６において、線によって接続されている矩形領域が対応関係を有する。すなわち、線によって接続された矩形領域が矩形ペアを構成する。また、各矩形領域に付与されている符号（アルファベット）は、矩形ペアに係る矩形領域の類似性を示す。同一の符号が付与されている矩形領域（例えば、正解画面（ｘ）の矩形領域Ｃと比較画面（ｘ１）の矩形領域Ｃ等）は、マッチング判定において差異が無いと判定された矩形領域を示す。
【００３２】
続いて、レポート出力部１６は、結果レポートへ対象ペア情報を追加する（Ｓ１６０）。
【００３３】
ステップＳ１３０〜Ｓ１６０が、全てのペア情報について実行されると、矩形ペアグループ生成部１５は、各ペア情報に含まれる矩形ペア群を統合した矩形ペア群について、矩形ペアグループ群の生成処理を実行する（Ｓ１７０）。矩形ペアグループについては後述される。
【００３４】
続いて、レポート出力部１６は、生成された矩形ペアグループ群を結果レポートへ追加する（Ｓ１８０）。続いて、レポート出力部１６は、結果レポートを出力する（Ｓ１９０）。
【００３５】
続いて、ステップＳ１１０の詳細について説明する。図７は、画面画像の入力処理の処理手順の一例を説明するためのフローチャートである。
【００３６】
ステップＳ２１０において、画像入力部１１は、ユーザに指定された環境ルートフォルダを読み込む。続いて、画像入力部１１は、環境ルートフォルダの下の正解環境フォルダを取得する（ステップＳ２２０）。例えば、正解環境フォルダのフォルダ名が予め決められており、当該フォルダ名に係るフォルダが取得されてもよい。
【００３７】
続いて、画像入力部１１は、これから生成されるペア情報を格納するための空のリスト（以下、「ペアリスト」という。）を生成する（ステップＳ２３０）。続いて、画像入力部１１は、正解環境フォルダに格納されている正解画面ごとに、ステップＳ２４０以降を実行する。ステップＳ２４０以降において処理対象とされている正解画面を、「対象正解画面」という。
【００３８】
ステップＳ２４０において、画像入力部１１は、環境ルートフォルダの下に有る全ての比較環境フォルダ（以下、「比較環境フォルダ群」という。）を取得する。
【００３９】
続いて、画像入力部１１は、取得された比較環境フォルダごとに、ステップＳ２５０及びＳ２７０を実行する。ステップＳ２５０及びＳ２７０において処理対象とされている比較環境フォルダを、「対象比較環境フォルダ」という。
【００４０】
ステップＳ２５０において、画像入力部１１は、対象比較環境フォルダ内から対象正解画面に対応する比較画面を取得し、対象正解画面と当該比較画面とに対するペア情報を生成する。対象正解画面に対応する比較画面とは、対象正解画面が対応する画面と同じ画面に対応する比較画面をいう。例えば、画面が共通する画面画像は、同じファイル名のファイルに格納されていてもよい。そうすることで、正解画面に対応する比較画面を容易に特定することができる。
【００４１】
続いて、画像入力部１１は、生成されたペア情報をペアリストに追加する（ステップＳ２７０）。
【００４２】
続いて、図３のステップＳ１７０の詳細について説明する。図８は、矩形ペアグループ群の生成処理の処理手順の一例を説明するためのフローチャートである。
【００４３】
ステップＳ３１０において、矩形ペアグループ生成部１５は、矩形ペア群（各ペア情報に係る矩形ペア群を統合した矩形ペア群）を、矩形ペア間における正解画面矩形どうしの類似性と、比較画面矩形どうしの類似性との組に基づいて、複数のグループ（以下、「矩形ペアグループ」という。）に分類する。すなわち、正解画面矩形同士が類似し、比較画面矩形同士が類似する複数の矩形ペアは、同じグループに分類される。なお、各矩形ペアの矩形ペアグループへの分類は、ペア情報を跨って（換言すれば、図５における画面Ｘと画面Ｙとを跨って）、行われる。
【００４４】
例えば、矩形ペアグループ生成部１５は、各矩形ペアについて、正解画面矩形の特徴値と比較画面矩形の特徴値とを算出する。その結果、各矩形ペアは、特徴値のペアに変換される。当該特徴値の算出には、ｄＨａｓｈ等が用いられてもよい。矩形ペアグループ生成部１５は、特徴値のペアが一致する矩形ペアが同じ矩形ペアグループに属するように、矩形ペア群を分類する。
【００４５】
図９は、矩形ペアグループへの分類結果の一例を示す図である。図９において、「矩形」の列は、各矩形領域の識別子を示す。当該識別子は、「画面の種別（正解画面又は比較画面の名前）矩形領域」の形式を有する。例えば、「Ｘ（ｘ）Ａ」は、画面Ｘの正解画面（ｘ）の矩形領域Ａを示す。また、図９において「特徴値」は、対応する矩形領域の特徴値を便宜上、符号によって示したものであり、同じ符号は同じ特徴値を示す。
【００４６】
図９において、グループ１は、特徴値のペアが（ｄ１，ｄ２）のグループである。グループ２は、特徴値のペアが（ｄ３，ｄ４）のグループである。グループ３は、特徴値のペアが（ｄ５，ｄ６）のグループである。
【００４７】
なお、図９には、マッチング判定において、矩形領域同士が同一であると判定された矩形ペアは含まれていない。このような矩形ペアは、画面の差異の出力対象とする必要性が低いからである。したがって、矩形ペアグループ生成部１５は、矩形ペア群の中から、マッチング判定で同一であると判定された矩形領域同士に係る矩形ペアを除去した後で、ステップＳ３１０を実行してもよい。
【００４８】
続いて、矩形ペアグループ生成部１５は、矩形ペアグループ群に含まれる矩形グループごとに、ステップＳ３２０及びＳ３３０を実行する。以下、処理対象とされている矩形ペアグループを「対象矩形ペアグループ」という。
【００４９】
ステップＳ３２０において、矩形ペアグループ生成部１５は、対象矩形ペアグループに含まれる矩形ペアのうちのいずれか一つを代表ペアとして選択する。代表ペアとして選択された矩形ペアに対しては、代表フラグが付与される。なお、代表ペアの選択方法は、所定の方法に限定されない。
【００５０】
続いて、矩形ペアグループ生成部１５は、対象矩形ペアグループに含まれる矩形ペアのうち、代表ペア以外の矩形ペアについて、代表ペアに対する参照リンク（参照情報又はリンク情報）を付与する（Ｓ３３０）。当該参照リンクは、代表ペアを識別及び特定可能な情報であればどのようなものでもよい。
【００５１】
ステップＳ３２０及びＳ３３０が全ての矩形ペアグループについて実行されると、図８の処理は終了する。その結果、各矩形ペアグループについて、いずれかの矩形ペアに代表フラグが付与され、代表ペア以外の矩形ペアに代表ペアに対する参照リンクが付与される。
【００５２】
図１０は、代表フラグ及び参照リンクの付与結果の一例を示す図である。図１０では、図９に対して、「代表」及び「参照リンク」の列が追加されている。「代表」の列では、代表ペアに対して「１」が設定されている。「参照リンク」の列には、代表ペア以外の矩形ペアに対して代表ペアへの参照リンクが設定されている。
【００５３】
例えば、グループ１では、正解画面（ｘ）の矩形領域Ａと比較画面（ｘ１）の矩形領域Ａ'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。また、グループ２では、正解画面（ｘ）の矩形領域Ｂと比較画面（ｘ１）の矩形領域Ｂ'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。更に、グループ３では、正解画面（ｘ）の矩形領域Ｃと比較画面（ｘ２）の矩形領域Ｃ'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。
【００５４】
なお、グループ２及びグループ３に示されているように、画面Ｙに関する矩形ペアに対しても、画面Ｘに関する代表ペアへの参照リンクが付与されうる。
【００５５】
上述したステップＳ１８０では、図１０に示すような情報が結果レポートに追加され、ステップＳ１９０において、レポート出力部１６は、斯かる結果レポートを例えば以下のように出力する。
【００５６】
図１１は、結果レポートの第１の出力例を示す図である。図１１は、グループ２に関する結果レポートの例を示す。図１１では、代表ペアについてのみマッチング判定の判定結果が示されており、代表ペア以外のペアについては、代表ペアと当該判定結果が同じであるため、確認対象外であることが示されている。また、代表ペアへの参照リンクも示されている。
【００５７】
また、図１２は、結果レポートの第２の出力例を示す図である。図１２では、ペア情報ごとに、当該ペア情報に係る各矩形ペアに関するマッチング判定の判定結果が「コメント」として出力される例が示されている。但し、代表ペア以外の矩形ペアについては、代表ペアを参照すべき旨が代表ペアを示す参照リンクと共に「コメント」に示されている。
【００５８】
なお、結果レポートは、表示装置１０６に表示されてもよいし、プリンタから出力されてもよいし、ファイルとして補助記憶装置１０２等に記憶されてもよい。
【００５９】
図１１又は図１２等のような結果レポートによれば、複数の画面における共通的な差異について何度も重複して確認する作業を削減することができる。したがって、本実施の形態によれば、複数の画面の比較作業の効率化に寄与することができる。なお、本実施の形態によれば、環境間や画面間で、差異内容が同一である画面要素を含む画面が多くなるほど、確認作業の削減効果の拡大を期待することができる。
【００６０】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において特に言及されない点については、第１の実施の形態と同様でもよい。
【００６１】
第１の実施の形態では、矩形ペア群を矩形ペアグループへ分類する処理（図８のＳ３１０）において、画像同士の類似性を比較する代表的な手法であるｄＨａｓｈを活用すると、画面間の矩形ペア同士を総当りで比較する必要があるため、環境数や画面数が多くなるにつれて、比較回数が多くなってしまう。
【００６２】
そこで、第２の実施の形態では、アプリケーションの画面を構成するヘッダやメニュー等のレイアウト（表示位置）が同じになりやすい傾向に鑑み、正解画面及び比較画面のそれぞれを、複数の領域（以下、「分割領域」という。）に分割し、正解画面又は比較画面から抽出された各矩形領域（正解画面矩形又は比較画面矩形）を、当該矩形領域が属する領域に基づくグループ（以下、「領域グループ」という。）に分類する。矩形ペアグループを生成する際には、各矩形ペアに含まれる矩形領域との比較対象を、同一の領域グループに属する矩形ペアの矩形領域に絞り込むことで、比較回数を削減することができる。なお、複数の分割領域のうちの少なくとも一つは、複数の矩形領域（正解画面矩形又は比較画面矩形）を含む。また、各正解画面及び各比較画面のサイズが同じであれば、各正解画面及び各比較画面の分割の仕方は、全く同じでもよい。この場合、各分割領域の位置及び範囲は、絶対値によって指定されてもよい。一方、各正解画面及び各比較画面の間でサイズが多少異なる場合には、各分割領域の位置及び範囲は、割合によって指定されてもよい
具体的には、第２の実施の形態では、図８のステップＳ３１０の処理内容が、図１３に示される処理手順に置き換わる。
【００６３】
図１３は、第２の実施の形態における矩形ペア群の矩形ペアグループへの分類処理の処理手順の一例を説明するためのフローチャートである。
【００６４】
まず、矩形ペアグループ生成部１５は、矩形ペア群（各ペア情報に係る矩形ペア群を統合した矩形ペア群）に含まれる矩形ペアごとに、ステップＳ３１１及びＳ３１２を実行する。以下、処理対象の矩形ペアを「対象矩形ペア」という。
【００６５】
ステップＳ３１１において、矩形ペアグループ生成部１５は、対象矩形ペアの正解画面矩形を、当該正解画面矩形が属する正解画面に係る分割領域のうち、当該正解画面矩形を完全に含む分割領域に係る領域グループへ分類する。
【００６６】
図１４は、正解画面矩形の領域グループへの分類例を示す図である。図１４では、正解画面Ｖ又は正解画面Ｗが、４つの分割領域に分割される場合の分類例が示されている。図１４において「矩形ｘ」（ｘは、ａ〜ｐ）は、正解画面Ｖの正解画面矩形又は正解画面Ｗの正解画面矩形（すなわち、矩形領域）を示す。また、領域Ａは、上側の分割領域、領域Ｂは、下側の分割領域、領域Ｃは、左側の分割領域、領域Ｄは、右側の分割領域に相当する。
【００６７】
図１４の正解画面Ｖにおいて、領域Ａには、矩形ａ、ｂ及びｄのそれぞれが完全に含まれる。したがって、領域Ａに係る領域グループには、矩形ａ、ｂ及びｄが分類される。また、領域Ｂには、矩形ｇ、ｈ及びｉのそれぞれが完全に含まれる。したがって、領域Ｂに係る領域グループには、矩形ｇ、ｈ及びｉが分類される。また、領域Ｃには、矩形ｅ及びｃのそれぞれが完全に含まれる。したがって、領域Ｃに係る領域グループには、矩形ｅ及びｃが分類される。なお、矩形ｂも領域Ｃに完全に含まれるが、矩形ｂは、既に領域Ａに分類されているため、領域Ｃに係る領域グループには分類されない。すなわち、１つの矩形領域は、複数の領域グループには属さない。但し、１つの矩形領域は、複数の領域グループに属することが許容されてもよい。斯かる状態が許容されることで、共通であることが期待される矩形領域同士が異なる領域グループに所属することで、当該矩形領域同士が共通でないと判断されることを回避することができる。また、領域Ｄには、矩形ｆが完全に含まれる。したがって、領域Ｄに係る領域グループには、矩形ｆが分類される。
【００６８】
一方、正解画面Ｗにおいて、領域Ａには、矩形ｊ及びｋのそれぞれが完全に含まれる。したがって、領域Ａに係る領域グループには、矩形ｊ及びｋが分類される。また、領域Ｂには、矩形ｏ及びｐのそれぞれが完全に含まれる。したがって、領域Ｂに係る領域グループには、矩形ｏ及びｐが分類される。また、領域Ｃには、矩形ｌ及びｍのそれぞれが完全に含まれる。したがって、領域Ｃに係る領域グループには、矩形ｌ及びｍが分類される。また、領域Ｄには、矩形ｎが完全に含まれる。したがって、領域Ｄに係る領域グループには、矩形ｎが分類される。
【００６９】
対象矩形ペアの正解画面矩形が、いずれかの領域グループへ分類されると、当該正解画面矩形の分類先の領域グループの識別情報（以下、「領域名」という。）が付与される。
【００７０】
なお、図１４を用いて説明した分類方法によれば、いずれの領域にも完全には含まれず、いずれの領域グループにも分類されない正解画面矩形が発生する可能性が有るが、本実施の形態において斯かる可能性は許容される。但し、斯かる可能性を除去するために、各画面の分割領域の形状の異なりを許容すると共に、各分割領域の形状が長方形に限定されないようにしてもよい。すなわち、矩形領域の境界によって形成される領域が分割領域とされてもよい。
【００７１】
また、各分割領域の位置やサイズは、機械学習を活用することで、テストを重ねる度に変更してもよく、例えば、テスト回数の増加と共に、共通的な矩形領域が表示される領域を学習することで、アプリケーション毎に適した分割領域の数・位置・サイズが定義されてもよい。
【００７２】
ステップＳ３１２において、矩形ペアグループ生成部１５は、対象矩形ペアの比較画面矩形を、当該比較画面矩形が属する比較画面に係る分割領域のうち、当該比較画面矩形を完全に含む分割領域に係る領域グループへ分類する。その結果、対象矩形ペアの比較画面矩形には、当該比較画面矩形の分類先の領域グループの領域名が付与される。
【００７３】
続いて、矩形ペアグループ生成部１５は、領域グループごとに、ステップＳ３１３を実行する。以下、処理対象の領域グループを、以下「対象領域グループ」という。ステップＳ３１３において、矩形ペアグループ生成部１５は、正解画面矩形が対象領域グループに属する（対象領域グループの領域名が付与された）矩形ペア群を、正解画面矩形どうしの類似性に基づいて矩形ペアグループに分類する。例えば、矩形ペアグループ生成部１５は、各矩形ペアについて、正解画面矩形の特徴値を算出する。当該特徴値の算出には、ｄＨａｓｈ等が用いられてもよい。矩形ペアグループ生成部１５は、特徴値が一致する正解画面矩形が属する矩形ペアを同じ矩形ペアグループに分類する。なお、この際、分類のための比較対称は、同じ領域グループ（対象領域グループ）に属する正解画面矩形群に限られる。したがって、図１４の例によれば、領域Ａに関する比較回数は、３×２＝６回であり、領域Ｂに関する比較回数は、３×２＝６回であり、領域Ｃに関する比較回数は、２×２＝４回であり、領域Ｄに関する比較回数は、１×１＝１回である。よって、合計の比較回数は、６＋６＋４＋１＝１７回である。一方、第１の実施の形態であれば、９×７＝６３回の比較回数が必要とされる。
【００７４】
続いて、矩形ペアグループ生成部１５は、各領域グループに対するステップＳ３１３の実行により生成された矩形ペアグループごとに、ステップＳ３１４を実行する。以下、処理対象の矩形ペアグループを「対象ペアグループ」という。ステップＳ３１４において、矩形ペアグループ生成部１５は、対象ペアグループに属する矩形ペア群を、同じ領域グループに属する（同じ領域名が付与された）比較画面矩形どうしの類似性に基づいて矩形ペアグループに再分類する。再分類の結果、正解画面矩形どうし及び比較画面矩形どうしが類似する矩形ペアグループ群が生成される。なお、比較画面矩形どうしの類似性に基づく分類は、正解画面矩形どうしの類似性に基づく分類と同様の方法で行われてよい。また、この際、再分類のための比較対象は、同じ領域グループに属する比較画面矩形群に限られる。
【００７５】
なお、ステップＳ３１３、Ｓ３１４において、ｄＨａｓｈによる矩形領域の画像的内容の類似性を比較する前に、各正解画面矩形又は各比較画面矩形との比較対象を、所属する分割領域によって絞り込むだけでなく（或いは斯かる絞り込みの代わりに）、矩形サイズで分類し、サイズが明らかに異なる矩形領域を比較対象から除外するようにしてもよい。すなわち、サイズに基づくグループ化が行われてもよい。また、矩形領域（各正解画面矩形又は各比較画面矩形）の役割（用途及び機能等）（ボタンやテキストボックス等）等によって各矩形領域を分類しておくことで、役割の異なる矩形領域を比較対象から除外するようにしてもよい。すなわち、役割に基づくグループ化が行われてもよい。
【００７６】
上述したように、第２の実施の形態によれば、矩形ペア群を矩形ペアグループへグループ化する際、各矩形領域（正解画面矩形又は比較画面矩形）の表示位置に基づいて分割領域に分類することで、正解画面同士の全矩形領域（正解画面矩形）、比較画面同士の全矩形領域（比較画面矩形）を総当りで比較することなく、各領域グループ内に比較対象を限定することができる。その結果、比較回数を削減することができ、ひいては、テスト実行時間を短縮することができる。
【００７７】
なお、画面レイアウトが大幅に変更された場合には、グループ化したい矩形ペアが漏れてしまう可能性がある。そこで、領域グループに所属する矩形ペアが１つも存在しない等の場合は、総当りで矩形ペアの比較を行われるようにしてもよい。
【００７８】
なお、上記各実施の形態において、矩形ペア抽出部１３は、抽出部の一例である。マッチング判定部１４は、判定部の一例である。矩形ペアグループ生成部１５は、分類部及び付与部の一例である。レポート出力部１６は、出力部の一例である。正解画面は、第１の画面画像の一例である。比較画面は、第２の画面画像の一例である。代表ペアは、第１のペアの一例である。代表ペア以外の矩形ペアは、第２のペアの一例である。矩形ペアグループは、第１のグループの一例である。領域グループは、第２のグループの一例である。
【００７９】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８０】
１０          画面差異抽出装置
１１          画像入力部
１２          矩形抽出部
１３          矩形ペア抽出部
１４          マッチング判定部
１５          矩形ペアグループ生成部
１６          レポート出力部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
Ｂ            バス
【図１】
2019102042.tif 000003
【図２】
2019102042.tif 000004
【図３】
2019102042.tif 000005
【図４】
2019102042.tif 000006
【図５】
2019102042.tif 000007
【図６】
2019102042.tif 000008
【図７】
2019102042.tif 000009
【図８】
2019102042.tif 000010
【図９】
2019102042.tif 000011
【図１０】
2019102042.tif 000012
【図１１】
2019102042.tif 000013
【図１２】
2019102042.tif 000014
【図１３】
2019102042.tif 000015
【図１４】
2019102042.tif 000016