以下、図面に基づいて第1の実施の形態を説明する。図1は、第1の実施の形態における画面差異抽出装置10のハードウェア構成例を示す図である。図1の画面差異抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
画面差異抽出装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って画面差異抽出装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図2は、第1の実施の形態における画面差異抽出装置10の機能構成例を示す図である。図2において、画面差異抽出装置10は、画像入力部11、矩形抽出部12、矩形ペア抽出部13、マッチング判定部14、矩形ペアグループ生成部15及びレポート出力部16等を有する。これら各部は、画面差異抽出装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
以下、画面差異抽出装置10が実行する処理手順について説明する。図3は、画面差異抽出装置10が実行する処理手順の一例を説明するためのフローチャートである。
ステップS110において、画像入力部11は、ユーザによって指定されたフォルダ配下において、テスト対象の画面ごとに記憶されている、正解画面及び比較画面群を読み込み、正解画面ごとに、同一画面に係る比較画面とのペア情報のリストを生成する。
なお、正解画面とは、作成者の意図通りに画面が表示される環境(以下、「正解環境」という。)において当該画面が表示された結果を示す画像データ(以下、「画面画像」という。)をいう。比較画面とは、正解環境とは異なる環境(以下、「比較環境」という。)において表示された結果を示す画面画像をいう。環境は、例えば、画面を表示した端末の機種、OS(Operating System)、及びブラウザ等の組み合わせによって区別される。更に、ブラウザの表示サイズ別に環境が区別されてもよい。環境は、画面の表示条件の一例であるともいえる。なお、正解画面及び比較画面は、例えば、画面キャプチャ等によって取得されてもよい。
なお、画面とは、プログラムがコンピュータに表示させる画面をいう。画面は、アプリケーションプログラム等の画面であってもよいし、HTML(HyperText Markup Language)等によって記述された画面であってもよい。
図4は、フォルダ構成の一例を示す図である。図4には、環境ルートフォルダの下に、1つの正解環境フォルダと、2つの比較環境フォルダ(比較環境フォルダ(a)及び(b))が含まれている例が示されている。正解環境フォルダ及び各比較環境フォルダのそれぞれには、画像ファイルX及び画像ファイルYが格納されている。画像ファイルXは、画面Xの表示結果が画面キャプチャ等されることにより生成された画面画像を格納したファイルである。画像ファイルYは、画面Yの表示結果が画面キャプチャ等されることにより生成された画面画像を格納したファイルである。但し、正解環境フォルダの下の画像ファイルX及びYは、画面X又は画面Yに関する正解画面を格納した画像ファイルである。比較環境フォルダ(a)の下の画像ファイルX及びYは、環境(a)における画面X又は画面Yの表示結果を示す比較画面を格納した画像ファイルである。比較環境フォルダ(b)の下の画像ファイルX及びYは、環境(b)における画面X又は画面Yの表示結果を示す比較画面を格納した画像ファイルである。なお、図4に示したフォルダ及びファイルは、例えば、補助記憶装置102に記憶されている。
図4の例によれば、ステップS110では、正解環境フォルダの下の画像ファイルXに係る正解画面と、比較環境フォルダ(a)の下の画像ファイルXに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルYに係る正解画面と、比較環境フォルダ(a)の下の画像ファイルYに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルXに係る正解画面と、比較環境フォルダ(b)の下の画像ファイルXに係る正解画面とのペアと、正解環境フォルダの下の画像ファイルYに係る正解画面と、比較環境フォルダ(b)の下の画像ファイルYに係る正解画面とのペアとの4つのペアに関してペア情報が生成される。
なお、ペア情報は、正解画面情報、比較画面情報、矩形ペア群、及び矩形ペアの比較結果群等を含む。正解画面情報とは、正解画面の画面情報である。比較画面情報とは、比較画面の画面情報である。画面情報は、当該画面の画像ファイルと、当該画像ファイルのパス名とを含む情報である。矩形ペア群以降については、後述される。
続いて、画像入力部11は、結果レポート用の空のデータ領域を生成する(ステップS120)。なお、結果レポートは1以上のペア情報を含むデータである。
続くステップS130〜S160は、ステップS110において生成されたペア情報ごとに実行される。以下、処理対象とされているペア情報を、「対象ペア情報」という。
ステップS130において、矩形抽出部12は、非特許文献2又は特許文献1等の技術を用いて、対象ペア情報に係る正解画面及び対象ペア情報に係る比較画面のそれぞれについて、画面要素等の単位で矩形領域を抽出する(すなわち、各画面要素の領域を抽出する)。
図5は、矩形領域の抽出結果の一例を示す図である。図5において、1行目には、画面Xに関する正解画面(x)、比較画面(x1)及び比較画面(x2)のそれぞれについて抽出された各画面要素の矩形領域が示されている。2行目には、画面Yに関する正解画面(y)、比較画面(y1)及び比較画面(y2)のそれぞれについて抽出された各画面要素の矩形領域が示されている。
なお、図5では、便宜上、複数のペア情報に係る正解画面及び比較画面についての矩形領域の抽出結果が示されているが、対象ペア情報に係る正解画面及び比較画面が、正解画面(x)及び比較画面(x1)である場合には、ステップS130の1回の実行では、正解画面(x)及び比較画面(x1)のそれぞれについてのみ、矩形領域が抽出される。
なお、ここでいう矩形領域とは画面における長方形の領域を指しており、非特許文献2又は特許文献1ならば画面上の画面要素(ボタン、広告画像など)の大きさの領域となるが、別の技術を用いてより画面要素よりも大きめの領域が抽出されてもよい。
続いて、矩形ペア抽出部13は、正解画面から抽出された矩形領域(以下「正解画面矩形」という。)と、比較画面から抽出された矩形領域(以下「比較画面矩形」という。)とについて、対応関係にある矩形領域のペア(以下、「矩形ペア」という。)を全て抽出する(S140)。すなわち、1つの矩形ペアは、正解画面矩形と比較画面矩形とを一つずつ含む。なお、対応関係とは、例えば、所定のペアリング判定ルールに基づいて、最も類似度が高いと判定される関係をいう。類似度は、例えば、画素の一致率等によって評価されてもよい。なお、抽出された全ての矩形ペアの集合を「矩形ペア群」という。矩形ペア群は、対象ペア情報に付与される。
続いて、マッチング判定部14は、対象ペア情報の矩形ペア群に含まれる矩形ペアごとに、正解画面矩形と比較画面矩形と(すなわち、当該矩形ペアの画面要素間)のマッチング判定を行う(S150)。マッチング判定とは、矩形ペアに含まれる正解画面矩形と比較画面矩形とを、所定のマッチング判定ルールに基づいて比較し、差異の有無を判定することをいう。差異の有無は、マッチング判定ルールに基づく差異の有無をいい、実際に差異が有るか否かとは必ずしも一致しなくてもよい。例えば、マッチング判定ルールが、95%以上の画像が一致すれば差異が無いというルールであれば、完全一致でなくても差異が無いと判定されうる。マッチング判定の判定結果(差異有り/無し)の集合は、比較結果群として対象ペア情報に付与される。なお、ステップS130〜S150は、例えば、非特許文献2又は特許文献1に開示された方法を用いて実行されてもよい。
図6は、矩形ペアの対応関係及びマッチングの判定結果の一例を示す図である。図6において、(1)は、画面Xに関する正解画面(x)と比較画面(x1)とのペア、正解画面(x)と比較画面(x2)とのペアのそれぞれについての矩形領域の対応関係及びマッチングの判定結果を示す。(2)は、画面Yに関する正解画面(y)と比較画面(y1)とのペア、正解画面(y)と比較画面(y2)とのペアのそれぞれについての矩形領域の対応関係及びマッチングの判定結果を示す。
図6において、線によって接続されている矩形領域が対応関係を有する。すなわち、線によって接続された矩形領域が矩形ペアを構成する。また、各矩形領域に付与されている符号(アルファベット)は、矩形ペアに係る矩形領域の類似性を示す。同一の符号が付与されている矩形領域(例えば、正解画面(x)の矩形領域Cと比較画面(x1)の矩形領域C等)は、マッチング判定において差異が無いと判定された矩形領域を示す。
続いて、レポート出力部16は、結果レポートへ対象ペア情報を追加する(S160)。
ステップS130〜S160が、全てのペア情報について実行されると、矩形ペアグループ生成部15は、各ペア情報に含まれる矩形ペア群を統合した矩形ペア群について、矩形ペアグループ群の生成処理を実行する(S170)。矩形ペアグループについては後述される。
続いて、レポート出力部16は、生成された矩形ペアグループ群を結果レポートへ追加する(S180)。続いて、レポート出力部16は、結果レポートを出力する(S190)。
続いて、ステップS110の詳細について説明する。図7は、画面画像の入力処理の処理手順の一例を説明するためのフローチャートである。
ステップS210において、画像入力部11は、ユーザに指定された環境ルートフォルダを読み込む。続いて、画像入力部11は、環境ルートフォルダの下の正解環境フォルダを取得する(ステップS220)。例えば、正解環境フォルダのフォルダ名が予め決められており、当該フォルダ名に係るフォルダが取得されてもよい。
続いて、画像入力部11は、これから生成されるペア情報を格納するための空のリスト(以下、「ペアリスト」という。)を生成する(ステップS230)。続いて、画像入力部11は、正解環境フォルダに格納されている正解画面ごとに、ステップS240以降を実行する。ステップS240以降において処理対象とされている正解画面を、「対象正解画面」という。
ステップS240において、画像入力部11は、環境ルートフォルダの下に有る全ての比較環境フォルダ(以下、「比較環境フォルダ群」という。)を取得する。
続いて、画像入力部11は、取得された比較環境フォルダごとに、ステップS250及びS270を実行する。ステップS250及びS270において処理対象とされている比較環境フォルダを、「対象比較環境フォルダ」という。
ステップS250において、画像入力部11は、対象比較環境フォルダ内から対象正解画面に対応する比較画面を取得し、対象正解画面と当該比較画面とに対するペア情報を生成する。対象正解画面に対応する比較画面とは、対象正解画面が対応する画面と同じ画面に対応する比較画面をいう。例えば、画面が共通する画面画像は、同じファイル名のファイルに格納されていてもよい。そうすることで、正解画面に対応する比較画面を容易に特定することができる。
続いて、画像入力部11は、生成されたペア情報をペアリストに追加する(ステップS270)。
続いて、図3のステップS170の詳細について説明する。図8は、矩形ペアグループ群の生成処理の処理手順の一例を説明するためのフローチャートである。
ステップS310において、矩形ペアグループ生成部15は、矩形ペア群(各ペア情報に係る矩形ペア群を統合した矩形ペア群)を、矩形ペア間における正解画面矩形どうしの類似性と、比較画面矩形どうしの類似性との組に基づいて、複数のグループ(以下、「矩形ペアグループ」という。)に分類する。すなわち、正解画面矩形同士が類似し、比較画面矩形同士が類似する複数の矩形ペアは、同じグループに分類される。なお、各矩形ペアの矩形ペアグループへの分類は、ペア情報を跨って(換言すれば、図5における画面Xと画面Yとを跨って)、行われる。
例えば、矩形ペアグループ生成部15は、各矩形ペアについて、正解画面矩形の特徴値と比較画面矩形の特徴値とを算出する。その結果、各矩形ペアは、特徴値のペアに変換される。当該特徴値の算出には、dHash等が用いられてもよい。矩形ペアグループ生成部15は、特徴値のペアが一致する矩形ペアが同じ矩形ペアグループに属するように、矩形ペア群を分類する。
図9は、矩形ペアグループへの分類結果の一例を示す図である。図9において、「矩形」の列は、各矩形領域の識別子を示す。当該識別子は、「画面の種別(正解画面又は比較画面の名前)矩形領域」の形式を有する。例えば、「X(x)A」は、画面Xの正解画面(x)の矩形領域Aを示す。また、図9において「特徴値」は、対応する矩形領域の特徴値を便宜上、符号によって示したものであり、同じ符号は同じ特徴値を示す。
図9において、グループ1は、特徴値のペアが(d1,d2)のグループである。グループ2は、特徴値のペアが(d3,d4)のグループである。グループ3は、特徴値のペアが(d5,d6)のグループである。
なお、図9には、マッチング判定において、矩形領域同士が同一であると判定された矩形ペアは含まれていない。このような矩形ペアは、画面の差異の出力対象とする必要性が低いからである。したがって、矩形ペアグループ生成部15は、矩形ペア群の中から、マッチング判定で同一であると判定された矩形領域同士に係る矩形ペアを除去した後で、ステップS310を実行してもよい。
続いて、矩形ペアグループ生成部15は、矩形ペアグループ群に含まれる矩形グループごとに、ステップS320及びS330を実行する。以下、処理対象とされている矩形ペアグループを「対象矩形ペアグループ」という。
ステップS320において、矩形ペアグループ生成部15は、対象矩形ペアグループに含まれる矩形ペアのうちのいずれか一つを代表ペアとして選択する。代表ペアとして選択された矩形ペアに対しては、代表フラグが付与される。なお、代表ペアの選択方法は、所定の方法に限定されない。
続いて、矩形ペアグループ生成部15は、対象矩形ペアグループに含まれる矩形ペアのうち、代表ペア以外の矩形ペアについて、代表ペアに対する参照リンク(参照情報又はリンク情報)を付与する(S330)。当該参照リンクは、代表ペアを識別及び特定可能な情報であればどのようなものでもよい。
ステップS320及びS330が全ての矩形ペアグループについて実行されると、図8の処理は終了する。その結果、各矩形ペアグループについて、いずれかの矩形ペアに代表フラグが付与され、代表ペア以外の矩形ペアに代表ペアに対する参照リンクが付与される。
図10は、代表フラグ及び参照リンクの付与結果の一例を示す図である。図10では、図9に対して、「代表」及び「参照リンク」の列が追加されている。「代表」の列では、代表ペアに対して「1」が設定されている。「参照リンク」の列には、代表ペア以外の矩形ペアに対して代表ペアへの参照リンクが設定されている。
例えば、グループ1では、正解画面(x)の矩形領域Aと比較画面(x1)の矩形領域A'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。また、グループ2では、正解画面(x)の矩形領域Bと比較画面(x1)の矩形領域B'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。更に、グループ3では、正解画面(x)の矩形領域Cと比較画面(x2)の矩形領域C'との矩形ペアが代表ペアとして選択され、それ以外の矩形ペアには、当該代表ペアへの参照リンクが付与されている。
なお、グループ2及びグループ3に示されているように、画面Yに関する矩形ペアに対しても、画面Xに関する代表ペアへの参照リンクが付与されうる。
上述したステップS180では、図10に示すような情報が結果レポートに追加され、ステップS190において、レポート出力部16は、斯かる結果レポートを例えば以下のように出力する。
図11は、結果レポートの第1の出力例を示す図である。図11は、グループ2に関する結果レポートの例を示す。図11では、代表ペアについてのみマッチング判定の判定結果が示されており、代表ペア以外のペアについては、代表ペアと当該判定結果が同じであるため、確認対象外であることが示されている。また、代表ペアへの参照リンクも示されている。
また、図12は、結果レポートの第2の出力例を示す図である。図12では、ペア情報ごとに、当該ペア情報に係る各矩形ペアに関するマッチング判定の判定結果が「コメント」として出力される例が示されている。但し、代表ペア以外の矩形ペアについては、代表ペアを参照すべき旨が代表ペアを示す参照リンクと共に「コメント」に示されている。
なお、結果レポートは、表示装置106に表示されてもよいし、プリンタから出力されてもよいし、ファイルとして補助記憶装置102等に記憶されてもよい。
図11又は図12等のような結果レポートによれば、複数の画面における共通的な差異について何度も重複して確認する作業を削減することができる。したがって、本実施の形態によれば、複数の画面の比較作業の効率化に寄与することができる。なお、本実施の形態によれば、環境間や画面間で、差異内容が同一である画面要素を含む画面が多くなるほど、確認作業の削減効果の拡大を期待することができる。
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
第1の実施の形態では、矩形ペア群を矩形ペアグループへ分類する処理(図8のS310)において、画像同士の類似性を比較する代表的な手法であるdHashを活用すると、画面間の矩形ペア同士を総当りで比較する必要があるため、環境数や画面数が多くなるにつれて、比較回数が多くなってしまう。
そこで、第2の実施の形態では、アプリケーションの画面を構成するヘッダやメニュー等のレイアウト(表示位置)が同じになりやすい傾向に鑑み、正解画面及び比較画面のそれぞれを、複数の領域(以下、「分割領域」という。)に分割し、正解画面又は比較画面から抽出された各矩形領域(正解画面矩形又は比較画面矩形)を、当該矩形領域が属する領域に基づくグループ(以下、「領域グループ」という。)に分類する。矩形ペアグループを生成する際には、各矩形ペアに含まれる矩形領域との比較対象を、同一の領域グループに属する矩形ペアの矩形領域に絞り込むことで、比較回数を削減することができる。なお、複数の分割領域のうちの少なくとも一つは、複数の矩形領域(正解画面矩形又は比較画面矩形)を含む。また、各正解画面及び各比較画面のサイズが同じであれば、各正解画面及び各比較画面の分割の仕方は、全く同じでもよい。この場合、各分割領域の位置及び範囲は、絶対値によって指定されてもよい。一方、各正解画面及び各比較画面の間でサイズが多少異なる場合には、各分割領域の位置及び範囲は、割合によって指定されてもよい
具体的には、第2の実施の形態では、図8のステップS310の処理内容が、図13に示される処理手順に置き換わる。
図13は、第2の実施の形態における矩形ペア群の矩形ペアグループへの分類処理の処理手順の一例を説明するためのフローチャートである。
まず、矩形ペアグループ生成部15は、矩形ペア群(各ペア情報に係る矩形ペア群を統合した矩形ペア群)に含まれる矩形ペアごとに、ステップS311及びS312を実行する。以下、処理対象の矩形ペアを「対象矩形ペア」という。
ステップS311において、矩形ペアグループ生成部15は、対象矩形ペアの正解画面矩形を、当該正解画面矩形が属する正解画面に係る分割領域のうち、当該正解画面矩形を完全に含む分割領域に係る領域グループへ分類する。
図14は、正解画面矩形の領域グループへの分類例を示す図である。図14では、正解画面V又は正解画面Wが、4つの分割領域に分割される場合の分類例が示されている。図14において「矩形x」(xは、a〜p)は、正解画面Vの正解画面矩形又は正解画面Wの正解画面矩形(すなわち、矩形領域)を示す。また、領域Aは、上側の分割領域、領域Bは、下側の分割領域、領域Cは、左側の分割領域、領域Dは、右側の分割領域に相当する。
図14の正解画面Vにおいて、領域Aには、矩形a、b及びdのそれぞれが完全に含まれる。したがって、領域Aに係る領域グループには、矩形a、b及びdが分類される。また、領域Bには、矩形g、h及びiのそれぞれが完全に含まれる。したがって、領域Bに係る領域グループには、矩形g、h及びiが分類される。また、領域Cには、矩形e及びcのそれぞれが完全に含まれる。したがって、領域Cに係る領域グループには、矩形e及びcが分類される。なお、矩形bも領域Cに完全に含まれるが、矩形bは、既に領域Aに分類されているため、領域Cに係る領域グループには分類されない。すなわち、1つの矩形領域は、複数の領域グループには属さない。但し、1つの矩形領域は、複数の領域グループに属することが許容されてもよい。斯かる状態が許容されることで、共通であることが期待される矩形領域同士が異なる領域グループに所属することで、当該矩形領域同士が共通でないと判断されることを回避することができる。また、領域Dには、矩形fが完全に含まれる。したがって、領域Dに係る領域グループには、矩形fが分類される。
一方、正解画面Wにおいて、領域Aには、矩形j及びkのそれぞれが完全に含まれる。したがって、領域Aに係る領域グループには、矩形j及びkが分類される。また、領域Bには、矩形o及びpのそれぞれが完全に含まれる。したがって、領域Bに係る領域グループには、矩形o及びpが分類される。また、領域Cには、矩形l及びmのそれぞれが完全に含まれる。したがって、領域Cに係る領域グループには、矩形l及びmが分類される。また、領域Dには、矩形nが完全に含まれる。したがって、領域Dに係る領域グループには、矩形nが分類される。
対象矩形ペアの正解画面矩形が、いずれかの領域グループへ分類されると、当該正解画面矩形の分類先の領域グループの識別情報(以下、「領域名」という。)が付与される。
なお、図14を用いて説明した分類方法によれば、いずれの領域にも完全には含まれず、いずれの領域グループにも分類されない正解画面矩形が発生する可能性が有るが、本実施の形態において斯かる可能性は許容される。但し、斯かる可能性を除去するために、各画面の分割領域の形状の異なりを許容すると共に、各分割領域の形状が長方形に限定されないようにしてもよい。すなわち、矩形領域の境界によって形成される領域が分割領域とされてもよい。
また、各分割領域の位置やサイズは、機械学習を活用することで、テストを重ねる度に変更してもよく、例えば、テスト回数の増加と共に、共通的な矩形領域が表示される領域を学習することで、アプリケーション毎に適した分割領域の数・位置・サイズが定義されてもよい。
ステップS312において、矩形ペアグループ生成部15は、対象矩形ペアの比較画面矩形を、当該比較画面矩形が属する比較画面に係る分割領域のうち、当該比較画面矩形を完全に含む分割領域に係る領域グループへ分類する。その結果、対象矩形ペアの比較画面矩形には、当該比較画面矩形の分類先の領域グループの領域名が付与される。
続いて、矩形ペアグループ生成部15は、領域グループごとに、ステップS313を実行する。以下、処理対象の領域グループを、以下「対象領域グループ」という。ステップS313において、矩形ペアグループ生成部15は、正解画面矩形が対象領域グループに属する(対象領域グループの領域名が付与された)矩形ペア群を、正解画面矩形どうしの類似性に基づいて矩形ペアグループに分類する。例えば、矩形ペアグループ生成部15は、各矩形ペアについて、正解画面矩形の特徴値を算出する。当該特徴値の算出には、dHash等が用いられてもよい。矩形ペアグループ生成部15は、特徴値が一致する正解画面矩形が属する矩形ペアを同じ矩形ペアグループに分類する。なお、この際、分類のための比較対称は、同じ領域グループ(対象領域グループ)に属する正解画面矩形群に限られる。したがって、図14の例によれば、領域Aに関する比較回数は、3×2=6回であり、領域Bに関する比較回数は、3×2=6回であり、領域Cに関する比較回数は、2×2=4回であり、領域Dに関する比較回数は、1×1=1回である。よって、合計の比較回数は、6+6+4+1=17回である。一方、第1の実施の形態であれば、9×7=63回の比較回数が必要とされる。
続いて、矩形ペアグループ生成部15は、各領域グループに対するステップS313の実行により生成された矩形ペアグループごとに、ステップS314を実行する。以下、処理対象の矩形ペアグループを「対象ペアグループ」という。ステップS314において、矩形ペアグループ生成部15は、対象ペアグループに属する矩形ペア群を、同じ領域グループに属する(同じ領域名が付与された)比較画面矩形どうしの類似性に基づいて矩形ペアグループに再分類する。再分類の結果、正解画面矩形どうし及び比較画面矩形どうしが類似する矩形ペアグループ群が生成される。なお、比較画面矩形どうしの類似性に基づく分類は、正解画面矩形どうしの類似性に基づく分類と同様の方法で行われてよい。また、この際、再分類のための比較対象は、同じ領域グループに属する比較画面矩形群に限られる。
なお、ステップS313、S314において、dHashによる矩形領域の画像的内容の類似性を比較する前に、各正解画面矩形又は各比較画面矩形との比較対象を、所属する分割領域によって絞り込むだけでなく(或いは斯かる絞り込みの代わりに)、矩形サイズで分類し、サイズが明らかに異なる矩形領域を比較対象から除外するようにしてもよい。すなわち、サイズに基づくグループ化が行われてもよい。また、矩形領域(各正解画面矩形又は各比較画面矩形)の役割(用途及び機能等)(ボタンやテキストボックス等)等によって各矩形領域を分類しておくことで、役割の異なる矩形領域を比較対象から除外するようにしてもよい。すなわち、役割に基づくグループ化が行われてもよい。
上述したように、第2の実施の形態によれば、矩形ペア群を矩形ペアグループへグループ化する際、各矩形領域(正解画面矩形又は比較画面矩形)の表示位置に基づいて分割領域に分類することで、正解画面同士の全矩形領域(正解画面矩形)、比較画面同士の全矩形領域(比較画面矩形)を総当りで比較することなく、各領域グループ内に比較対象を限定することができる。その結果、比較回数を削減することができ、ひいては、テスト実行時間を短縮することができる。
なお、画面レイアウトが大幅に変更された場合には、グループ化したい矩形ペアが漏れてしまう可能性がある。そこで、領域グループに所属する矩形ペアが1つも存在しない等の場合は、総当りで矩形ペアの比較を行われるようにしてもよい。
なお、上記各実施の形態において、矩形ペア抽出部13は、抽出部の一例である。マッチング判定部14は、判定部の一例である。矩形ペアグループ生成部15は、分類部及び付与部の一例である。レポート出力部16は、出力部の一例である。正解画面は、第1の画面画像の一例である。比較画面は、第2の画面画像の一例である。代表ペアは、第1のペアの一例である。代表ペア以外の矩形ペアは、第2のペアの一例である。矩形ペアグループは、第1のグループの一例である。領域グループは、第2のグループの一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。