(57)【特許請求の範囲】
【請求項１】
第１の試験対象物に対する試験でのデータ入力手順を前記第１の試験対象物に関連する第２の試験対象物に対して再現して前記第２の試験対象物の試験を行い、前記第２の試験対象物の試験で生成された、複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像を第２のスクリーンショット画像として取得する試験再現部と、
前記第１の試験対象物に対する試験で生成された、前記複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像である第１のスクリーンショット画像と前記第２のスクリーンショット画像とを比較して前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との差異を抽出し、抽出した差異の特徴量を算出し、
表示コンポーネントごとに、前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間で発生する変化の類型が差異の特徴量と関連付けて複数定義される定義情報を用いて、
抽出した差異が存在する表示コンポーネントにおける前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間の変化がいずれの類型に合致するかを識別する比較識別部とを有する情報処理装置。
【請求項２】
前記試験再現部は、
前記第１の試験対象物に対する試験において、前記データ入力手順と前記第１のスクリーンショット画像を記憶装置に格納し、
前記第２の試験対象物に対する試験において、前記データ入力手順を前記記憶装置から読み出し、前記データ入力手順を前記第２の試験対象物に対して再現し、
前記比較識別部は、
前記第１のスクリーンショット画像を前記記憶装置から読み出し、前記第１のスクリーンショット画像と前記第２のスクリーンショット画像とを比較する請求項１に記載の情報処理装置。
【請求項３】
前記比較識別部は、
前記第１のスクリーンショット画像と前記第２のスクリーンショット画像とを画素単位で比較して前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との差異を抽出する請求項１に記載の情報処理装置。
【請求項４】
前記試験再現部は、
ソフトウェアである前記第１の試験対象物に対する試験でのデータ入力手順をソフトウェアである前記第２の試験対象物に対して再現する請求項１に記載の情報処理装置。
【請求項５】
コンピュータが、第１の試験対象物に対する試験でのデータ入力手順を前記第１の試験対象物に関連する第２の試験対象物に対して再現して前記第２の試験対象物の試験を行い、前記第２の試験対象物の試験で生成された、複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像を第２のスクリーンショット画像として取得する試験再現ステップと、
前記コンピュータが、前記第１の試験対象物に対する試験で生成された、前記複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像である第１のスクリーンショット画像と前記第２のスクリーンショット画像とを比較して前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との差異を抽出し、抽出した差異の特徴量を算出し、
表示コンポーネントごとに、前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間で発生する変化の類型が差異の特徴量と関連付けて複数定義される定義情報を用いて、
抽出した差異が存在する表示コンポーネントにおける前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間の変化がいずれの類型に合致するかを識別する比較識別ステップとを有する情報処理方法。
【請求項６】
第１の試験対象物に対する試験でのデータ入力手順を前記第１の試験対象物に関連する第２の試験対象物に対して再現して前記第２の試験対象物の試験を行い、前記第２の試験対象物の試験で生成された、複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像を第２のスクリーンショット画像として取得する試験再現ステップと、
前記第１の試験対象物に対する試験で生成された、前記複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像である第１のスクリーンショット画像と前記第２のスクリーンショット画像とを比較して前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との差異を抽出し、抽出した差異の特徴量を算出し、
表示コンポーネントごとに、前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間で発生する変化の類型が差異の特徴量と関連付けて複数定義される定義情報を用いて、
抽出した差異が存在する表示コンポーネントにおける前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との間の変化がいずれの類型に合致するかを識別する比較識別ステップとをコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験結果の確認作業を効率化する技術に関する。
【背景技術】
【０００２】
特許文献１では、被試験装置にデータを入力するときに、そのデータを操作シナリオとして記憶し、試験時には、操作シナリオを再生して被試験装置に送出し、被試験装置に表示される表示画面をカメラで撮影し、撮影した表示画面の画像を予めカメラで撮影され記憶されている画像遷移シナリオの該当画像と照合する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３０９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、カメラで撮影された画像と、画像遷移シナリオの画像とを照合する。画像遷移シナリオの画像も事前にカメラで撮影された画像である。このように、特許文献１の技術では、カメラで撮影された画像により表示画面を照合するため、表示画面における差異を高精度に抽出できず、このため、差異が存在する領域を正確に判別することができないという課題がある。
【０００５】
本発明は、このような課題を解決することを主な目的としており、２つの試験により得られた２つの表示画面における差異を高精度に抽出し、差異が存在する領域を正確に判別できるようにすることを主な目的する。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
第１の試験対象物に対する試験でのデータ入力手順を前記第１の試験対象物に関連する第２の試験対象物に対して再現して前記第２の試験対象物の試験を行い、前記第２の試験対象物の試験で生成された、複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像を第２のスクリーンショット画像として取得する試験再現部と、
前記第１の試験対象物に対する試験で生成された、前記複数の表示コンポーネントが含まれる表示画面のスクリーンショット画像である第１のスクリーンショット画像と前記第２のスクリーンショット画像とを比較して前記第１のスクリーンショット画像と前記第２のスクリーンショット画像との差異を抽出し、抽出した差異を解析して、抽出した差異が前記複数の表示コンポーネントのうちのいずれの表示コンポーネントに存在するのかを識別する比較識別部とを有する。
【発明の効果】
【０００７】
本発明によれば、スクリーンショット画像を比較することで、２つの表示画面における差異を高精度に抽出することができ、また、差異が発生する領域を正確に判別することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るＧＵＩ試験画面照合装置のハードウェア構成例を示す図。
【図２】実施の形態１に係るＧＵＩ試験画面照合装置の機能構成例を示す図。
【図３】実施の形態１に係るＧＵＩ試験画面照合装置の動作例を示すフローチャート図。
【図４】実施の形態２に係るＧＵＩ試験画面照合装置の動作例を示すフローチャート図。
【図５】実施の形態２に係るＧＵＩ試験画面照合装置の動作例を示すフローチャート図。
【図６】実施の形態２に係る画素比較の対象となる画像の例を示す図。
【図７】実施の形態２に係る画素比較の例を示す図。
【図８】実施の形態２に係るラベル付けの例を示す図。
【図９】実施の形態２に係る差異パターンの例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊概要＊＊＊
本実施の形態では、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面を有するアプリケーションの試験において、環境アップデート時や回帰試験時の画面確認の自動化及び効率化を図るため、画面のスクリーンショット画像の照合により画面確認を半自動化する方法を説明する。
ソフトウェア開発の現場では、ソフトウェア（Ｓ／Ｗともいう）改修時やＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やライブラリのアップデート時の人手による試験操作や画面確認に工数がかかるという課題がある。さらに、画面確認時にどのような表示異常が生じたか確認し、試験の結果を試験報告書等にまとめる作業に工数がかかるという課題がある。
本実施の形態では、ＧＵＩ試験画面照合装置が初回試験時の操作を記録しておく。この初回試験とは、あるソフトウェアに対して行った、正しい試験結果が得られた試験である。そして、ＧＵＩ試験画面照合装置は、２回目以降の試験を行う際に、記録しておいた操作を自動再生する。２回目以降の試験とは、例えば、初回試験を行ったソフトウェアのアップデート後のソフトウェアに対する試験又は初回試験を行ったソフトウェアの初回試験時とは異なる環境での試験である。
また、本実施の形態に係るＧＵＩ試験画面照合装置は、初回試験時に生成される表示画面のスクリーンショット画像データ（単にスクリーンショット画像又はスクリーンショットともいう）を取得し、記録する。そして、ＧＵＩ試験画面照合装置は、２回目以降の試験で生成される表示画面のスクリーンショット画像を取得し、初回試験時の表示画面のスクリーンショット画像と２回目以降の試験のスクリーンショット画像とを照合する。
ＧＵＩ試験画面照合装置は、画面照合では、画面の合否判定を行い、不合格の画面について画面内の差異の特徴から画面差異のパターンに分類し、その情報を差異パターンごとの強調表示や試験報告書を自動生成するアプリケーションに利用する。
なお、初回試験の対象となるソフトウェアは第１の試験対象物に相当し、２回目以降の試験の対象となるソフトウェアは第２の試験対象物に相当する。前述したように、２回目以降の試験の対象となるソフトウェアは、初回試験の対象のソフトウェアのアップデート後のソフトウェア又は初回試験時とは異なる環境に実装される初回試験の対象のソフトウェアである。このように、第２の試験対象物は第１の試験対象物に関連している。
【００１０】
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るＧＵＩ試験画面照合装置１００のハードウェア構成例を示す。
また、図２は、ＧＵＩ試験画面照合装置１００の機能構成例を示す。
ＧＵＩ試験画面照合装置１００は情報処理装置の例である。また、ＧＵＩ試験画面照合装置１００で行われる動作は、情報処理方法及び情報処理プログラムの例である。
【００１１】
図１に示すように、ＧＵＩ試験画面照合装置１００は、プロセッサ１０１と、メモリ１０２、二次記憶装置１０３、表示器１０４、操作インタフェース１０５を備える。ＧＵＩ試験画面照合装置１００は、コンピュータである。
プロセッサ１０１は、プログラムを実行する。
メモリ１０２は、揮発性の記憶装置である。
二次記憶装置１０３は、不揮発性の記憶装置である。
二次記憶装置１０３には、図２に示すＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６（自動照合処理部２０２、特徴量算出処理部２０３、分類モデル生成処理部２０４、パターン分類処理部２０５）の機能を実現するプログラムが記憶されている。
そして、これらのプログラムが二次記憶装置１０３からメモリ１０２にロードされ、プロセッサ１０１がこれらプログラムを実行して、後述する画面照合処理部２０６（自動照合処理部２０２、特徴量算出処理部２０３、分類モデル生成処理部２０４、パターン分類処理部２０５）の動作を行う。
また、メモリ１０２は、図２の画面データ記録部２１１及び分類モデル記録部２１２として機能する。つまり、メモリ１０２は、画面データ記録部２１１として、初回試験時のデータ入力手順とスクリーンショット画像データを記憶する。また、メモリ１０２は、分類モデル記録部２１２として、後述する分類モデルを記憶する。また、操作記録再生時には、プロセッサ１０１からの指示により、メモリ１０２は、初回試験時のデータ入力手順をプロセッサ１０１に出力する。画面照合時には、プロセッサ１０１からの指示により、メモリ１０２は、スクリーンショット画像データをプロセッサ１０１に出力する。
また、表示器１０４は表示画面を表示するディスプレイ装置である。
操作インタフェース１０５は、マウスやキーボード等の操作のためのインタフェースである。
【００１２】
次に、図２に示す構成要素を説明する。
【００１３】
ＧＵＩ操作記録再生処理部２０１は、初回試験時のデータ入力手順とスクリーンショット画像データを画面データ記録部２１１に格納する。つまり、ＧＵＩ操作記録再生処理部２０１は、第１の試験対象物に相当するソフトウェにア対する初回試験でのデータ入力手順を画面データ記録部２１１に格納する。画面データ記録部２１１は、記憶装置であるメモリ１０２で構成される。ＧＵＩ操作記録再生処理部２０１は、データ入力手順として、ＧＵＩ試験画面照合装置１００のユーザがマウス、キーボードを用いて入力した入力データと、各入力データの入力位置（入力項目）と、入力データの入力順序等を画面データ記録部２１１に格納する。また、ＧＵＩ操作記録再生処理部２０１は、第１の試験対象物に対する初回試験で生成された、スクリーンショット画像を画面データ記録部２１１に格納する。表示画面には、複数の表示コンポーネントが含まれる。図６は、表示画面の例を示す。表示コンポーネントは、表示画面を形成する要素であり、図６の表示画面では、日付、テキストフォーム、ボタンが含まれる。表示画面には、表示コンポーネントとして、図９に示すタイトルバー、アイコン、リストボックス等が含まれる場合がある。なお、初回試験で取得されるスクリーンショット画像は第１のスクリーンショット画像という。
更に、ＧＵＩ操作記録再生処理部２０１は、２回目以降の試験として、データ入力手順を画面データ記録部２１１から読出し、読み出したデータ入力手順を第２の試験対象物に相当するソフトウェアに対して再現して当該ソフトウェアに対する試験を行う。また、ＧＵＩ操作記録再生処理部２０１は、当該試験で生成された、表示画面のスクリーンショット画像を取得する。なお、この試験で取得されるスクリーンショット画像は第２のスクリーンショット画像という。
ＧＵＩ操作記録再生処理部２０１は、第２のスクリーンショット画像を画面データ記録部２１１に格納する。
ＧＵＩ操作記録再生処理部２０１は、試験再現部に相当する。また、ＧＵＩ操作記録再生処理部２０１で行われる処理は、試験再現ステップに相当する。
【００１４】
画面照合処理部２０６は、第１のスクリーンショット画像と第２のスクリーンショット画像を画面データ記録部２１１から読み出し、第１のスクリーンショット画像と第２のスクリーンショット画像とを画素単位で比較する。そして、画面照合処理部２０６は、第１のスクリーンショット画像と第２のスクリーンショット画像との差異を抽出し、抽出した差異を解析して、抽出した差異が複数の表示コンポーネントのうちのいずれの表示コンポーネントに存在するのかを識別する。更に、画面照合処理部２０６は、抽出した差異が存在する表示コンポーネントが第１のスクリーンショット画像と第２のスクリーンショット画像との間でどのように変化しているのかを識別する。より具体的には、画面照合処理部２０６は、分類モデルを用いて、差異が存在する表示コンポーネントにおける第１のスクリーンショット画像と第２のスクリーンショット画像との間の変化がいずれの類型に合致するかを識別する。分類モデルは、表示コンポーネントごとに、第１のスクリーンショット画像と第２のスクリーンショット画像との間で発生する変化の類型が差異の特徴量と関連付けて複数定義される定義情報である。以下では、変化の類型を差異パターンともいう。
画面照合処理部２０６は、比較識別部に相当する。また、画面照合処理部２０６で行われる処理は、比較識別ステップに相当する。
また、画面照合処理部２０６は、図２に示すように、自動照合処理部２０２、特徴量算出処理部２０３、分類モデル生成処理部２０４、パターン分類処理部２０５で構成される。
以下にて、自動照合処理部２０２、特徴量算出処理部２０３、分類モデル生成処理部２０４、パターン分類処理部２０５を説明する。
【００１５】
自動照合処理部２０２は、画面データ記録部２１１から第１のスクリーンショット画像と第２のスクリーンショット画像を読み出し、画素値の比較による画像の完全一致／不一致判定を行う。また、自動照合処理部２０２は、不一致と判定された画像について、差異がある画素を抽出する。
【００１６】
特徴量算出処理部２０３は、自動照合処理部２０２で抽出した差異画素について、特徴量算出を行う。
【００１７】
分類モデル生成処理部２０４は、特徴量算出処理部２０３で算出した特徴から分類モデルを生成し、生成した分類モデルを分類モデル記録部２１２に格納する。
【００１８】
パターン分類処理部２０５は、分類モデル記録部２１２から分類モデル、画面データ記録部２１１からスクリーンショット画像を読み出し、画面内の差異を差異パターンに分類する。
【００１９】
＊＊＊動作の説明＊＊＊
ＧＵＩ操作記録再生処理部２０１は、初回試験におけるデータ入力手順及び表示画面のスクリーンショット画像（第１のスクリーンショット画像）を画面データ記録部２１１に格納する。また、ＧＵＩ操作記録再生処理部２０１は、画面データ記録部２１１からデータ入力手順を読み出し、データ入力手順の再生を行い、そのときに表示される表示画面のスクリーンショット画像（第２のスクリーンショット画像）を取得し、第２のスクリーンショット画像を画面データ記録部２１１に格納する。
【００２０】
自動照合処理部２０２は、画面データ記録部２１１から第１のスクリーンショット画像と第２のスクリーンショット画像を読み出し、両画像の画素値を比較することによって両画像が完全に一致しているかどうかを判定する。
また、自動照合処理部２０２は、画素値が異なる画素の座標情報を抽出する。
そして、特徴量算出処理部２０３が、自動照合処理部２０２により抽出された差異画素について特徴量算出を行う。このときの特徴量に、差異画素が存在している領域の幅、高さ、面積、画素値の最大、最小、平均、分散、局所特徴量やエッジ特徴等を使用してもよい。
次に、分類モデル生成処理部２０４が、特徴量算出処理部２０３により算出された特徴量により、画面差異を差異パターンに分類するための分類モデルを生成する。各差異パターンについて、ユーザが差異パターンをラベル付けし、前述の差異画素の特徴量とラベルによる教師あり学習で分類モデルを生成してもよい。あるいは、ラベル付けせずに教師なし学習でクラスタリングし、分類モデルを生成してもよい。分類モデル生成処理部２０４は、生成した分類モデルを分類モデル記録部２１２に格納する。
パターン分類処理部２０５は、分類モデル記録部２１２から分類モデルを読み出し、画面データ記録部２１１から第１のスクリーンショット画像と第２のスクリーンショット画像を読み出し、第１のスクリーンショット画像と第２のスクリーンショット画像を照合し、その差異を、分類モデルにしたがって差異パターンに分類する。
【００２１】
次に、図３のフローチャートを参照して、本実施の形態に係るＧＵＩ試験画面照合装置１００の動作例を説明する。
【００２２】
まず、ステップＳＴ３０１で、ＧＵＩ操作記録再生処理部２０１が、マウスやキーボードなどの操作内容（データ入力手順）を取得し、取得した操作内容を画面データ記録部２１１に記憶させる。
また、ステップＳＴ３０２で、ＧＵＩ操作記録再生処理部２０１は、表示画面のスクリーンショット画像（第１のスクリーンショット画像）を取得する。図３では、１回の操作記録の際に１枚スクリーンショットを取得するようになっているが、画面が遷移するたびにスクリーンショットを取得するというように、１回の操作記録で複数枚のスクリーンショットを取得してもよい。
次に、ステップＳＴ３０３で、ＧＵＩ操作記録再生処理部２０１が、ステップＳＴ３０１で記録した操作内容を再生し、ステップＳＴ３０４で、その際の表示画面のスクリーンショット画像（第２のスクリーンショット画像）を取得する。
次に、ステップＳＴ３０５で、自動照合処理部２０２が、第１のスクリーンショット画像と第２のスクリーンショット画像が完全に一致するかどうかの判定を行う。第１のスクリーンショット画像と第２のスクリーンショット画像が完全には一致していない場合は、自動照合処理部２０２は、画面内の差異画素の座標を求める。
次に、特徴量算出処理部２０３が、ステップＳＴ３０６で差異画素の座標から、差異領域のサイズ、画素値の差分の平均等の画面の差異の特徴量を抽出する。
分類モデルを生成しておらず、分類モデルの学習を行う場合（ステップＳＴ３０７でＮＯ）は、ステップＳＴ３０８で分類モデル生成処理部２０４が分類モデルを生成する。そして、分類モデル生成処理部２０４は、生成した分類モデルを分類モデル記録部２１２に格納する。
すでに分類モデルが生成済みであり、分類モデルにより差異パターンの分類を行う場合（ステップＳＴ３０７でＹＥＳ）は、パターン分類処理部２０５が、ステップＳＴ３０９で、分類モデルを分類モデル記録部２１２から読み出し、差異パターンの分類を行う。
【００２３】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、初回試験時の操作を記録し、２回目以降の試験については記録しておいた操作を再生する。また、操作記録・再生時の画面スクリーンショット画像を照合し、その画面差異を差異のパターンごとに分類する。このため、本実施の形態によれば、Ｓ／Ｗ改修時やＯＳやライブラリのアップデート時の人手による試験操作や画面確認、試験報告書等の試験実施のエビデンス作成作業を効率化できる。
【００２４】
実施の形態２．
本実施の形態では、実施の形態１で説明した動作手順をより具体的に説明する。本実施の形態では、テキストフォーム、ボタン、タイトルバー、リストボックス等のＧＵＩの基本的なコンポーネントを含む画面を持つ標準的なＷｅｂアプリケーションのソフトウェア試験を例とする。
【００２５】
＊＊＊構成の説明＊＊＊
本実施の形態におけるハードウェア構成例（図１）及び機能構成例（図２）は実施の形態１と同様である。
【００２６】
＊＊＊動作の説明＊＊＊
ＧＵＩ操作記録再生処理部２０１は、試験対象アプリケーションの初回試験時の操作内容を記録し、表示画面のスクリーンショット画像（第１のスクリーンショット画像）を記録する。例えば、Ａ画面→Ｂ画面→Ｃ画面と遷移していく場合、ＧＵＩ操作記録再生処理部２０１は、Ａ画面、Ｂ画面、Ｃ画面それぞれのスクリーンショットを記録する。また、ＧＵＩ操作記録再生処理部２０１は記録した操作内容の再生を行い、そのときに表示される表示画面のスクリーンショット画像（第２のスクリーンショット画像）を記録する。このとき、ＧＵＩ操作記録再生処理部２０１は、操作記録時にスクリーンショット画像を取得した表示画面に対応する表示画面のスクリーンショット画像を記録するようにする。表示画面のスクリーンショット画像は画面データ記録部２１１に保存される。
【００２７】
自動照合処理部２０２は、画面データ記録部２１１から第１のスクリーンショット画像と第２のスクリーンショット画像を読み出し、図６に示すように、両画像の同じ座標の画素値を比較することによって両画像が完全に一致しているかどうかを判定する。自動照合処理部２０２は、画面内の全ての画素値を比較し、全ての画素値が同じである場合は完全一致と判定し、一つでも画素値が異なる場合は不一致と判定するようにしてもよい。あるいは、自動照合処理部２０２は、第１のスクリーンショット画像と第２のスクリーンショット画像の各々からエッジや局所特徴量等の特徴点を抽出し、対応点を求め、（対応点の数×２）／（２つの画像の特徴点の個数の合計）が閾値以下である場合に不一致と判定してもよい。このときの閾値は過去の事例をベースに決定してもよい。
また、第１のスクリーンショット画像と第２のスクリーンショット画像が不一致の場合に、自動照合処理部２０２は、画素値が異なる画素の座標情報から差異領域を抽出する。そして、特徴量算出処理部２０３が各差異領域について特徴量算出を行う。このときの特徴量に、差異画素が存在している領域の幅、高さ、面積、画素値の最大、最小、平均、分散、局所特徴量やエッジ特徴等を使用してもよい。
【００２８】
特徴量の抽出の手順の例を説明する。
まず、特徴量算出処理部２０３は、第１のスクリーンショット画像と第２のスクリーンショット画像について、同じ座標の画素の輝度値（ＲＧＢでそれぞれ０〜２５５）を比較し、異なる場合、差異画素として座標を保存する。次に、図７のように差異画素を画面内にマッピングして、差異画素が生じているテキストフォーム、タイトルバー、ボタン等のＧＵＩ画面内の表示コンポーネントを差異領域として抽出する。そして、特徴量算出処理部２０３は、各差異領域について、領域の幅、高さ、面積、輝度値の差分の最大値、平均値を特徴量として算出しておく。
【００２９】
次に、ＧＵＩ試験画面照合装置１００のユーザが、図８で表しているように、テキストフォーム、タイトルバー、ボタン等のＧＵＩ画面内の表示コンポーネントを定義し、表示コンポーネントごとにラベル（属性）を付与する。
特徴量算出処理部２０３は、図８で表しているように、テキストフォーム上の差異領域であれば、“テキストフォーム”、ボタン上の差異領域であれば、“ボタン”というラベル付けを行う。
【００３０】
分類モデル生成処理部２０４は、各差異領域のラベルと算出した特徴量からＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）等の教師あり学習によるクラスタリング手法により分類モデルを生成する。生成された分類モデルは、特徴量を入力するとラベルが出力されるものであり、これにより、ラベルに対応する差異パターンに分類することができる。
ＧＵＩ画面の差異パターンの例には、画面全体の位置ずれ、日付や時刻、ユーザＩＤ等の表示されている文字の差異、テキストフォーム内の文字の差異、コンボボックスやリストボックスで選択している項目の差異、ボタンフォーカスがあるかないか等がある。図９は、表示コンポーネントごとの差異パターンの例を示す。分類モデルでは、表示コンポーネントごとに、第１のスクリーンショット画像と第２のスクリーンショット画像との間の差異が図９のいずれの差異パターンに該当するかを判別するための基準が特徴量と関連付けて定義されている。各差異領域について、ユーザが差異パターンをラベル付けし、前述の差異画素の特徴量とラベルによる教師あり学習で分類モデルを生成してもよい。生成した分類モデルの情報は分類モデル記録部２１２に保存される。
【００３１】
パターン分類処理部２０５は、分類モデル記録部２１２から、分類モデル生成処理部２０４で生成された分類モデルを読み出し、画面データ記録部２１１から第１の画面スクリーンショット画像と第２の画面スクリーンショット画像を読み出す。そして、パターン分類処理部２０５は、第１の画面スクリーンショット画像と第２の画面スクリーンショット画像を照合し、その差異について、分類モデルにしたがって差異パターンに分類する。つまり、パターン分類処理部２０５は、差異が存在する表示コンポーネントが第１のスクリーンショット画像と第２のスクリーンショット画像との間でどのように変化しているのかを識別する。
【００３２】
次に、図４及び図５のフローチャートを参照して、本実施の形態に係るＧＵＩ試験画面照合装置１００の動作例を説明する。本実施の形態では、画面Ａ、画面Ｂ、画面Ｃの３画面で構成されるアプリケーションについて、画面Ａと画面Ｂについて操作を行う試験ケースを対象としている。
ステップＳＴ４０１〜ステップＳＴ４０５はＧＵＩ操作記録、ステップＳＴ４０６〜ステップＳＴ４１０はＧＵＩ操作再生、ステップＳＴ４１１〜ステップＳＴ４１７はＧＵＩ画面照合の処理を表している。
【００３３】
まず、ＧＵＩ操作記録再生処理部２０１が、ステップＳＴ４０１で、画面Ａのスクリーンショットを取得し、ステップＳＴ４０２で、画面Ａについての操作内容を記録する。次に、画面Ｂに遷移したら、ＧＵＩ操作記録再生処理部２０１は、ステップＳＴ４０３で画面Ｂのスクリーンショットを取得し、ステップＳＴ４０４で画面Ｂについての操作を記録する。次に、画面Ｃに遷移したら、ＧＵＩ操作記録再生処理部２０１は、ステップＳＴ４０５で画面Ｃのスクリーンショットを取得し、操作記録を終了する。
【００３４】
次に、操作再生を開始すると、ＧＵＩ操作記録再生処理部２０１は、ステップＳＴ４０６で画面Ａのスクリーンショットを取得し、ステップＳＴ４０７で画面Ａでの操作が再生される。次に、画面Ｂに遷移すると、ＧＵＩ操作記録再生処理部２０１は、ステップＳＴ４０８で画面Ｂのスクリーンショットを取得し、ステップＳＴ４０９で画面Ｂでの操作が再生される。次に、ＧＵＩ操作記録再生処理部２０１は、画面Ｃに遷移するとステップＳＴ４１０で画面Ｃのスクリーンショットを取得する。
【００３５】
取得した操作記録・再生時のスクリーンショット画像について、自動照合処理部２０２が、ステップＳＴ４１１で完全一致かどうかの判定を行う。画面Ａ〜画面Ｃのいずれかにおいてスクリーンショット画像の対が完全に一致していない場場合は、自動照合処理部２０２が、完全に一致していないスクリーンショット画像の対について、ステップＳＴ４１２で画面内の差異画素の座標を求める。次に、特徴量算出処理部２０３が、ステップＳＴ４１３で差異画素の座標情報から差異領域を抽出して、ステップＳＴ４１４で各差異領域について、差異領域のサイズ、画素値の差分の平均等の差異画面の特徴量を抽出する。
分類モデルを生成しておらず、分類モデルの学習を行う場合（ステップＳＴ４１５でＮＯ）は、ステップＳＴ４１６で分類モデル生成処理部２０４が分類モデルを生成する。そして、分類モデル生成処理部２０４は、生成した分類モデルを分類モデル記録部２１２に格納する。
すでに分類モデルが生成済みであり、分類モデルにより差異パターンの分類を行う場合（ステップＳＴ４１５でＹＥＳ）は、パターン分類処理部２０５が、ステップＳＴ４１７で、分類モデルを分類モデル記録部２１２から読み出し、差異パターンの分類を行う。
【００３６】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、ＧＵＩ試験画面照合装置１００のハードウェア構成の補足説明を行う。
図１に示すプロセッサ１０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
メモリ１０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
二次記憶装置１０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
【００３７】
二次記憶装置１０３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ１０１により実行される。
プロセッサ１０１はＯＳの少なくとも一部を実行しながら、ＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６（自動照合処理部２０２、特徴量算出処理部２０３、分類モデル生成処理部２０４、パターン分類処理部２０５）の機能を実現するプログラムを実行する。
図１では、１つのプロセッサが図示されているが、ＧＵＩ試験画面照合装置１００が複数のプロセッサを備えていてもよい。
また、ＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６の処理の結果を示す情報やデータや信号値や変数値が、メモリ１０２、二次記憶装置１０３、プロセッサ１０１内のレジスタ又はキャッシュメモリに記憶される。
また、ＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００３８】
また、ＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、ＧＵＩ試験画面照合装置１００は、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
この場合は、ＧＵＩ操作記録再生処理部２０１及び画面照合処理部２０６は、それぞれ電子回路の一部として実現される。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【符号の説明】
【００３９】
１００  ＧＵＩ試験画面照合装置、１０１  プロセッサ、１０２  メモリ、１０３  二次記憶装置、１０４  表示器、１０５  操作インタフェース、２０１  ＧＵＩ操作記録再生処理部、２０２  自動照合処理部、２０３  特徴量算出処理部、２０４  分類モデル生成処理部、２０５  パターン分類処理部、２０６  画面照合処理部、２１１  画面データ記録部、２１２  分類モデル記録部。
【図１】
0006410749.tif 000002
【図２】
0006410749.tif 000003
【図３】
0006410749.tif 000004
【図４】
0006410749.tif 000005
【図５】
0006410749.tif 000006
【図６】
0006410749.tif 000007
【図７】
0006410749.tif 000008
【図８】
0006410749.tif 000009
【図９】
0006410749.tif 000010