(57)【要約】      （修正有）【課題】プログラムの検証テストを行うための検証不要領域の設定を簡易に行えるテスト支援方法を提供する。【解決手段】コンピュータ１０の制御部１１は、以下の処理を実行する。第１実行条件で第１のプログラムを実行した実行結果として出力される結果画面を画像化した第１態様の結果画像２０を取得する。第２実行条件で第２のプログラムを実行した実行結果として出力される結果画面を画像化した第２態様の結果画像３０を取得する。第１態様の結果画像と第２態様の結果画像とを比較して、相違箇所を検出する。制御部は、所定規則に基づいて、検出した相違箇所から検証テストにおいて検証不要とする領域の候補である候補領域を特定する。第１態様の結果画像と第２態様の結果画像と候補領域とに基づいて、候補領域を特定可能な態様とした第３態様の結果画像４０を表示部に表示させ、検証テストにおいて検証不要とする領域である検証不要領域の設定を受け付ける。【選択図】図１
2020052861.tif 000002
【特許請求の範囲】
【請求項１】
所定実行条件において実行した実行結果として結果画面を出力するプログラムに対する検証テストのテスト支援方法であって、
コンピュータが、
第１実行条件で第１のプログラムを実行した実行結果として出力される結果画面を画像化した第１態様の結果画像を取得し、
第２実行条件で第２のプログラムを実行した実行結果として出力される結果画面を画像化した第２態様の結果画像を取得し、
前記第１態様の結果画像と前記第２態様の結果画像とを比較して、相違箇所を検出し、
所定規則に基づいて、検出した前記相違箇所から前記検証テストにおいて検証不要とする領域の候補である候補領域を特定し、
前記第１態様の結果画像と前記第２態様の結果画像と前記候補領域とに基づいて、前記候補領域を特定可能な態様とした第３態様の結果画像を表示部に表示させ、前記検証テストにおいて検証不要とする領域である検証不要領域の設定を受け付ける、
テスト支援方法。
【請求項２】
前記コンピュータは、
前記所定規則として、前記第１態様の結果画像を表示するための画面定義ファイルに前記相違箇所に関連するレイアウト定義文が含まれるか否かを判定し、
前記レイアウト定義文が前記画面定義ファイルに含まれる場合、前記レイアウト定義文で定義される領域を前記候補領域として特定し、
前記レイアウト定義文が前記画面定義ファイルに含まれない場合、前記相違箇所を囲む所定の矩形領域を前記候補領域として特定する、
請求項１記載のテスト支援方法。
【請求項３】
前記コンピュータは、
前記第３態様の結果画像として、前記第１態様の結果画像と前記候補領域とを重畳表示した画像、前記第２態様の結果画像と前記候補領域とを重畳表示した画像、または、前記第１態様の結果画像と前記第２態様の結果画像と前記候補領域とを重畳表示した画像のいずれかを表示する、
請求項１記載のテスト支援方法。
【請求項４】
前記コンピュータは、
第３実行条件で前記検証テストを行う対象である第３のプログラムが実行した実行結果として出力される結果画面を画像化した第４態様の結果画像を取得し、
前記第１態様の結果画像と前記第４態様の結果画像とを比較し、前記検証不要領域として設定した領域以外の領域における差異の有無を判定し、
前記判定した結果を報知する、
請求項１記載のテスト支援方法。
【請求項５】
所定実行条件において実行した実行結果として結果画面を出力するプログラムに対する検証テストのテスト支援プログラムであって、
コンピュータに、
第１実行条件で第１のプログラムを実行した実行結果として出力される前記結果画面を画像化した第１態様の結果画像を取得し、
第２実行条件で第２のプログラムを実行した実行結果として出力される前記結果画面を画像化した第２態様の結果画像を取得し、
前記第１態様の結果画像と前記第２態様の結果画像とを比較して、相違箇所を検出し、
所定規則に基づいて、検出した前記相違箇所から前記検証テストにおいて検証不要とする領域の候補である候補領域を特定し、
前記第１態様の結果画像と前記第２態様の結果画像と前記候補領域とに基づいて、前記候補領域を特定可能な態様とした第３態様の結果画像を表示部に表示させ前記検証テストにおいて検証不要とする領域である検証不要領域の設定を受け付ける、
処理を実行させるテスト支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援方法およびテスト支援プログラムに関する。
【背景技術】
【０００２】
コンピュータプログラムに修正や機能追加を行ったことによる影響を確認するテストとしてリグレッションテスト（回帰テスト）が知られている。プログラムが複雑化することにより、他のプログラムとの相互関係等に見落としが生じ、プログラムの機能を改善しようとして加えた修正が思わぬ部分に影響しバグが発生する場合もある。このようなバグに対処するため、プログラムに修正や機能追加を行った場合に、プログラム全体を検証する検証テストとしてリグレッションテストを実行し、プログラムの修正や機能追加に伴う影響の有無の確認が行われている。
【０００３】
プログラムの検証システムとして、検証対象プログラムの実行結果として検証対象結果データのＨＴＭＬ（Hyper Text Markup Language）ドキュメントと、理想結果データのＨＴＭＬドキュメントとの比較を行うシステムが知られている。ＨＴＭＬドキュメントの比較を行い差分データのＸＭＬ（eXtensible Markup Language）ドキュメントを求め、差分データと理想差分データのＸＭＬドキュメントとの比較を行うことで検証する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２２９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
リグレッションテストにおいては、プログラムの修正前後において差異がないことを検証するが、ＧＵＩ（Graphical User Interface）に関する検証を行う場合、プログラムを実行した結果として出力される結果画面の構成を検証する。このため、結果画面の構成以外の部分、たとえば、プログラムの実行時に変化する「日時」や「検証データの入力結果」等の検証のための比較が不要であるデータ表示について、検証を不要とする領域の指定を行うことが必要である。プログラムの検証テストを行うユーザは、検証テストを行うために画面ごとに検証を不要とする領域の指定について、プログラムで用いるＨＴＭＬドキュメントのコードを確認してテキスト入力により領域指定を行う必要があるため、時間と労力が費やされていた。
【０００６】
また、リグレッションテストにおけるＧＵＩに関する検証において、画面定義ファイル（ＨＴＭＬドキュメント等）のみでプログラムの修正前後の比較を行う場合、プログラムの実行時に表示される画面上の相違についての検証が不足することがある。たとえば、検証の対象となるプログラムが用いるＨＴＭＬドキュメントが同一であっても、コンピュータで実行されるその他のプログラムや環境設定の相違により、表示画面が異なる場合もあり得る。このため、プログラムのＧＵＩに関する検証を行う場合、テストを実行するユーザが目視を行って画面ごとに検証を行うとともに、画面ごとに検証を不要とする部分を把握する必要があり、時間と労力が費やされていた。
【０００７】
このような状況に対処するため、プログラムの検証テストを実行するユーザの作業負担を軽減し、検証不要領域の設定を簡易に行うことができる技術が望まれている。
一側面では、本発明は、プログラムの検証テストを行うための検証不要領域の設定を簡易に行うことができるテスト支援方法およびテスト支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、以下に示すようなテスト支援方法を提供する。コンピュータが、所定実行条件において実行した実行結果として結果画面を出力するプログラムに対する検証テストのテスト支援方法を実行する。コンピュータは、第１実行条件で第１のプログラムを実行した実行結果として出力される結果画面を画像化した第１態様の結果画像を取得し、第２実行条件で第２のプログラムを実行した実行結果として出力される結果画面を画像化した第２態様の結果画像を取得し、第１態様の結果画像と第２態様の結果画像とを比較して、相違箇所を検出し、所定規則に基づいて、検出した相違箇所から検証テストにおいて検証不要とする領域の候補である候補領域を特定し、第１態様の結果画像と第２態様の結果画像と候補領域とに基づいて、候補領域を特定可能な態様とした第３態様の結果画像を表示部に表示させ、検証テストにおいて検証不要とする領域である検証不要領域の設定を受け付ける。
【発明の効果】
【０００９】
一態様によれば、プログラムの検証テストを行うための検証不要領域の設定を簡易に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態のコンピュータの一例を示す図である。
【図２】第２の実施形態の情報処理装置のハードウェア構成の一例を示す図である。
【図３】第２の実施形態の画像比較イメージの一例を示す図である。
【図４】第２の実施形態の検証不要領域の指定イメージの一例を示す図である。
【図５】第２の実施形態の検証不要領域設定後の検証イメージの一例を示す図である（その１）。
【図６】第２の実施形態の検証不要領域設定後の検証イメージの一例を示す図である（その２）。
【図７】第２の実施形態の検証不要領域管理情報の一例を示す図である。
【図８】第２の実施形態の基本画像管理情報の一例を示す図である。
【図９】第２の実施形態のエビデンス画像管理情報の一例を示す図である。
【図１０】第２の実施形態の全体処理のフローチャートの一例を示す図である。
【図１１】第２の実施形態のエビデンス画像取得処理のフローチャートの一例を示す図である。
【図１２】第２の実施形態の画像比較処理のフローチャートの一例を示す図である。
【図１３】第２の実施形態の検証不要領域指定処理のフローチャートの一例を示す図である。
【図１４】第２の実施形態の検証処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して実施の形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態のコンピュータについて図１を用いて説明する。図１は、第１の実施形態のコンピュータの一例を示す図である。
【００１２】
コンピュータ１０は、テスト支援プログラムを実行する機能を備えた情報処理装置である。コンピュータ１０は、制御部１１および記憶部１２を備える。制御部１１は、コンピュータ１０全体を制御するものであり、たとえば、プロセッサ等である。制御部１１は、図示しない表示部に対して画像を表示する指示を行う。表示部は、情報や画像を表示するものであり、たとえば、コンピュータ１０に接続されたディスプレイや、コンピュータが備える液晶パネル等である。また、制御部１１は、記憶部１２に対して情報の記憶および読み出しが可能である。記憶部１２は、メモリやディスク等の記憶装置である。記憶部１２は、テスト支援プログラムを実行するための画像やデータを記憶する。なお、コンピュータ１０は、キーボードやマウス等の入力機器を備え、テスト支援プログラムの実行を指示するユーザからの入力を受け付ける。入力機器について、図示を省略する。
【００１３】
ここで、コンピュータ１０が実行するテスト支援方法について説明する。コンピュータ１０は、テスト支援プログラムを実行することにより、所定実行条件において実行した実行結果として結果画面を出力するプログラムに対する検証テストのテスト支援方法を実現する。所定実行条件には、プログラムの実行中または実行する際に入力するデータや、プログラムの実行日時や、プログラムを実行するコンピュータ１０の環境設定や、プログラムの版数（バージョン）や、プログラムのオプション機能等を含む。検証テストとは、たとえば、リグレッションテストである。リグレッションテストは、プログラムの修正前後において差異がないことを検証するテストである。検証テストにおいて、プログラムを実行した実行結果として表示する画面の画面構成（表示する枠の位置や大きさ等）を検証する場合、プログラムの実行条件に応じて変化するデータ（たとえば、日時、ユーザＩＤ、入力品目、金額等のデータ）の内容については、検証テストの比較対象外である。このため、検証テストを実行する前提として、検証テストの対象外であるデータの表示部分について検証を不要とする領域である検証不要領域の設定を行う。
【００１４】
コンピュータ１０の制御部１１は、第１実行条件で第１のプログラムを実行した実行結果として出力される結果画面を画像化した第１態様の結果画像２０を取得する。第１態様の結果画像２０は、第１実行条件で第１のプログラムを実行した実行結果として出力される結果画面をキャプチャした画像である。
【００１５】
制御部１１は、第２実行条件で第２のプログラムを実行した実行結果として出力される結果画面を画像化した第２態様の結果画像３０を取得する。第２態様の結果画像３０は、第２実行条件で第２のプログラムを実行した実行結果として出力される結果画面をキャプチャした画像である。
【００１６】
ここで、第１のプログラムは、検証テストを行う対象となるプログラム（第３のプログラム）の改変前のプログラムである。第１のプログラムを実行した実行結果として出力される結果画面を基礎として検証テストを行う。また、第２のプログラムは、第１のプログラムと同一のプログラムであってもよいし、第１のプログラムと略同様の機能を備えたプログラムであってもよい。たとえば、第１のプログラムについて、画面表示に関する機能以外の部分で微小の改変が生じた場合（マイナーチェンジが生じた場合）、微小の改変を加えられた第１のプログラムを第２のプログラムとして実行できる。
【００１７】
また、第１実行条件とは、第１のプログラムを実行した場合に入力した入力データおよび実行日時を意味する。また、第２実行条件とは、第１実行条件とは異なる入力データおよび実行日時を意味する。テスト支援方法においては、第１態様の結果画像２０と第２態様の結果画像３０との差異を検出することが必要となる。仮に、第１のプログラムおよび第２のプログラムが同一であり、実行する際の入力データおよび実行日時の全てが同一である場合、画面に差異が生じることが無く、相違箇所の検出が困難となる。このため、異なる実行条件でプログラムを実行する必要がある。
【００１８】
制御部１１は、第１態様の結果画像２０と第２態様の結果画像３０とを比較して、相違箇所を検出する。たとえば、制御部１１は、ログイン日時の表示部分、商品名の表示部分、合計金額の表示部分の３箇所を相違部分として検出する。
【００１９】
制御部１１は、所定規則に基づいて、検出した相違箇所から検証テストにおいて検証不要とする領域の候補である候補領域を特定する。たとえば、制御部１１は、上述した３箇所の相違部分を囲む領域を候補領域として特定する。制御部１１は、ログイン日時の表示部分を囲む矩形領域、商品名の表示部分を囲む矩形領域、合計金額の表示部分を囲む矩形領域の３つの領域を候補領域として特定する。
【００２０】
所定規則とは、候補領域を特定するための規則である。たとえば、制御部１１は、所定規則として、第１態様の結果画像２０を表示するための画面定義ファイル（ＨＴＭＬドキュメント）に相違箇所に関連するレイアウト定義文が含まれるか否かを判定する。制御部１１は、レイアウト定義文が画面定義ファイルに含まれる場合、レイアウト定義文で定義される領域を候補領域として特定する。制御部１１は、レイアウト定義文が画面定義ファイルに含まれない場合、相違箇所を囲む所定の矩形領域を候補領域として特定する。なお、制御部１１は、相違箇所を囲む矩形領域を、相違箇所に含まれる座標（Ｘ座標，Ｙ座標）から所定の距離（Ｘ座標−ｘａ，Ｙ座標−ｙａ）を基準として、予め定められた大きさ（幅＝ｘｂ，高さ＝ｙｂ）で描く。相違箇所を囲む所定の矩形領域を指定する値（ｘａ，ｙａ，ｘｂ，ｙｂ）は、予めシステム管理者等が設定した値であるものとする。
【００２１】
制御部１１は、第１態様の結果画像２０と第２態様の結果画像３０と候補領域とに基づいて、候補領域を特定可能な態様とした第３態様の結果画像４０を表示部に表示させ、検証テストにおける検証不要とする領域である検証不要領域の設定を受け付ける。候補領域を特定可能な態様として表示するとは、候補領域が他の領域と区別して表示することを意味する。たとえば、制御部１１は、候補領域を赤色矩形枠や青色矩形枠で表示したり、点滅表示したりすることで、他の領域と区別して表示することができる。
【００２２】
制御部１１は、第３態様の結果画像４０として、第１態様の結果画像２０と候補領域とを重畳表示した画像、第２態様の結果画像３０と候補領域とを重畳表示した画像、または、第１態様の結果画像２０と第２態様の結果画像３０と候補領域とを重畳表示した画像のいずれかを表示する。
【００２３】
ユーザは、表示部に表示された第３態様の結果画像４０を目視で確認し、検証不要領域の設定を行う。制御部１１は、マウスポインタ等の入力機器を介して、候補領域の位置や大きさを変更する指示をユーザから受け付け、変更後の候補領域を検証不要領域として設定する。
【００２４】
制御部１１は、設定された検証不要領域を記憶部１２に記憶し、検証テストに用いることができる。たとえば、制御部１１は、第３実行条件で検証テストを行う対象である第３のプログラムが実行した実行結果として出力される結果画面を画像化した第４態様の結果画像をキャプチャして取得する。なお、第４態様の結果画像（検証テストを行う対象の画像であるテスト対象画像）については、図示を省略する。制御部１１は、第１態様の結果画像２０と第４態様の結果画像とを比較し、検証不要領域として設定した領域以外の領域における差異の有無を判定し、判定した結果を報知する。制御部１１は、検証不要領域外に相違箇所を検出しない場合、問題なしの旨の判定結果を報知する。制御部１１は、検証不要領域外に相違箇所を検出した場合、問題ありの旨の判定結果を報知する。
【００２５】
このようにして、コンピュータ１０により第３態様の結果画像４０を表示することにより、ユーザは、検証テストで用いられる検証不要領域の設定が容易となり、操作性および利便性が向上する。また、ユーザが、画面において領域指定枠の位置や大きさを目視で確認した上で、検証不要領域を設定するため、検証不要領域を設定する際の精度の向上を図ることができる。また、ユーザは、検証不要領域の座標を数値入力等のテキストデータで設定するよりも、マウスポインタ等を用いた画面操作で設定するほうが検証不要領域の位置が理解しやすいため、検証不要領域の設定ミスの低減を図ることができる。
【００２６】
こうして、コンピュータ１０は、プログラムの検証テストを行うための検証不要領域の設定を簡易に行うことができる。
［第２の実施形態］
次に、第２の実施形態の情報処理装置のハードウェア構成について図２を用いて説明する。図２は、第２の実施形態の情報処理装置のハードウェア構成の一例を示す図である。
【００２７】
情報処理装置１００は、テスト支援方法を実現するテスト支援プログラムを実行するコンピュータである。ユーザは、情報処理装置１００にテスト支援プログラムを実行させ、検証対象となるプログラムについてリグレッションテストを実行し、検証対象となるプログラムの各画面について検証することができる。また、ユーザは、情報処理装置１００にテスト支援プログラムを実行させ、リグレッションテストで用いる検証不要領域の設定を行うことができる。
【００２８】
情報処理装置１００は、プロセッサ１１１、ＲＡＭ（Random Access Memory）１１２、ＨＤＤ１１３、画像信号処理部１１４、入力信号処理部１１５、媒体リーダ１１６、通信インタフェース１１７を含む。情報処理装置１００は、プロセッサ１１１によって装置全体が制御されている。プロセッサ１１１には、バス１１８を介してＲＡＭ１１２と複数の周辺機器が接続されている。プロセッサ１１１は、マルチプロセッサであってもよい。プロセッサ１１１は、たとえば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１１１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２９】
ＲＡＭ１１２は、情報処理装置１００の主記憶装置として使用される。ＲＡＭ１１２には、プロセッサ１１１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に記憶される。また、ＲＡＭ１１２には、プロセッサ１１１による処理に必要な各種データが記憶される。
【００３０】
バス１１８に接続されている周辺機器としては、ＨＤＤ１１３、画像信号処理部１１４、入力信号処理部１１５、媒体リーダ１１６および通信インタフェース１１７がある。
ＨＤＤ１１３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１１３は、情報処理装置１００の補助記憶装置として使用される。ＨＤＤ１１３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが記憶される。なお、ＨＤＤ１１３に限らず、ＳＳＤ（Solid State Drive）を使用することもできる。なお、補助記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００３１】
画像信号処理部１１４は、プロセッサ１１１からの命令に従って、情報処理装置１００に接続されたディスプレイ１１４ａに画像を出力する。ディスプレイ１１４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイ等、任意の種類のディスプレイを用いることができる。
【００３２】
入力信号処理部１１５は、情報処理装置１００に接続された入力デバイス１１５ａから入力信号を取得し、プロセッサ１１１に出力する。入力デバイス１１５ａとしては、マウス、タッチパネル、タッチパッド、トラックボール、キーボード、リモートコントローラ、ボタンスイッチ等、任意の種類の入力デバイスを用いることができる。
【００３３】
媒体リーダ１１６は、記録媒体１１９に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１１９として、たとえば、磁気ディスク、光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリ等を使用できる。磁気ディスクには、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤが含まれる。光ディスクには、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）が含まれる。
【００３４】
媒体リーダ１１６は、たとえば、記録媒体１１９から読み取ったプログラムやデータを、ＲＡＭ１１２やＨＤＤ１１３等の他の記録媒体にコピーする。読み取られたプログラムは、たとえば、プロセッサ１１１によって実行される。なお、記録媒体１１９は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体１１９やＨＤＤ１１３を、コンピュータ読み取り可能な記録媒体と言うことがある。
【００３５】
通信インタフェース１１７は、ネットワーク２００に接続されている。通信インタフェース１１７は、他のコンピュータ、記憶装置、または通信機器との間でデータの送受信を行う。
【００３６】
以上のようなハードウェア構成によって、第２の実施形態の情報処理装置１００の処理機能を実現することができる。なお、第１の実施形態のコンピュータ１０は、図２に示した情報処理装置１００のハードウェア構成で実現できる。
【００３７】
なお、上記の構成は一例であり、構成部の組み合わせは適宜決定できる。たとえば、上記構成のうち必要のないものを削除するとしてもよい。
情報処理装置１００は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。情報処理装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、情報処理装置１００に実行させるプログラムをＨＤＤ１１３に記憶しておくことができる。プロセッサ１１１は、ＨＤＤ１１３内のプログラムの少なくとも一部をＲＡＭ１１２にロードし、プログラムを実行する。また、情報処理装置１００に実行させるプログラムを、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に記憶されたプログラムは、たとえばプロセッサ１１１からの制御により、ＨＤＤ１１３にインストールされた後、実行可能となる。また、プロセッサ１１１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３８】
次に、第２の実施形態の画像比較イメージの一例について図３を用いて説明する。図３は、第２の実施形態の画像比較イメージの一例を示す図である。
画像比較イメージ３００は、情報処理装置１００が実行する画像を比較する処理を示したものである。情報処理装置１００は、リグレッションテストの前提となる検証不要の領域の候補を特定するため、画像を比較する処理を実行する。情報処理装置１００は、予めＨＤＤ１１３やＲＡＭ１１２等の記憶部に基本画像３０１、エビデンス画像３０２と基本画像３０１に対応する画面定義ファイル（ｈｔｍｌファイル）を記憶しているものとする。
【００３９】
基本画像３０１は、検証元のプログラム（以下、検証元プログラムと記載する）を実行した場合に表示される画面をキャプチャした画像である。検証元プログラムとは、検証する際に基礎となるプログラムであり、リグレッションテストのテスト対象とするプログラムについて仕様変更や改変等が行われる前のプログラムをいう。
【００４０】
エビデンス画像３０２は、検証対象のプログラムを実行した場合に表示される画面をキャプチャした画像である。エビデンス画像３０２は、リグレッションテストで用いる検証不要の領域を抽出するために用いる画像である。
【００４１】
なお、エビデンス画像３０２を取得するための検証対象のプログラムの実行には、いくつかの方法がある。たとえば、（Ａ）検証元プログラムと同一のプログラムを検証元プログラムの実行時と異なるデータ（たとえば、日時、ユーザＩＤ、商品名、金額等が異なるデータ）を用いて実行する方法がある。また、（Ｂ）検証元プログラムを微修正したプログラム（たとえば、ユーザインタフェース機能に差異はなく、その他の機能について検証元プログラムを微修正したプログラム等）を、検証元プログラムの実行時と異なるデータを用いて実行する方法等がある。なお、上述（Ａ）（Ｂ）の検証対象のプログラムの実行方法は一例に過ぎず、基本画像３０１と比較することで検証不要領域を抽出可能なエビデンス画像３０２を表示できるプログラムの実行方法であれば、その他の方法であってもよい。
【００４２】
重畳画像３０３は、基本画像３０１とエビデンス画像３０２とを重ね合わせ、両画像の相違を視覚的に示したものである。
情報処理装置１００は、検証元となる基本画像３０１と検証対象の画像であるエビデンス画像３０２との画素のＲＧＢ（Red Green Blue）値を比較し、ＲＧＢ値に差異のある画素の座標（差異座標）を抽出する。以下、差異座標を含む領域を差異領域と記載する。たとえば、重畳画像３０３は、ログイン日時の月日時刻についての差異座標を含む差異領域３０４と、商品明細の商品名についての差異座標を含む差異領域３０５と、合計金額の一部分についての差異座標を含む差異領域３０６の３つの差異領域を含む。
【００４３】
ここで、リグレッションテストの検証対象は、画面の構成であり、データの内容ではないものとする。画面の構成とは、たとえば、データの表示やデータの入力を受け付けるフィールドの大きさや位置関係、表示される項目（ログイン日時、商品明細、合計金額）の大きさや位置関係であるものとする。また、データの内容とは、たとえば、フィールドに表示されるログインの日時、商品明細に含まれる商品名称、合計金額の値等であるものとする。
【００４４】
情報処理装置１００は、画面定義ファイルを参照し、差異座標を含むフィールドを特定する。言い換えると、情報処理装置１００は、検証不要領域の候補としてフィールドを特定する。以下、特定したフィールド（候補領域）を特定フィールドと記載する。
【００４５】
重畳画像３０３は、差異領域３０４を含む特定フィールド３０７、差異領域３０５を含む特定フィールド３０８、差異領域３０６を含む特定フィールド３０９の３つの特定フィールドを含む。特定フィールドを用いて検証不要の領域を指定する処理については、図４を用いて説明する。
【００４６】
次に、第２の実施形態の検証不要領域の指定イメージの一例について図４を用いて説明する。図４は、第２の実施形態の検証不要領域の指定イメージの一例を示す図である。
検証不要領域の指定イメージ３１０は、情報処理装置１００が実行する検証不要領域の指定を受け付ける処理を示したものである。
【００４７】
情報処理装置１００は、リグレッションテストの前提となる検証不要の領域を特定するため、検証不要領域の指定を受け付ける処理を実行する。
情報処理装置１００は、特定フィールドについて検証不要領域とするか否かを受け付ける設定要否選択画面３１１を表示する。設定要否選択画面３１１は、特定フィールド３０７に対して検証不要領域を設定する領域指定枠３１２を重畳表示し、設定要否の選択を受け付ける要否受付領域３１３を表示した例を示している。領域指定枠３１２は、右斜線ハッチングの矩形枠で図示しているが、これは一例に過ぎず、赤色矩形枠の表示や点滅表示等のその他の強調表示であってもよい。
【００４８】
情報処理装置１００は、要否受付領域３１３において検証不要領域とする旨の選択「はい（要）」を受け付けた場合、領域指定枠３１２の座標を検証不要領域管理情報に登録する。検証不要領域管理情報は、リグレッションテストにおいて検証を不要とする領域を管理する情報である。検証不要領域管理情報は、後で図７を用いて説明する。
【００４９】
情報処理装置１００は、要否受付領域３１３において検証不要領域としない旨の選択「いいえ（否）」を受け付けた場合、（Ａ）領域指定枠３１２の位置や大きさの変更を受け付け、（Ｂ）検証不要領域の登録が不要である旨の受け付けを行う画面を表示する。情報処理装置１００は、領域指定枠の変更を受け付ける場合、マウスポインタ等の入力装置から領域指定枠の位置や大きさを変更する指示を受け付け、変更後の領域指定枠の座標を検証不要領域管理情報に登録する。
【００５０】
なお、情報処理装置１００は、特定フィールドが複数存在する場合、それぞれの特定フィールドについて検証不要領域とするか否かの選択を受け付ける画面を表示する。たとえば、図３の重畳画像３０３のように３つの特定フィールド３０７，３０８，３０９が存在する場合、特定フィールド毎に領域指定枠を重畳表示し、検証不要領域とするか否かを受け付ける要否受付領域３１３をそれぞれに対して表示する。
【００５１】
次に、第２の実施形態の検証不要領域設定後の検証イメージの一例について図５を用いて説明する。図５は、第２の実施形態の検証不要領域設定後の検証イメージの一例を示す図である（その１）。
【００５２】
検証不要領域設定後の検証イメージ（その１）３２０は、情報処理装置１００がリグレッションテストを実行し、テスト対象となる画像を検証する処理を示したものである。以下、検証不要領域設定後の検証イメージ（その１）３２０を、検証不要領域設定後の検証イメージ３２０と記載する。情報処理装置１００は、予めＨＤＤ１１３やＲＡＭ１１２等の記憶部に検証不要領域の座標を登録した検証不要領域管理情報と、リグレッションテストを行う対象であるテスト対象画像３２５を記憶しているものとする。
【００５３】
検証不要領域設定基本画像３２１は、検証不要領域管理情報に基づき、基本画像３０１において検証不要領域として設定された領域を右斜線ハッチングの領域で示したものである。検証不要領域設定基本画像３２１は、３つの検証不要領域３２２，３２３，３２４を含む。テスト対象画像３２５は、リグレッションテストの対象となるプログラムを実行した画面をキャプチャした画像である。
【００５４】
情報処理装置１００は、検証不要領域設定基本画像３２１とテスト対象画像３２５とを比較し、検証不要領域３２２，３２３，３２４として指定された領域外に差異があるか否かを検証する。情報処理装置１００は、検証不要領域外に差異を検出せず、検証結果を「問題なし（ＯＫ）」とする。情報処理装置１００は、検証結果をディスプレイ１１４ａに出力し、リグレッションテストを実行するユーザに検証結果を報知する。
【００５５】
次に、第２の実施形態の検証不要領域設定後の検証イメージの一例について図６を用いて説明する。図６は、第２の実施形態の検証不要領域設定後の検証イメージの一例を示す図である（その２）。
【００５６】
検証不要領域設定後の検証イメージ（その２）３３０は、情報処理装置１００がリグレッションテストを実行し、テスト対象となる画像を検証する処理を示したものである。以下、検証不要領域設定後の検証イメージ（その２）３３０を、検証不要領域設定後の検証イメージ３３０と記載する。情報処理装置１００は、予めＨＤＤ１１３やＲＡＭ１１２等の記憶部に検証不要領域の座標を登録した検証不要領域管理情報と、リグレッションテストを行う対象であるテスト対象画像３３５を記憶しているものとする。
【００５７】
検証不要領域設定基本画像３３１は、検証不要領域管理情報に基づき、基本画像３０１において検証不要領域として設定された領域を右斜線ハッチングの領域で示したものである。検証不要領域設定基本画像３３１は、３つの検証不要領域３３２，３３３，３３４を含む。テスト対象画像３３５は、リグレッションテストの対象となるプログラムを実行した画面をキャプチャした画像である。
【００５８】
情報処理装置１００は、検証不要領域設定基本画像３３１とテスト対象画像３３５とを比較し、検証不要領域３３２，３３３，３３４として指定された領域外に差異があるか否かを検証する。ここで、テスト対象画像３３５には、商品明細の右外側領域に検証不要領域３３３との差異があるものとする。情報処理装置１００は、検証不要領域外に差異を検出し、検証結果を「問題あり（ＮＧ）」とする。情報処理装置１００は、検証結果をディスプレイ１１４ａに出力し、リグレッションテストを実行するユーザに検証結果を報知する。
【００５９】
次に、第２の実施形態の検証不要領域管理情報の一例について図７を用いて説明する。図７は、第２の実施形態の検証不要領域管理情報の一例を示す図である。
検証不要領域管理情報５００は、リグレッションテストにおいて検証を不要とする領域を管理する情報である。情報処理装置１００は、ＨＤＤ１１３やＲＡＭ１１２等の記憶部に検証不要領域管理情報５００を記憶する。
【００６０】
検証不要領域管理情報５００は、テストケースＩＤ、画面ＩＤ、Ｘ座標、Ｙ座標、高さ、幅、登録日時の項目を含む。テストケースＩＤの項目には、リグレッションテストを一意に識別する識別情報（テストケースＩＤ）が登録される。
【００６１】
画面ＩＤの項目には、リグレッションテストを行う際の検証元のプログラムを実行した場合に表示される画面を識別する識別情報（画面ＩＤ）が登録される。Ｘ座標の項目には、検証を不要とする領域のＸ座標が登録される。たとえば、検証を不要とする領域が矩形である場合、矩形領域の左下端点のＸ座標が登録される。Ｙ座標の項目には、検証を不要とする領域のＹ座標が登録される。たとえば、検証を不要とする領域が矩形である場合、矩形領域の左下端点のＹ座標が登録される。
【００６２】
高さの項目には、検証を不要とする領域の高さが登録される。たとえば、検証を不要とする領域が矩形であり、画面の垂直縦方向がＹ軸である場合、矩形領域の左下端点のＹ座標から左上端点のＹ座標までの距離が高さとして登録される。幅の項目には、検証を不要とする領域の幅が登録される。たとえば、検証を不要とする領域が矩形であり、画面の水平横方向がＸ軸である場合、矩形領域の左下端点のＸ座標から右下端点のＸ座標までの距離が幅として登録される。なお、上述したＸ座標、Ｙ座標、高さ、幅の項目の登録内容は、一例に過ぎず、その他の座標で登録してもよい。また、座標は絶対座標であってもよいし、相対座標であってもよい。登録日時の項目には、検証不要領域管理情報５００にエントリが登録された日時が登録される。
【００６３】
ここで、検証不要領域管理情報５００に含まれるエントリについて説明する。たとえば、検証不要領域管理情報５００には、テストケースＩＤが「０００１−００１」のエントリに、画面ＩＤが「１００１１」、Ｘ座標が「４５」、Ｙ座標が「１２」、高さが「２０」、幅が「４０」、登録日時が「２０１８／１／２０  １０：３０：４５」という情報が登録される。
【００６４】
これは、テストケースＩＤ「０００１−００１」で示されるテストにおいて、画面ＩＤ「１００１１」の画面上のＸ座標「４５」、Ｙ座標「１２」、高さ「２０」、幅「４０」、で示す領域が検証不要領域であることを示す。また、このエントリが登録された日時が「２０１８年１月２０日１０時３０分４５秒」であることを示す。
【００６５】
次に、第２の実施形態の基本画像管理情報の一例について図８を用いて説明する。図８は、第２の実施形態の基本画像管理情報の一例を示す図である。
基本画像管理情報５１０は、リグレッションテストにおいて検証元のプログラムを実行した場合に表示される画面をキャプチャした画像（基本画像）を管理する情報である。情報処理装置１００は、ＨＤＤ１１３やＲＡＭ１１２等の記憶部に基本画像管理情報５１０、基本画像および画面定義ファイルを記憶する。
【００６６】
基本画像管理情報５１０は、テストケースＩＤ、画面ＩＤ、画像データ、画面定義ファイルの項目を含む。テストケースＩＤの項目には、リグレッションテストを一意に識別する識別情報（テストケースＩＤ）が登録される。画面ＩＤの項目には、リグレッションテストを行う際の検証元のプログラムを実行した場合に表示される画面を識別する識別情報（画面ＩＤ）が登録される。画像データの項目には、検証元のプログラムを実行した場合に表示される画面をキャプチャした画像の画像データのファイル名が登録される。画面定義ファイルの項目には、検証元のプログラムを実行した場合に表示される画面に対応する画面定義ファイルのファイル名が登録される。
【００６７】
ここで、基本画像管理情報５１０に含まれるエントリについて説明する。たとえば、基本画像管理情報５１０には、テストケースＩＤが「０００１−００１」のエントリに、画面ＩＤが「１００１１」、画像データが「Ｆｉｌｅ１１．ｊｐｇ」、画面定義ファイルが「Ｆｉｌｅ１０１．ｈｔｍｌ」という情報が登録される。
【００６８】
これは、テストケースＩＤ「０００１−００１」で示されるテストにおいて、画面ＩＤ「１００１１」の画面をキャプチャした画像データのファイル名が「Ｆｉｌｅ１１．ｊｐｇ」であり、この画面の画面定義ファイルのファイル名が「Ｆｉｌｅ１０１．ｈｔｍｌ」であることを示す。
【００６９】
次に、第２の実施形態のエビデンス画像管理情報の一例について図９を用いて説明する。図９は、第２の実施形態のエビデンス画像管理情報の一例を示す図である。
エビデンス画像管理情報５２０は、リグレッションテストにおいて検証対象のプログラムを実行した場合に表示される画面をキャプチャした画像（エビデンス画像）を管理する情報である。情報処理装置１００は、ＨＤＤ１１３やＲＡＭ１１２等の記憶部にエビデンス画像管理情報５２０およびエビデンス画像を記憶する。
【００７０】
エビデンス画像管理情報５２０は、テストケースＩＤ、画面ＩＤ、画像データの項目を含む。テストケースＩＤの項目には、リグレッションテストを一意に識別する識別情報（テストケースＩＤ）が登録される。画面ＩＤの項目には、リグレッションテストを行う際の検証対象のプログラムを実行した場合に表示される画面を識別する識別情報（画面ＩＤ）が登録される。画像データの項目には、検証対象のプログラムを実行した場合に表示される画面をキャプチャした画像の画像データのファイル名が登録される。
【００７１】
ここで、エビデンス画像管理情報５２０に含まれるエントリについて説明する。たとえば、エビデンス画像管理情報５２０には、テストケースＩＤが「０００１−００１」のエントリに、画面ＩＤが「Ｅ１００１１」、画像データが「Ｆｉｌｅ１１Ｅ．ｊｐｇ」という情報が登録される。
【００７２】
これは、テストケースＩＤ「０００１−００１」で示されるテストにおいて、画面ＩＤ「Ｅ１００１１」の画面をキャプチャした画像データのファイル名が「Ｆｉｌｅ１１Ｅ．ｊｐｇ」であることを示す。
【００７３】
なお、基本画像管理情報５１０とエビデンス画像管理情報５２０のテストケースＩＤと画面ＩＤは、比較対象となる画像同士が特定できるよう対応づけられた値を付与するものとする。たとえば、テストケースＩＤ「０００１−００１」で特定されるテストにおいて、基本画像の画面ＩＤ「１００１１」とエビデンス画像の画面ＩＤ「Ｅ１００１１」とが比較対象の画像であるものとする。また、基本画像管理情報５１０とエビデンス画像管理情報５２０は、比較する順に従って昇順に画面ＩＤを付与して画像を管理するものとする。
【００７４】
次に、第２の実施形態の全体処理について図１０を用いて説明する。図１０は、第２の実施形態の全体処理のフローチャートの一例を示す図である。
全体処理は、情報処理装置１００が基本画像およびエビデンス画像を取得し、取得した画像を比較して検証不要領域を記憶する処理である。情報処理装置１００の制御部（プロセッサ１１１）は、情報処理装置１００を操作するユーザから処理実行の指示を受け付け、全体処理を実行する。
【００７５】
［ステップＳ１１］制御部は、基本画像を取得する。具体的には、制御部は、検証元プログラムを実行し、基本画像をキャプチャして記憶部に記憶する。また、制御部は、基本画像管理情報５１０に、テストケースＩＤ、画面ＩＤ、基本画像の画像データ名、基本画像を表示する画面定義ファイルのファイル名を登録する。
【００７６】
なお、情報処理装置１００を操作するユーザは、予め定められた検証元プログラムを実行し、各画面を記録する操作入力を行うものとする。情報処理装置１００は、ユーザからの操作入力を受け付け、各画面を記録し、基本画像管理情報５１０に登録するものとする。
【００７７】
［ステップＳ１２］制御部は、エビデンス画像取得処理を実行する。エビデンス画像取得処理は、検証対象のプログラムを実行し、表示した画面をキャプチャしてエビデンス画像を取得する処理である。エビデンス画像取得処理は、後で図１１を用いて説明する。
【００７８】
［ステップＳ１３］制御部は、画像比較処理を実行する。画像比較処理は、基本画像とエビデンス画像とを比較し、検証不要領域を設定する処理である。画像比較処理は、後で図１２を用いて説明する。
【００７９】
次に、第２の実施形態のエビデンス画像取得処理について図１１を用いて説明する。図１１は、第２の実施形態のエビデンス画像取得処理のフローチャートの一例を示す図である。
【００８０】
エビデンス画像取得処理は、検証対象のプログラムを実行し、表示した画面をキャプチャしてエビデンス画像を取得する処理である。エビデンス画像取得処理は、全体処理のステップＳ１２で情報処理装置１００の制御部（プロセッサ１１１）が実行する処理である。
【００８１】
［ステップＳ２１］制御部は、ブラウザを起動する。具体的には、制御部は、テスト対象のプログラムを起動し、テスト対象のプログラムの画面を表示するための処理を実行する。
【００８２】
なお、テスト対象のプログラムは、情報処理装置１００からネットワーク経由でアクセス可能なサーバで実行してもよい。この場合、情報処理装置１００は、サーバにアクセスし、テスト対象のプログラムを実行した結果の画面を情報処理装置１００で表示できる。
【００８３】
［ステップＳ２２］制御部は、初期設定を行う。具体的には、制御部は、カウンタＮの値に「０」を設定する。また、制御部は、テストケースＩＤを受け付け、記録イベント数を取得する。
【００８４】
記録イベント数は、記録する画面の数であり、基本画像管理情報５１０に記録されたテストケースごとの画像の枚数である。たとえば、制御部は、テストケースＩＤを受け付けることにより、テストケースＩＤに所属する画面ＩＤの数を取得し、取得した画面ＩＤの数を記録イベント数として設定することができる。
【００８５】
［ステップＳ２３］制御部は、記録イベントを実行する。たとえば、制御部は、テスト対象プログラムにおいて、ユーザＩＤおよびパスワードの入力を受け付けた後の画面をエビデンス画像として記録する場合、ユーザＩＤおよびパスワードの入力を受け付ける処理を記録イベントとして実行する。
【００８６】
［ステップＳ２４］制御部は、画面ＩＤを取得する。画面ＩＤは、エビデンス画像を一意に識別する情報であり、基本画像と対比する際に用いる情報である。制御部は、記録イベントごとに画面ＩＤを生成する。なお、制御部は、予めユーザによって登録された画面ＩＤを記憶部から読み出して取得してもよい。
【００８７】
［ステップＳ２５］制御部は、ディスプレイ１１４ａに表示した画面がエビデンス取得対象の画面か否かを判定する。制御部は、エビデンス取得対象画面であると判定した場合はステップＳ２６にすすみ、そうでない場合はステップＳ２７にすすむ。
【００８８】
なお、制御部は、全ての記録イベントに対して、エビデンス対象であるか否かを設定した情報（記録イベント設定情報）を記憶部に記憶し、記録イベント設定情報に基づいて画面がエビデンス取得対象の画面か否かを判定する。なお、記録イベント設定情報については、図示を省略する。
【００８９】
［ステップＳ２６］制御部は、ディスプレイ１１４ａに表示した画面をキャプチャし、エビデンス画像として取得して記憶部に記憶し、エビデンス画像管理情報５２０にエビデンス画像の画像データ名を画面ＩＤと対応づけて登録する。
【００９０】
［ステップＳ２７］制御部は、カウンタＮの値に「１」を加算する。
［ステップＳ２８］制御部は、カウンタＮが記録イベント数未満であるか否かを判定する。制御部は、カウンタＮが記録イベント数未満である場合、未取得のエビデンス画像が残っているためステップＳ２３にもどり、エビデンス画像の取得を行う。制御部は、カウンタＮが記録イベント数未満でない場合、処理を終了する。
【００９１】
次に、第２の実施形態の画像比較処理について図１２を用いて説明する。図１２は、第２の実施形態の画像比較処理のフローチャートの一例を示す図である。
画像比較処理は、基本画像とエビデンス画像とを比較し、検証不要領域を設定する処理である。画像比較処理は、全体処理のステップＳ１３で情報処理装置１００の制御部（プロセッサ１１１）が実行する処理である。
【００９２】
［ステップＳ３１］制御部は、記憶部からエビデンス画像管理情報５２０およびエビデンス画像を読み出し、初期値を取得する。具体的には、制御部は、ステップＳ２２で受け付けたテストケースＩＤに対応する画面ＩＤの数を取得し、エビデンス画像数（Ｍ）の初期値とする。また、制御部は、テストケースＩＤに対応するエビデンス画像の画像データを読み出し、読み出した画像データから、エビデンス画像の幅（Ｗ）、エビデンス画像の高さ（Ｈ）の値を初期値とする。
【００９３】
なお、同一のテストケースＩＤに所属する画像は、画像数、画像の幅、画像の高さが同一であるものとする。また、基本画像とエビデンス画像とは、画像数、画像の幅、画像の高さが同一であるものとする。
【００９４】
［ステップＳ３２］制御部は、初期設定を行う。具体的には、制御部は、差異のある画素を記録する配列である差異画素記録配列ｄｉｆｆ［ｉ］［Ｘ］［Ｙ］〜ｄｉｆｆ［Ｍ］［Ｗ］［Ｈ］に対応する全ての値を「０」に設定する。制御部は、Ｍの変数として用いるカウンタｉの値を「１」に設定し、Ｗの変数として用いるカウンタＸの値を「０」に設定し、Ｈの変数として用いるカウンタＹの値を「０」に設定する。本ステップにおいて、初期設定の状態として、画面「１」枚目（ｉ＝「１」）、Ｘ座標「０」、Ｙ座標「０」が設定される。
【００９５】
ここで、画像を比較する処理について説明を補足する。制御部は、基本画像とエビデンス画像のそれぞれの画面１枚目（画面ＩＤが付与された最初の画像）の原点（Ｘ座標「０」，Ｙ座標「０」）の位置から画素の差異の比較を開始する。制御部は、まず１枚目の画像について原点（Ｘ座標「０」，Ｙ座標「０」）の位置から末端（Ｘ座標「Ｗ」，Ｙ座標「Ｈ」）の位置まで順に画素の比較を行い、次の画像についても同様に原点から末端の位置まで画素の比較を行う。制御部は、同一のテストケースＩＤに所属する基本画像とエビデンス画像について、１枚ずつ順に画素の比較を行う。
【００９６】
制御部は、画素の差異の有無（有＝「１」、無＝「０」）について差異画素記録配列ｄｉｆｆ［ｉ］［Ｘ］［Ｙ］と対応づけて管理し、記憶部に記憶する。たとえば、制御部は、画像１枚目の座標（２，３）に差異が存在する場合、ｄｉｆｆ［１］［２］［３］に対応して画素の差異が有る旨の値「１」を記憶部に記憶する。これにより、制御部は、何枚目の画面のどの位置（座標）に差異が存在するかを管理できる。
【００９７】
［ステップＳ３３］制御部は、基本画像とエビデンス画像の（Ｘ座標，Ｙ座標）に位置する画素を比較し、ＲＧＢ値が異なるか否かを判定する。制御部は、画素のＲＧＢ値が異なる場合、差異画素記録配列ｄｉｆｆ［ｉ］［Ｘ］［Ｙ］に差異がある旨を記録し、ステップＳ３４にすすむ。制御部は、画素のＲＧＢ値が同一である場合はステップＳ３６にすすむ。
【００９８】
［ステップＳ３４］制御部は、検証不要領域管理情報５００を参照し、ステップＳ３３で比較した画素の座標（Ｘ座標，Ｙ座標）が、設定済み検証不要領域に含まれていないかを判定する。言い換えると、制御部は、ステップＳ３３で差異画素記録配列ｄｉｆｆ［ｉ］［Ｘ］［Ｙ］に記録した画素（画像「ｉ」枚目の「Ｘ」座標「Ｙ」座標）が、検証不要領域管理情報５００に含まれるか否かを判定する。
【００９９】
制御部は、設定済み検証不要領域に含まれていない場合、つまり、検証不要領域管理情報５００に登録された座標に含まれていない場合はステップＳ３５にすすむ。制御部は、設定済み検証不要領域に含まれている場合、つまり、検証不要領域管理情報５００に登録された座標に含まれる場合はステップＳ３６にすすむ。
【０１００】
以下の説明において、ステップＳ３３で比較した結果ＲＧＢ値が異なり、ステップＳ３４で判定した結果設定済み検証不要領域に含まれていない座標を対象座標と記載する。また、比較対象である基本画像を対象基本画像と記載する。
【０１０１】
［ステップＳ３５］制御部は、検証不要領域指定処理を実行する。検証不要領域指定処理は、基本画像から検証を不要とする領域を指定し、検証不要領域管理情報５００に登録する処理である。検証不要領域指定処理は、後で図１３を用いて説明する。
【０１０２】
［ステップＳ３６］制御部は、カウンタＹの値に「１」を加算する。
［ステップＳ３７］制御部は、カウンタＹがＨ未満であるか否かを判定する。制御部は、カウンタＹの値がＨ未満である場合はステップＳ３３にもどり、そうでない場合はステップＳ３８にすすむ。
【０１０３】
［ステップＳ３８］制御部は、カウンタＸの値に「１」を加算する。
［ステップＳ３９］制御部は、カウンタＸがＷ未満であるか否かを判定する。制御部は、カウンタＸの値がＷ未満である場合はステップＳ３３にもどり、そうでない場合はステップＳ４０にすすむ。
【０１０４】
［ステップＳ４０］制御部は、カウンタｉの値に「１」を加算する。
［ステップＳ４１］制御部は、カウンタｉがＭ未満であるか否かを判定する。制御部は、カウンタｉの値がＭ未満である場合はステップＳ３３にもどり、そうでない場合は処理を終了する。
【０１０５】
次に、第２の実施形態の検証不要領域指定処理について図１３を用いて説明する。図１３は、第２の実施形態の検証不要領域指定処理のフローチャートの一例を示す図である。
検証不要領域指定処理は、基本画像から検証を不要とする領域を指定し、検証不要領域管理情報５００に登録する処理である。検証不要領域指定処理は、画像比較処理のステップＳ３５で情報処理装置１００の制御部（プロセッサ１１１）が実行する処理である。
【０１０６】
［ステップＳ５１］制御部は、対象基本画像に対応する画面定義ファイルを読み出し、画面定義ファイルに対象座標が含まれる画面定義文（レイアウト定義文）が存在するか否かを判定する。ここで、画面定義文（レイアウト定義文）とは、画面定義ファイルに含まれる文のうち、入力枠や表示枠等のオブジェクトの位置や大きさ（レイアウト）を決定する属性（ｔｏｐ，ｂｏｔｔｏｍ，ｌｅｆｔ，ｒｉｇｈｔ，ｈｅｉｇｈｔ，ｗｉｄｔｈ等）を含む文である。
【０１０７】
制御部は、対象座標が含まれる画面定義文が存在する場合はステップＳ５２にすすみ、存在しない場合はステップＳ５３にすすむ。
［ステップＳ５２］制御部は、画面定義文に基づき領域指定枠を差異表示画像に重畳表示する。また、制御部は、領域指定枠を差異表示画像に重畳表示するとともに、領域指定枠の領域を検証不要領域とするか否かを受け付ける要否受付領域も表示する。
【０１０８】
ここで、差異表示画像は、画素に差異のある特定座標が含まれる差異領域に領域指定枠を重畳表示する対象となる画像である。たとえば、差異表示画像は、基本画像でもよいし、エビデンス画像でもよいし、基本画像とエビデンス画像とを重畳した重畳画像でもよい。たとえば、図４は、差異表示画像としてエビデンス画像３０２を用いており、エビデンス画像３０２の差異領域３０４を含む特定フィールド３０７に領域指定枠３１２を重畳表示した一例を示している。また、図４は、領域指定枠３１２を差異表示画像に重畳表示するとともに、領域指定枠３１２を検証不要領域とするか否かを受け付ける要否受付領域３１３を表示した一例を示している。
【０１０９】
［ステップＳ５３］制御部は、対象座標から所定位置に領域指定枠を差異表示画像に重畳表示する。たとえば、制御部は、対象座標が（Ｘ座標「Ｘａ」，Ｙ座標「Ｙａ」）である場合、所定位置（Ｘ座標「Ｘａ−１０」，Ｙ座標「Ｙａ−１０」）から高さ「２０」、幅「２０」の矩形の枠を領域指定枠として表示する。本ステップの処理は、差異のある対象座標を取得したが、画面定義ファイルに対象座標が含まれる画面定義文が存在しないため特定フィールドの座標が不明である場合、制御部が、特定フィールドの代わりの所定位置に領域指定枠を重畳表示する処理である。
【０１１０】
［ステップＳ５４］制御部は、検証不要領域の設定要否を受け付けたか否かを判定する。制御部は、検証不要領域の設定「要」の選択を受け付けた場合はステップＳ５５にすすみ、検証不要領域の設定「否」の選択を受け付けた場合はステップＳ５６にすすむ。
【０１１１】
たとえば、制御部は、ディスプレイ１１４ａに設定要否選択画面３１１を表示し、要否受付領域３１３において「はい（要）」の選択を受け付けた場合はステップＳ５５にすすみ、「いいえ（否）」の選択を受け付けた場合はステップＳ５６にすすむ。
【０１１２】
［ステップＳ５５］制御部は、重畳表示した領域指定枠の領域（Ｘ座標、Ｙ座標、高さ、幅）を登録領域とする。
［ステップＳ５６］制御部は、検証不要領域の変更（領域指定枠の位置、大きさの変更）を受け付けたか否かを判定する。制御部は、検証不要領域を変更する入力を受け付けた場合はステップＳ５７にすすみ、検証不要領域を変更する入力を受け付けない場合はステップＳ５８にすすむ。
【０１１３】
［ステップＳ５７］制御部は、変更後の検証不要領域を登録領域とする。言い換えると、制御部は、ステップＳ５６において領域指定枠の位置や大きさを変更する指示を受け付け、変更後の領域指定枠の領域（Ｘ座標、Ｙ座標、高さ、幅）を登録領域とする。
【０１１４】
［ステップＳ５８］制御部は、検証不要領域の指定をキャンセルし、処理を終了する。
［ステップＳ５９］制御部は、比較した基本画像の画面ＩＤと登録領域（Ｘ座標、Ｙ座標、高さ、幅）とを対応づけたエントリを検証不要領域管理情報５００に登録し、処理を終了する。
【０１１５】
こうして、制御部は、基本画像とエビデンス画像を対比し、差異が生じた部分を領域指定枠で強調表示し、領域指定枠で囲まれた領域を検証不要領域とするか否かの選択をユーザから受け付けることができる。ユーザは、画面に表示された領域指定枠を目視で確認し、必要に応じてマウスポインタ等で領域指定枠の位置や大きさを変更することができる。このため、制御部は、リグレッションテストで用いる検証不要領域の指定を行う際のユーザの操作性および利便性を向上させることができる。
【０１１６】
次に、第２の実施形態の検証処理について図１４を用いて説明する。図１４は、第２の実施形態の検証処理のフローチャートの一例を示す図である。
検証処理は、情報処理装置１００が設定した検証不要領域を用いてリグレッションテストを実行する処理である。情報処理装置１００の制御部（プロセッサ１１１）は、情報処理装置１００を操作するリグレッションテストを実行するユーザから処理実行の指示を受け付け、検証処理を実行する。
【０１１７】
［ステップＳ６１］制御部は、リグレッションテストを特定するテストケースＩＤの入力を受け付ける。
［ステップＳ６２］制御部は、検証不要領域管理情報５００から受け付けたテストケースＩＤに対応するエントリを読み出し、検証不要領域を示す情報（画面ＩＤ、Ｘ座標、Ｙ座標、高さ、幅）を読み出す。
【０１１８】
［ステップＳ６３］制御部は、リグレッションテストの検証対象のエビデンス画像を記憶部から読み出す。たとえば、テスト対象のエビデンス画像がエビデンス画像管理情報５２０において管理されており、受け付けたテストケースＩＤに対応するエビデンス画像を読み出す。
【０１１９】
なお、検証対象のエビデンス画像は、エビデンス画像取得処理と同様の処理によって記憶部に記憶され、エビデンス画像管理情報５２０において管理されているものとする。
［ステップＳ６４］制御部は、検証対象の画面ごとに領域を比較する。具体的には、制御部は、検証対象のエビデンス画像ごとに基本画像と比較し、検証不要領域外に差異があるか否かを検証する。
【０１２０】
［ステップＳ６５］制御部は、検証不要領域外に差異を検出したか否かを判定し、差異を検出しない場合はステップＳ６６にすすみ、差異を検出した場合はステップＳ６７にすすむ。
【０１２１】
［ステップＳ６６］制御部は、検証結果について問題なし（ＯＫ）の旨の比較結果をディスプレイ１１４ａに表示する。
なお、本ステップに至る処理が、検証不要領域設定後の検証イメージ３２０で説明した処理である。
【０１２２】
［ステップＳ６７］制御部は、検証結果について問題あり（ＮＧ）の旨の比較結果をディスプレイ１１４ａに表示する。
なお、本ステップに至る処理が、検証不要領域設定後の検証イメージ３３０で説明した処理である。制御部は、検証結果イメージ３３６に例示したように、検証不要領域外の相違部分を強調してディスプレイ１１４ａに表示する。なお、検証結果イメージ３３６においては、相違部分を点線で囲むように図示したが、これは一例に過ぎない。制御部は、相違部分について、点滅表示や、他の部分と異なる色の表示や、相違部分を指す矢印表示や、注意喚起のメッセージ表示等を行うことができる。これにより、ユーザは、検証対象の画面のどの部分に問題があるかが把握しやすくなる。
【０１２３】
［ステップＳ６８］制御部は、リグレッションテストの検証対象のエビデンス画像のうち未検証の画像があるか否かを判定する。制御部は、未検証のエビデンス画像がある場合、未検証のエビデンス画像を検証対象のエビデンス画像としてステップＳ６４にもどり、未検証のエビデンス画像を順に比較検証を行う。制御部は、未検証のエビデンス画像がない場合、処理を終了する。
【０１２４】
このように、情報処理装置１００において、基本画像とエビデンス画像とを比較して、相違部分について領域指定枠で強調表示し、領域指定枠を用いた画面操作によりリグレッションテストを行うための検証不要領域の指定をユーザから受け付けることができる。これにより、ユーザは、リグレッションテストで用いられる検証不要領域の設定が容易となり、操作性および利便性が向上する。また、ユーザが、画面において領域指定枠の位置や大きさを目視で確認した上で、検証不要領域を設定するため、検証不要領域を設定する際の精度の向上を図ることができる。また、ユーザは、検証不要領域の座標を数値入力により設定するよりも、マウスポインタ等を用いて画面操作で設定するほうが検証不要領域の位置が理解しやすい。これにより、情報処理装置１００は、検証不要領域の設定ミスの低減を図ることができる。
【０１２５】
こうして、情報処理装置１００は、検証テストを行うための検証不要領域の設定を簡易に行うことができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータ１０および情報処理装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Read Only Memory）／ＲＷ（ReWritable）等がある。光磁気記録媒体には、ＭＯ等がある。
【０１２６】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１２７】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【０１２８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【符号の説明】
【０１２９】
１０  コンピュータ
１１  制御部
１２  記憶部
２０  第１態様の結果画像
３０  第２態様の結果画像
４０  第３態様の結果画像
【図１】
2020052861.tif 000003
【図２】
2020052861.tif 000004
【図３】
2020052861.tif 000005
【図４】
2020052861.tif 000006
【図５】
2020052861.tif 000007
【図６】
2020052861.tif 000008
【図７】
2020052861.tif 000009
【図８】
2020052861.tif 000010
【図９】
2020052861.tif 000011
【図１０】
2020052861.tif 000012
【図１１】
2020052861.tif 000013
【図１２】
2020052861.tif 000014
【図１３】
2020052861.tif 000015
【図１４】
2020052861.tif 000016