(57)【要約】【課題】画面の一部の領域を比較対象から適切に除去可能とすること。【解決手段】画面差異検出装置は、画面の第１の表示結果を示す第１の画像と前記画面の第２の表示結果を示す第２の画像との差異を検出する画面差異検出装置であって、前記第１の画像における一部の領域である第１の領域を特定する情報として、前記第１の画像に含まれる複数の画面要素矩形のうちのいずれか１以上の第１の画面要素矩形ごとに、当該第１の画面要素矩形を基準とした相対的な位置関係の指定をユーザから受け付ける受付部と、前記第２の画像において前記各第１の画面要素矩形に一致する各第２の画面要素矩形と、前記各第１の画面要素矩形ごとに指定された前記相対的な位置関係とに基づいて特定される第２の領域と、前記第１の画像における前記第１の領域とを、前記差異の検出対象又は検出対象外として、前記差異を検出する検出部と、を有することを特徴とする。【選択図】図３
2018160003.tif 000002
【特許請求の範囲】
【請求項１】
画面の第１の表示結果を示す第１の画像と前記画面の第２の表示結果を示す第２の画像との差異を検出する画面差異検出装置であって、
前記第１の画像における一部の領域である第１の領域を特定する情報として、前記第１の画像に含まれる複数の画面要素矩形のうちのいずれか１以上の第１の画面要素矩形ごとに、当該第１の画面要素矩形を基準とした相対的な位置関係の指定をユーザから受け付ける受付部と、
前記第２の画像において前記各第１の画面要素矩形に一致する各第２の画面要素矩形と、前記各第１の画面要素矩形ごとに指定された前記相対的な位置関係とに基づいて特定される第２の領域と、前記第１の画像における前記第１の領域とを、前記差異の検出対象又は検出対象外として、前記差異を検出する検出部と、
を有することを特徴とする画面差異検出装置。
【請求項２】
前記受付部は、１以上の前記第１の画面要素矩形ごとに当該第１の画面要素矩形を基準とした前記第１の領域の向きの指定をユーザから受け付ける、
ことを特徴とする請求項１記載の画面差異検出装置。
【請求項３】
前記受付部は、前記第１の画像に含まれる複数の画面要素矩形から相互に画像が重複する画面要素矩形が除かれた画面要素矩形の中から前記第１の画面要素矩形の指定を受け付ける、
ことを特徴とする請求項１又は２記載の画面差異検出装置。
【請求項４】
画面の第１の表示結果を示す第１の画像と前記画面の第２の表示結果を示す第２の画像との差異を検出する画面差異検出装置に、
前記第１の画像における一部の領域である第１の領域を特定する情報として、前記第１の画像に含まれる複数の画面要素矩形のうちのいずれか１以上の第１の画面要素矩形ごとに、当該第１の画面要素矩形を基準とした相対的な位置関係の指定をユーザから受け付ける受付手順と、
前記第２の画像において前記各第１の画面要素矩形に一致する各第２の画面要素矩形と、前記各第１の画面要素矩形ごとに指定された前記相対的な位置関係とに基づいて特定される第２の領域と、前記第１の画像における前記第１の領域とを、前記差異の検出対象又は検出対象外として、前記差異を検出する検出手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面差異検出装置及びプログラムに関する。
【背景技術】
【０００２】
複数の環境においてアプリケーションを動作させたときのＵＩ（画面）のレイアウト崩れの検出や、回帰テストにおけるデグレード検出などを目的に、アプリケーションの実行結果画面を対象として、正しく表示された画面（正解画面）の画像とテスト対象画面（比較画面）の画像とを比較することで、誤りの箇所を自動検出するツールが存在する。
【０００３】
画素単位の差異抽出ツール（例えば、非特許文献４）や技術（例えば、非特許文献１）では、正解画面と比較画面の差異を画素単位で比較しその差分を表示することができる。また、非特許文献２の技術では、正解画面と比較画面において画面間の差異をテキストボックス、ボタンなどといった画面要素の単位で抽出して表示することができる。
【０００４】
これらのツールは正解画面と比較画面のスクリーンショット画像のみを用意すれば活用することができるため、特定の実装技術（例：Ｗｅｂアプリケーション、ネイティブアプリケーション（Ｗｉｎｄｏｗｓ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標））、など）に依存することなく幅広く適用することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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月
【非特許文献３】桑井博之, 豊沢聡, 永田雅人，"実践OpenCV 2.4 for Python : 映像処理&解析", カットシステム, 2014 (ISBN = 9784877833466),P82-P83
【非特許文献４】DiffImage、［online］、インターネット＜URL：https://ja.osdn.net/projects/sfnet_diffimg/＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、コンシューマ向けにサービスを提供しているアプリケーションでは、広告やニュース記事など、画面を表示するたびにその内容が変わってしまう部分（以下、「動的変化領域」という。）が存在し、これらは画素単位の差異抽出ツールや、非特許文献１、２の技術では、全て差異として検出されてしまう。その結果、１つの画面に対して多くの差異が検出されてしまい、本来発見したいＵＩレイアウト崩れや、回帰テストにおけるデグレードの検出が困難になる。
【０００７】
この課題を解決するため、非特許文献１、２における２つの画面の差異比較の際に、非特許文献３に示されているように、差異を検出する必要がない領域群をマスク画像として別途用意し、このマスク画像を用いて動的変化領域を差異比較の対象から除外し、差異として検出されないようにする方法も考えられる。
【０００８】
しかし、マスク領域を構成する各画素は絶対座標により指定されるため、この方法によれば、動的変化領域の大きさが毎回変わる場合や、ソフトウェアの修正等により画面構成に変更があり動的変化領域の位置がずれた場合に、適切に動的変化領域を比較対象外（差異の検出対象外）とすることができなくなるという問題が生じる。
【０００９】
図１は、従来技術の問題点を説明するための図である。図１の（１）には、正解画面ｇ１００及びマスク画像ｇ２００が示されている。マスク画像ｇ２００は、正解画面ｇ１００における「★広告」の領域を差異比較の対象から除外するためのマスク画像である。
【００１０】
（２）には、「★広告」の領域の大きさが変化した比較画面ｇ１１０が示されている。この場合、マスク画像ｇ２００では、比較画面ｇ１１０の「★広告」の領域を適切に除外するのが困難である。
【００１１】
（３）には、ソフトウェア修正により「リンク集」の領域が大きくなり、「★広告」の位置がずれた比較画面ｇ１２０が示されている。この場合においても、マスク画像ｇ２００では、比較画面ｇ１２０の「★広告」の領域を適切に除外するのが困難である。
【００１２】
本発明は、上記の点に鑑みてなされたものであって、画面の一部の領域を比較対象から適切に除去可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
そこで上記課題を解決するため、画面差異検出装置は、画面の第１の表示結果を示す第１の画像と前記画面の第２の表示結果を示す第２の画像との差異を検出する画面差異検出装置であって、前記第１の画像における一部の領域である第１の領域を特定する情報として、前記第１の画像に含まれる複数の画面要素矩形のうちのいずれか１以上の第１の画面要素矩形ごとに、当該第１の画面要素矩形を基準とした相対的な位置関係の指定をユーザから受け付ける受付部と、前記第２の画像において前記各第１の画面要素矩形に一致する各第２の画面要素矩形と、前記各第１の画面要素矩形ごとに指定された前記相対的な位置関係とに基づいて特定される第２の領域と、前記第１の画像における前記第１の領域とを、前記差異の検出対象又は検出対象外として、前記差異を検出する検出部と、を有することを特徴とする。
【発明の効果】
【００１４】
画面の一部の領域を比較対象から適切に除去可能とすることができる。
【図面の簡単な説明】
【００１５】
【図１】従来技術の問題点を説明するための図である。
【図２】本発明の実施の形態における画面差異検出装置１０のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における画面差異検出装置１０の機能構成例を示す図である。
【図４】指定領域の向きを説明するための図である。
【図５】画面差異検出装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図６】結果レポートのデータ構造の一例を示す図である。
【図７】ランドマーク候補の抽出処理の処理手順の一例を説明するためのフローチャートである。
【図８】テスト対象領域の指定処理の処理手順の一例を説明するためのフローチャートである。
【図９】テスト対象領域情報のデータ構造の一例を示す図である。
【図１０】テスト対象領域における差異の検出処理の処理手順の一例を説明するためのフローチャートである。
【図１１】テスト対象領域外の画面要素矩形の除去処理の処理手順の一例を説明するためのフローチャートである。
【図１２】本実施の形態の効果の一例を具体的に説明するための図である。
【図１３】本実施の形態の効果の一例を具体的に説明するための図である。
【発明を実施するための形態】
【００１６】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、本発明の実施の形態における画面差異検出装置１０のハードウェア構成例を示す図である。図２の画面差異検出装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００１７】
画面差異検出装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って画面差異検出装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００１９】
図３は、本発明の実施の形態における画面差異検出装置１０の機能構成例を示す図である。図３において、画面差異検出装置１０は、画像入力部１１、ランドマーク候補抽出部１２、テスト対象領域指定部１３、画面差異検出部１４及びレポート出力部１５等を有する。これら各部は、画面差異検出装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００２０】
画像入力部１１は、ユーザによって指定されたフォルダから、テスト対象の画面ごとに、正解画面と、１以上の比較画面との組（ペア）を読み込む。１つの正解画面に対して複数の比較画面が存在してもよい。画像入力部１１は、また、正解画面と比較画面とのペアを生成する。１つのペアには、１つの正解画面と１つの比較画面とが含まれる。同じ正解画面に対して複数の比較画面が有る場合、比較画面ごとに同一の正解画面とのペアが生成される。
【００２１】
なお、正解画面とは、例えば、作成者の意図通りに画面が表示される環境（以下、「正解環境」という。）において当該画面の表示結果を示す画像データ（以下、「画面画像」という。）をいう。比較画面とは、例えば、正解環境とは異なる環境（以下、「比較環境」という。）において当該画面の表示結果を示す画面画像をいう。環境は、例えば、画面を表示した端末の機種、ＯＳ（Operating System）、及びブラウザ等の組み合わせによって区別される。更に、ブラウザの表示サイズ別に環境が区別されてもよい。環境は、画面の表示条件の一例であるともいえる。なお、正解画面及び比較画面は、例えば、画面キャプチャ等によって取得されてもよい。
【００２２】
なお、画面とは、プログラムがコンピュータに表示させる画面をいう。画面は、アプリケーションプログラム等の画面であってもよいし、ＨＴＭＬ（HyperText Markup Language）等によって記述された画面であってもよい。
【００２３】
ランドマーク候補抽出部１２は、正解画面から重複なく一意に特定できる画面要素矩形を抽出する。画面要素矩形とは、画面の構成要素の矩形領域をいう。本実施の形態では、当該画面要素矩形が、ランドマーク矩形の候補（以下、「ランドマーク候補」という。）とされる。ランドマーク矩形とは、テスト（比較）の対象又はテストの除外対象とする一部の領域（以下、「指定領域」という。）を特定するために目印又は基準となる矩形領域をいう。ランドマーク矩形は、少なくとも正解画面に存在し、かつ、一意に特定できる矩形（画面要素）であり、複数存在しうる。本実施の形態では、ランドマーク候補抽出部１２によって抽出された画面要素矩形の中からユーザによって選択される複数のランドマーク矩形で囲まれた指定領域（指定領域は正解画面、比較画面の両方で存在する）が除外領域とされる。より具体的には、本実施の形態では、「ランドマーク矩形と、当該ランドマーク矩形を基準とした相対的な方向（以下、「指定領域の向き」という。）」の複数の組み合わせによって、除外対象とする領域が指定される。
【００２４】
図４は、指定領域の向きを説明するための図である。図４の上段には、指定領域の向きの定義が示されている。指定領域の向きは、ランドマーク矩形を基準として、左上、上、右上、右、右下、下、左下、左の１以上の組み合わせによって指定される。
【００２５】
図４の（１）には、ランドマーク矩形の「右上、右、右下」が指定領域の向きとして指定された場合の指定領域の範囲が網掛けによって示されている。
【００２６】
図４の（２）には、ランドマーク矩形の「右上、右」が指定領域の向きとして指定された場合の指定領域の範囲が網掛けによって示されている。
【００２７】
図４の（３）には、ランドマーク矩形の「右」が指定領域の向きとして指定された場合の指定領域の範囲が網掛けによって示されている。
【００２８】
なお、（１）、（２）及び（３）において、外周の矩形は、画面の範囲を示す。
【００２９】
このようなランドマーク矩形と、それぞれのランドマーク矩形における指定領域の向きとの複数の組が指定されることにより、これらのランドマーク矩形に囲まれた領域（又はこれらの組によって特定される領域が重畳する領域）が指定領域として特定される。
【００３０】
テスト対象領域指定部１３は、ランドマーク矩形とするランドマーク候補の選択をユーザから受け付けると共に、ランドマーク矩形ごとに、指定領域の向きの指定をユーザから受け付ける。
【００３１】
画面差異検出部１４は、正解画面と比較画面との差異を検出する。この際、画面差異検出部１４は、各ランドマーク矩形と、ランドマーク矩形ごとに指定された指定領域の向きとによって特定される１以上の指定領域を、テスト対象領域又はテスト対象領域外として、当該差異を検出する。テスト対象領域とは、比較対象とされる領域（すなわち、差異の検出対象領域）をいう。
【００３２】
レポート出力部１５は、正解画面と比較画面との差異の検出結果等を出力する。
【００３３】
以下、画面差異検出装置１０が実行する処理手順について説明する。図５は、画面差異検出装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００３４】
ステップＳ１１０において、画像入力部１１は、ユーザによって指定されたフォルダ配下において、テスト対象の画面ごとに記憶されている、正解画面群及び比較画面群を読み込み、正解画面と比較画面とのペアを生成する。
【００３５】
続いて、画像入力部１１は、空の結果レポートを作成する（Ｓ１２０）。
【００３６】
図６は、結果レポートのデータ構造の一例を示す図である。図６では、結果レポートのデータ構造の一例（構成例）が、ＢＮＦ（Backus-Naur Form）によって記述されている。
【００３７】
図６に示されるように、結果レポートは、正解画面と比較画面とのペアごとに、正解画面及び比較画面と、画面差異リストとを含む情報である。画面差異リストは、当該正解画面及び当該比較画面との画面差異の０以上の集合である。画面差異は、差異種別、変異値、正解画面要素矩形、比較画面要素矩形を含む情報である。差異種別は、差異の種別であり、その値は、「差異無し」、「Ｘ軸方向移動」、「Ｙ軸方向移動」、「拡縮」、「消失」、又は「追加」である。変異値は、差異種別に係る差異の大きさを示す値である。正解画面要素矩形は、正解画面において差異に係る画面要素矩形である。比較画面要素矩形は、比較画面において差異に係る画面要素矩形である。すなわち、差異は、画面要素矩形の単位で検出される。
【００３８】
また、正解画面には、正解画面の画面情報の他に、ランドマーク候補群及びテスト対象領域情報が設定可能である。ランドマーク候補群は、ランドマーク候補となる画面要素矩形の１以上の集合である。
【００３９】
続いて、正解画面と比較画面とのペアごとに、ステップＳ１３０〜Ｓ１６０が実行される。以下、処理対象とされているペアを「対象ペア」という。
【００４０】
ステップＳ１３０において、ランドマーク候補抽出部１２は、対象ペアの正解画面（以下、「対象正解画面」という。）からランドマーク候補を抽出する
続いて、テスト対象領域指定部１３は、対象正解画面から抽出されたランドマーク矩形に基づいて、テスト対象領域の指定をユーザから受け付ける（Ｓ１４０）。テスト対象領域とは、対象ペアにおいて比較対象とされる領域をいう。
【００４１】
続いて、画面差異検出部１４は、対象ペアに係る正解画面と比較画面とについて、テスト対象領域における差異を全て検出（抽出）する（Ｓ１５０）。すなわち、対象ペアに関する画面差異リストが生成され、当該画面差異リストが結果レポートに追加される。
【００４２】
続いて、画面差異検出部１４は、対象ペアに係る正解画面及び比較画面を結果レポートへ追加する（Ｓ１６０）。
【００４３】
ステップＳ１３０〜Ｓ１６０が全てのペアについて実行されると、レポート出力部１５は、結果レポートの内容を出力する（Ｓ１７０）。
【００４４】
続いて、ステップＳ１３０の詳細について説明する。図７は、ランドマーク候補の抽出処理の処理手順の一例を説明するためのフローチャートである。
【００４５】
ステップＳ２１０において、ランドマーク候補抽出部１２は、対象正解画面に対してテスト対象領域情報が既に設定されているか否かを判定する。対象正解画面に対してテスト対象領域情報が既に設定されている場合（Ｓ２１０でＹｅｓ）、当該処理手順は終了する。例えば、１つの正解画面に対して、比較画面が３つである場合、３つのペアが生成されるが、２つ目以降のペアについて、ステップＳ３２０以降が実行されるのは処理効率が良くない。ステップＳ３１０における分岐は、正解画面を同じくする２つ目以降のペアについての重複処理を回避するためのものである。
【００４６】
対象正解画面に対してテスト対象領域情報が設定されていない場合（Ｓ２１０でＮｏ）、ランドマーク候補抽出部１２は、対象正解画面から、全ての画面要素矩形を抽出して、画面要素矩形リストを得る（Ｓ２２０）。なお、画面要素矩形の抽出は、公知技術を組み合わせることで実現可能である。例えば、画像に対して、グレースケール化、Ｃａｎｎｙ処理、膨張処理、輪郭抽出、矩形変換（輪郭の外接矩形を求め、そこから矩形を抽出）といった手順を実行することで、画面要素矩形が抽出されてもよい。なお、画面要素矩形は、当該矩形領域の左上座標（整数２次元座標点）及び当該矩形領域の右下座標（整数２次元座標点）によって表現される情報である。
【００４７】
続いて、ランドマーク候補抽出部１２は、画面要素矩形リストにおいて相互に画像が重複している画面要素矩形を画面要素矩形リストから除去する（Ｓ２３０）。例えば、画面要素矩形リストにおいて、画面要素矩形ａと画面要素矩形ｂとの画像が重複している場合、画面要素矩形ａ及び画面要素矩形ｂの双方が、画面要素矩形リストから除去される。他の画面要素矩形と画像が重複している画面要素矩形は、一意性がなく、ランドマーク矩形になりえないためである。画像が重複しているとは、画像が完全に一致することをいう。例えば、同じアイコンが複数配列されているＷｅｂページの画面において、これらのそれぞれのアイコンに係る画面要素矩形は重複する。
【００４８】
なお、重複なく一意に特定できる画面要素矩形が正解画面からランドマーク候補として抽出されることで、図５のステップＳ１４０ではユーザがその中からランドマーク候補を選びテスト対象領域を指定することができ、そのことによって図５のステップＳ１５０においは正解画面、比較画面においてテスト対象領域（又は除外する領域）を一意に決定することが容易となる。
【００４９】
続いて、ランドマーク候補抽出部１２は、重複が除去された画面要素矩形リストを、ランドマーク候補群として対象正解画面に設定する（Ｓ２４０）。
【００５０】
続いて、図５のステップＳ１４０の詳細について説明する。図８は、テスト対象領域の指定処理の処理手順の一例を説明するためのフローチャートである。
【００５１】
ステップＳ３１０において、テスト対象領域指定部１３は、対象正解画面に対してテスト対象領域情報が既に設定されているか否かを判定する。当該判定の趣旨は、ステップＳ２１０と同じである。対象正解画面に対してテスト対象領域情報が設定されていない場合（Ｓ３１０でＮｏ）、テスト対象領域指定部１３は、対象正解画面に設定されているランドマーク候補群を取得する（Ｓ３２０）。
【００５２】
続いて、テスト対象領域指定部１３は、空のテスト対象領域情報を作成し、当該テスト対象領域情報を対象正解画面に設定する（Ｓ３３０）。
【００５３】
図９は、テスト対象領域情報のデータ構造の一例を示す図である。図９では、テスト対象領域情報のデータ構造の一例（構成例）が、ＢＮＦによって記述されている。
【００５４】
図９に示されるように、テスト対象領域情報は、領域除外種別と指定領域情報群とを含む情報である。領域除外種別とは、指定領域情報群によって特定される指定領域が、テスト対象から除外される領域であるのか、テスト対象とされる領域であるのかを区別する情報をいい、「指定された領域を除外」又は「指定されていない領域を除外」の値をとりうる。
【００５５】
指定領域情報群は、０以上の指定領域情報である。１つの指定領域情報は、１つの指定領域を示す情報であり、１以上の指定領域特定情報の集合によって表現される。１つの指定領域特定情報は、１つのランドマーク矩形と、１つの指定領域の向きとの組である。すなわち、指定領域情報は、ランドマーク矩形及び指定領域の向きの組み合わせによって１つの指定領域を特定する情報である。指定領域の向きは、図４において説明したように、左上、上、右上、右、右下、下、左下、左の１以上の組み合わせである。
【００５６】
続いて、テスト対象領域指定部１３は、領域除外種別の入力をユーザから受け付ける（Ｓ３４０）。テスト対象領域指定部１３は、受け付けた領域除外種別を、テスト対象領域情報に設定する。なお、領域除外種別は、予め設定され、補助記憶装置１０２に記憶されていてもよい。領域除外種別の指定が可能とされることにより、柔軟にテスト対象領域を設定することが可能となる。すなわち、テスト対象領域の指定方法のバリエーションを増加させることができる。
【００５７】
続いて、テスト対象領域指定部１３は、対象正解画面に設定されているランドマーク候補群をユーザに提示する（Ｓ３５０）。例えば、対象正解画面において、各ランドマーク候補の範囲がハイライト表示された画像が表示装置１０６に表示されてもよい。
【００５８】
続く、ステップＳ３６０〜Ｓ４００のループ処理は、ユーザが指定領域として指定しようとする領域ごとに実行される。したがって、当該ループ処理は、ユーザの任意によって終了する。以下、処理対象とされている指定領域を「対象指定領域」という。
【００５９】
ステップＳ３６０において、テスト対象領域指定部１３は、対象指定領域に対する指定領域情報を作成する。
【００６０】
続く、ステップＳ３７０〜Ｓ３９０は、対象指定領域を特定するためにユーザが指定しようとする指定領域特定情報ごとのループ処理である。当該ループ処理は、ステップＳ３５０において提示されたランドマーク候補群のうち、ユーザによってランドマーク矩形として選択されるランドマーク候補ごとのループ処理であるともいえる。
【００６１】
ステップＳ３７０において、テスト対象領域指定部１３は、ランドマーク候補群の中からランドマーク矩形とするランドマーク候補の選択をユーザから受け付ける。当該選択に応じ、テスト対象領域指定部１３は、新規の指定領域特定情報を作成し、選択されたランドマーク矩形（以下、「対象ランドマーク矩形」という。）を当該指定領域特定情報（以下、「対象指定領域特定情報」という。）に設定する。なお、指定領域特定情報は、上述したように、ランドマーク矩形と指定領域の向きとの組である。この時点において、新規の指定領域特定情報の指定領域の向きは、不定である。
【００６２】
続いて、テスト対象領域指定部１３は、対象ランドマーク矩形に対する指定領域の向きの選択をユーザから受け付ける（Ｓ３８０）。例えば、図４において説明したように、対象ランドマークに対する指定領域の向きがユーザによって選択される。テスト対象領域指定部１３は、選択された指定領域の向きを、対象指定領域特定情報に設定する。
【００６３】
続いて、テスト対象領域指定部１３は、対象指定領域特定情報を、対象指定領域に対応する指定領域情報（ステップＳ３６０において作成された指定領域情報）に追加する（Ｓ３９０）。
【００６４】
対象指定領域を特定するための指定領域特定情報の入力の終了がユーザによって指示されると、対象指定領域に関してステップＳ３７０〜Ｓ３９０のループ処理は終了する。
【００６５】
続いて、テスト対象領域指定部１３は、対象指定領域に対応する指定領域情報を、テスト対象指定領域情報の指定領域情報群に追加する（Ｓ４００）。
【００６６】
ステップＳ３６０〜Ｓ４００は、ユーザによって指定領域の指定の終了が指示されるまで繰り返し実行される。
【００６７】
続いて、図５のステップＳ１５０の詳細について説明する。図１０は、テスト対象領域における差異の検出処理の処理手順の一例を説明するためのフローチャートである。
【００６８】
ステップＳ４１０において、画面差異検出部１４は、対象正解画面から画面要素矩形を抽出する。当該画面要素矩形の抽出は、図７のステップＳ２２０と同じ方法に基づいて行われてよい。その結果、正解画面における画面要素矩形リストが得られる。
【００６９】
続いて、画面差異検出部１４は、当該画面要素矩形リストの中から、テスト対象領域外の画面要素矩形を除去する（Ｓ４２０）。これにより、テスト対象として確認する必要のある差異のみを抽出することが可能となる。
【００７０】
続いて、画面差異検出部１４は、対象ペアに係る比較画面について、ステップＳ４１０及びＳ４２０を実行する（Ｓ４３０）。
【００７１】
続いて、画面差異検出部１４は、対象ペアに係る正解画面及び比較画面について、テスト対象領域のみの差異を検出する（Ｓ４４０）。具体的には、画面差異検出部１４は、正解画面、比較画面のそれぞれの画面要素矩形リスト（テスト対象領域外の画面要素矩形が除外された画面要素矩形リスト）に含まれる画面要素矩形のみを対象として比較することで、当該正解画面及び当該比較画面における差異を検出（抽出）する。斯かる差異の検出（抽出）には、例えば、非特許文献２に開示された技術等、公知の技術を用いることができる。検出された差異のリストである画面差異リストは、結果レポートに設定される。
【００７２】
続いて、図１０のステップＳ４２０の詳細について説明する。図１１は、テスト対象領域外の画面要素矩形の除去処理の処理手順の一例を説明するためのフローチャートである。なお、図１１の処理手順が呼び出される時点において処理対象とされている画面（正解画面又は比較画面）を「対象画面」という。
【００７３】
ステップＳ５１０〜Ｓ５４０は、対象画面の画面要素矩形リストに含まれている画面要素矩形ごとに、対象正解画面に設定されているテスト対象領域情報に含まれている指定領域情報の指定領域情報群に含まれている各指定領域情報について実行される。以下処理対象の画面要素矩形を「対象矩形」といい、処理対象の指定領域情報を、「対象指定領域情報」という。
【００７４】
また、ステップＳ５１０は、対象指定領域情報に含まれる各指定領域特定情報のランドマーク矩形ごとに実行される。以下、ステップＳ５１０において処理対象とされているランドマーク矩形を、「対象ランドマーク矩形」という。
【００７５】
ステップＳ５１０において、画面差異検出部１４は、対象画面において対象ランドマーク矩形に一致する画面要素矩形を特定する。対象ランドマーク矩形に一致する画面要素矩形は、例えば、テンプレートマッチング等により検索して得ることができる。なお、ここで特定された矩形を、「実ランドマーク矩形」という。
【００７６】
全てのランドマーク矩形について対象画面における実ランドマーク矩形が特定されると、画面差異検出部１４は、テスト対象領域情報に含まれている領域除外種別によって処理を分岐させる（Ｓ５２０）。当該領域除外種別が「指定された領域を除外」である場合、画面差異検出部１４は、対象矩形が、指定領域に含まれれば、対象矩形を対象画面の画面要素矩形リストから除去する（Ｓ５３０）。なお、指定領域は、対象指定領域情報の各指定領域特定情報のランドマーク矩形が、当該ランドマーク矩形についてステップＳ５１０において特定された実ランドマーク矩形によって置換されることにより特定される領域をいう。すなわち、対象指定領域情報の各指定領域特定情報のランドマーク矩形がそれぞれに対応する実ランドマーク矩形によって置換された状態において、実ランドマーク矩形ごとに当該実ランドマーク矩形に対応する指定領域の向きに係る領域が特定される。対象指定領域情報の全ての指定領域特定情報について特定された領域が重複する（重なり合う）領域が、指定領域である。例えば、図４の下の段の（１）、（２）、（３）が、対象指定領域情報に含まれる各指定領域特定情報である場合、（１）、（２）、（３）のそれぞれの網かけ部分の重複領域が、指定領域である。
【００７７】
一方、当該領域除外種別が「指定されていない領域を除外」である場合、画面差異検出部１４は、対象矩形が当該指定領域に含まれていなければ、対象矩形を対象画面の画面要素矩形リストから除去する（Ｓ５４０）。
【００７８】
なお、上記においては、重複しない画面要素矩形がランドマーク候補（ランドマーク矩形）とされる例について説明したが、同じ画像に係る画面要素矩形がランドマーク矩形とされてもよい。すなわち、図７のステップＳ２３０が実行されないようにしてもよい。この場合、画面要素矩形の相対的な位置関係に基づいて、それぞれの一意性が確保されるようにしてもよい。例えば、同じ画像に係る３つの画面要素矩形が正解画面から抽出された場合において、これらの配置位置において上下関係が明確であれば、３つの画面要素矩形（ランドマーク矩形）について、上、中、下の識別情報を付加する。比較画面からのランドマーク矩形に一致する画面要素矩形の抽出に際しては、これらの３つのランドマーク矩形の相対的な位置関係に基づいて、それぞれに対応する画面要素矩形が抽出されればよい。
【００７９】
上述したように、本実施の形態によれば、除外対象とされる領域又はテスト対象とされる領域である指定領域が、ランドマーク矩形を基準とした相対的な位置関係により表現される。したがって、画面を表示するたびにその内容が変わってしまうような動的変化領域の大きさや位置に変更があった場合でも、ランドマーク矩形との相対的な位置関係が保たれていれば適切に動的変化領域を特定することができる。その結果、画面の一部の領域を比較対象から適切に除去可能とすることができる。
【００８０】
図１２及び図１３は、本実施の形態の効果の一例を具体的に説明するための図である。図１２では、「★広告」の領域を指定領域とするために、テスト対象領域情報ｄ１が生成された例が示されている。
【００８１】
この場合、図１３（１）に示されるように、「★広告」の領域の大きさが変化した比較画面ｇ１１０においても、テスト対象領域情報ｄ１に基づいて、指定領域である「★広告」の領域を精度良く特定することができる。
【００８２】
また、図１３（２）に示されるように、「★広告」の位置がずれた比較画面ｇ１２０においても、テスト対象領域情報ｄ１に基づいて、指定領域である「★広告」の領域を精度良く特定することができる。
【００８３】
したがって、比較画面ｇ１１０及び比較画面ｇ１２０のいずれにおいても、例えば、「★広告」の領域を容易に比較対象から除外することができる。
【００８４】
なお、本実施の形態において、テスト対象領域指定部１３は、受付部の一例である。画面差異検出部１４は、検出部の一例である。正解画面は、第１の表示結果を示す第１の画像の一例である。比較画面は、第２の表示結果を示す第２の画像の一例である。指定領域は、第１の領域及び第２の領域の一例である。ランドマーク矩形は、第１の画面要素矩形及び第２の画面要素矩形の一例である。
【００８５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８６】
１０          画面差異検出装置
１１          画像入力部
１２          ランドマーク候補抽出部
１３          テスト対象領域指定部
１４          画面差異検出部
１５          レポート出力部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
Ｂ            バス
【図１】
2018160003.tif 000003
【図２】
2018160003.tif 000004
【図３】
2018160003.tif 000005
【図４】
2018160003.tif 000006
【図５】
2018160003.tif 000007
【図６】
2018160003.tif 000008
【図７】
2018160003.tif 000009
【図８】
2018160003.tif 000010
【図９】
2018160003.tif 000011
【図１０】
2018160003.tif 000012
【図１１】
2018160003.tif 000013
【図１２】
2018160003.tif 000014
【図１３】
2018160003.tif 000015