(57)【要約】【課題】  本発明はソフトウェア開発の試験工程にて適用する。アプリケーションを動作させるためのスクリプトを有する試験環境において、アプリケーションの挙動を分析してスクリプトを自動的に補正するものである。【解決手段】  ＧＵＩを有するシステムの自動試験において、自動試験を行うための自動試験システムがＧＵＩを制御するタイミングと画像情報とを比較した結果（ログ情報）を保存し、補正ツールがそのログ情報を解析し、自動試験システムのスクリプトを修正し試験時のエラーを排除する補正機能を持つ自動試験システム。【選択図】図１
2006268666.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つ自動試験システムであって、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較手段と、
前記結果・画像比較手段における比較結果をログ情報ファイルとして出力するログ出力手段と、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析手段と、
前記ログ解析手段によって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正手段と、
を有することを特徴とする自動試験システム。
【請求項２】
前記スクリプト補正手段の補正値は、前記システムの実行画面と前記画像ファイルに登録された画像とを比較する際の画面切替の比較周期、あるいは比較回数として設定されることを特徴とする請求項１に記載の自動試験システム。
【請求項３】
前記スクリプト補正手段は、予めユーザが定義した補正値をユーザ定義ファイル、あるいは過去の補正値による判定結果を蓄積した統計データファイルを参照してエラーを修正する補正値を決定することを特徴とする請求項１または２に記載の自動試験システム。
【請求項４】
グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つ自動試験方法であって、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較ステップと、
前記結果・画像比較ステップにおける比較結果をログ情報ファイルとして出力するログ出力ステップと、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析ステップと、
前記ログ解析ステップによって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正ステップと、
を有することを特徴とする自動試験方法。
【請求項５】
グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つプログラムであって、
コンピュータに、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較ステップと、
前記結果・画像比較ステップにおける比較結果をログ情報ファイルとして出力するログ出力ステップと、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析ステップと、
前記ログ解析ステップによって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを動作させるためのスクリプトを有する試験環境において、アプリケーションの挙動を分析してスクリプトを自動的に補正する技術に関する。
【背景技術】
【０００２】
近年、ソフトウェア開発における試験作業は次第に自動化される傾向にある。試験の自動化は、試験工数を削減するだけではなく、試験操作や結果判断の正確性を向上させ、ソフトウエアの開発には欠かせない有効なツールとなっている。
【０００３】
また、アプリケーションにおいては可視化が進み、ＧＵＩ（Graphical User Interface）を用いたスタイルが多用されるようになってきている。
【０００４】
こうした試験の自動化やＧＵＩアプリケーションの多用に対して、ＧＵＩアプリケーションに関する試験を自動化する試みがなされている。例えば、予め用意しておいた画像情報と、実際に試験対象のアプリケーションを動作させたときの画像情報とを比較し、ＧＵＩアプリケーションの挙動の良否を判断するといった技術などが提案されている（特許文献１参照）。
【０００５】
しかしながら、従来の試験システムは、スクリプト内に設定してある画像比較タイミングが、ＧＵＩの実際の挙動と一致していないとき、試験を継続することができなくなり試験作業に支障が生じていた。その中断した試験システムを期待通りに動作させるため、スクリプトは人手で修正せざるを得ず、多くの工数を必要としていた。
【特許文献１】特開平８−２４１１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、上記問題を解決するため、本発明の試験システムでは、ＧＵＩの様々な画像パターンを用意しておき、試験スクリプトを実行したときのＧＵＩの挙動と画像パターンを比較し、結果をログ情報として記録しておき、そのログ情報を解析することによって、エラーログに対し試験スクリプトを自動補正する技術を提供する。
【課題を解決するための手段】
【０００７】
第一の発明は、グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つ自動試験システムであって、前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較手段と、前記結果・画像比較手段における比較結果をログ情報ファイルとして出力するログ出力手段と、前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析手段と、前記ログ解析手段によって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正手段と、を有することを特徴とする自動試験システムに関する。
【０００８】
すなわち、第一の発明によれば、結果・画像比較手段が、ＧＵＩの試験スクリプトを実行させて得られたＧＵＩシステムの実画面と予め登録された画像を比較し、ログ出力手段が、その比較結果をログ情報ファイルとして出力し、ログ解析手段が、ログ情報ファイルからエラーログを検出して、どのタイミングで画面不一致が発生していたのかを解析し、スクリプト補正手段が、解析結果に基づいてエラーログに対する試験スクリプトの補正を行うことで、エラーが自動的に排除され、ソフトウェア開発の試験者がエラー内容を意識することなく、試験スクリプトに期待通りの動作を実現させることが可能となる。
【０００９】
これによって、従来煩雑となっていたソフトの試験作業を円滑に進めることが可能となり、また、試験スクリプトの保守が容易となる。
【００１０】
第二の発明は、前記スクリプト補正手段の補正値は、前記システムの実行画面と前記画像ファイルに登録された画像とを比較する際の画面切替の比較周期、あるいは比較回数として設定されることを特徴とする上記第一の発明に記載の自動試験システムに関する。
【００１１】
すなわち、第二の発明によれば、スクリプト補正部は、切替画面の比較補正値として、１００ｍｓ、５０ｍｓ、１０ｍｓといった比較周期情報、あるいは、１０回、２０回、３０回などの比較回数情報を定義しておくことによって、試験者が意図する情報で試験スクリプトを実行させることができ、無駄な試験をすることがなくなり、試験の作業効率を向上させるものとなる。
【００１２】
第三の発明は、前記スクリプト補正手段は、予めユーザが定義した補正値をユーザ定義ファイル、あるいは過去の補正値による判定結果を蓄積した統計データファイルを参照してエラーを修正する補正値を決定することを特徴とする上記第一または第三の発明に記載の自動試験システムに関する。
【００１３】
すなわち、第三の発明によれば、スクリプト補正手段は、ユーザが予め定義した補正値、あるいは過去に補正値を適用した場合の成否の結果を基にした統計データによる補正値を採用するかの選択肢が広がり、より適正な試験の実行を可能とする。
【発明の効果】
【００１４】
本発明によれば、ログ解析手段が、ログ情報ファイルからエラーログを検出して、どのタイミングで画面不一致が発生していたのかを解析し、スクリプト補正手段が、解析結果に基づいてエラーログに対する試験スクリプトの補正を行うことによって、エラーが自動的に排除され、ソフトウェア開発の試験者がエラー内容を意識することなく、試験スクリプトに期待通りの動作を実現させることが可能となる。これによって、従来煩雑となっていたソフトの試験作業を円滑に進めることが可能となり、試験スクリプトの保守が容易となる。
【００１５】
また、試験者が、ＧＵＩ試験スクリプトの予め比較周期、および比較回数を定義しておくことによって、試験者が意図する情報で試験スクリプトを実行させることができ、無駄な試験をすることがなくなり、試験の作業効率を向上させるものとなる。
【００１６】
さらに、過去に補正値を適用した場合の成否の結果を基にした統計データによる補正値を選択肢として加えることによって、より適正な試験の実行を可能とする。
【発明を実施するための最良の形態】
【００１７】
以下、図面にもとづいて本発明の実施形態を説明する。
図１は、本発明の実施の形態になる補正機能を備えたＧＵＩ自動試験システムの基本構成を示す。本発明のシステムは、自動試験システム１と、その試験評価の対象となる各種イベントによって画面が切り替わるＧＵＩシステム２とで構成される。
【００１８】
自動試験システム１は、自動試験システム全体を制御する自動試験制御部１１、ＧＵＩシステム２を動作させるための試験スクリプトファイル１００（サンプルデータ１−図２）と、ＧＵＩ実行部１２がＧＵＩシステム２を試験スクリプトによって動作させた結果、表示される画面１３と予め用意された画面情報ファイル２００の画像情報とを比較する結果・画像比較部１４、その比較結果をログ情報ファイル３００（サンプルデータ２−図３）として出力するログ出力部１５、ログ情報ファイル２００のログ内容を解析し、どの手順で画像比較タイミングの不一致が発生していたかを解析するログ解析部１６、および的確な補正値をスクリプトへ反映する（サンプルデータ３−図４）スクリプト補正部１７で構成される。
【００１９】
上記したサンプルデータ１、サンプルデータ２、およびサンプルデータ３は、それぞれ図２、図３、および図４に示す。
【００２０】
図２は、本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト例( サンプルデータ１: 補正前) を示す。試験スクリプトは、ＧＵＩを動作させるためのシナリオが書かれたスクリプトファイルで、補正機能を持つ自動試験装置１によって実行され、その実行の結果、表示される実画像が予めの登録画面と不一致となったときに、スクリプトの比較周期あるいは比較回数の値が補正される。
【００２１】
なお、試験スクリプトを実行させた結果、表示される実画面と比較する画像情報は、ＧＵＩシステムに表示される画像と同一の画像をイメージファイルとして格納したもので、試験者によって予め用意される。
【００２２】
実施例では、携帯電話に内蔵されたＧＵＩアプリケーションがうまく動作しているかを試験するスクリプトを示しており、携帯電話の「モード設定」において、実画像の切替を確認する例を取り上げている。
【００２３】
スクリプトの各行のコマンドは、まず、携帯電話における各設定キーのテストを実行し、（ａ）行において、シナリオｏｓ−０１の画像ｏｓ−０１−３．ｉｍｇの繰り返し試験を５００ｍｓの周期で２０回実行することを意味している。
【００２４】
図３は、本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト実行結果のログ内容( サンプルデータ２）を示す。サンプルデータ２は、ログ情報ファイル３００としてログ出力部１５によって出力されたサンプルデータ１の試験スクリプトを実行した結果、表示された実画面の判定結果のログ内容が、日時、試験内容、試験対象、および判定結果の情報として記されている。例では、（ｂ）行において、画像の繰り返し試験がエラーとなり、「受信失敗」の判定が記されている。
【００２５】
図４は、本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト例( サンプルデータ３: 補正後) を示す。サンプルデータ３は、ログ解析部１６でエラーが解析され、スクリプト補正部１７において、補正値を特定した上で、その特定した補正値をスクリプトに反映させた例を示している。
【００２６】
実施例では、（ａ）行において、比較周期が４００ｍｓ、比較回数が２５回に、スクリプトが補正された場合を示している。
【００２７】
図５は、本発明の実施の形態になる自動試験システムの補正処理の構成を示す。
自動試験システム１の補正処理する本構成図は、比較周期を補正する場合を想定したスクリプト補正部１７の処理構成を示したものである。
【００２８】
補正処理の構成は、ユーザ定義または過去の統計データによる補正値を選択する補正手段特定部２１、ユーザ定義による補正値を特定するユーザ定義補正値特定部２２、補正値の上限を判断する補正値上限判定部２３、ユーザ定義による上限値を特定するユーザ定義上限値特定部２４、過去の補正による判断データを統計データＤＢ（データベース）４００に蓄積する統計データ蓄積部２５、統計データファイル４００を参照して統計データ補正値特定部２６、および統計データファイル４００を参照して上限値を特定する統計データ上限値特定部２７とからなる。
【００２９】
図中の（ア）は、試験スクリプトに適用するユーザ定義補正値あり、例えば、１０ｍｓ〜１００ｍｓの比較周期の値と１０回〜２０回の比較回数が設定されていることを示す。      
【００３０】
また、（イ）は、ユーザ定義補正値アの数値範囲から比較周期の上限値を１０ｍｓ、比較回数の上限値を３０回が設定された例を示している。
【００３１】
図６は、本発明の実施の形態になる自動試験システムにおけるエラー判定処理の構成を示す。本図は、ログの解析により試験項目やシステムのリトライを実施したり、エラー発生時の情報を通知したりするための手段について、具体的に実施する構成を示している。
【００３２】
ログの解析を行うログ解析部１６は、エラーが発生した場合に補正限界内( 比較周期、比較回数の調整余地がある場合) か、補正限界超過( 比較周期、比較回数の上限値超過した場合）なのかを解析するエラー判定部２０、補正限界超過時に情報を試験者へ通知する通信制御部３０、その際にシステムやＯＳ（Operating System）の再起動を実施する再起動制御部４０、および再起動時に補正限界超過となった試験項目の次の項目から試験を実施するシナリオ起動制御部５０とで構成される。
【００３３】
また、通信制御部３０は、エラーメッセージをメール送信するメール送信部３１、およびエラーメッセージを表示する表示部３２とで構成される。
【００３４】
さらに、再起動制御部４０は、試験スクリプト、ＧＵＩシステム２、およびパソコンの再起動を制御する試験スクリプト再実行制御部４１、ＧＵＩシステム再起動制御部４２、およびＰＣ再起動制御部４３で構成される。
【００３５】
ここで、本発明になる試験スクリプトの補正機能を持つ自動試験システム１の原理を説明する。ＧＵＩ試験スクリプトで表示される実画像と登録画像の比較判定結果から以下の３つのケースにて以下の補正が想定される。
ケース１（確認ＯＫの場合）：自動試験システム１が正常に動作したときの例で、試験スクリプトに問題はないため試験スクリプトの補正は特に行わない。
ケース２（比較周期が長いことによる確認ＮＧの場合）：ログ情報ファイル３００のログ内容をもとに比較周期が長いことによる失敗と判断した場合に相当し、スクリプト補正部１７は、比較周期を段階的に短縮することによって、比較周期の適正値を求める。
ケース３（比較回数が少ないことによる確認ＮＧの場合）：ログ情報ファイル３００のログ内容をもとに比較回数が少ないことによる失敗と判断した場合に相当し、スクリプト補正部１７は、比較回数を段階的に増加させることによって、比較回数の適正値を求める。      
【００３６】
さらに、試験スクリプトおよびその補正手順について説明する。
＜試験スクリプト＞
ＧＵＩを動作させるためのシナリオが書かれたスクリプトファイルであり、試験の目的によって試験者が自由に作成、変更が可能である。自動試験装置１の自動試験制御部１１によって実行され、ログ解析部１６によって解析された結果にしたがって、スクリプト補正部１７によって補正される。以下に、試験スクリプトの例を説明する。
【００３７】
//モード設定時の動作を確認
//スクリプトの操作によって画像a が画像ｂ、画像ｃと遷移することを確認
replywait wait 100 retry 10 b.img 
//画像ｂと実際のＧＵＩ画像を100ms 周期、10回で比較
key # press 4000 count 1
//「＃」キーを４０００ｍｓ間、１回押下
loop end
//画像比較処理終了
replywait wait 100 retry 10 c.img 
//画像ｃと実際のＧＵＩ画像を１００ｍｓ周期にて10回比較
key # press 4000 count 1   wait 1000
//１０００ｍｓ間待つ。
loop end
//画像比較処理終了
上記に適用される画像情報は、試験スクリプトを実行したときにＧＵＩシステムに表示される画像をイメージファイルで、試験者によってが予め用意されるものである。
【００３８】
＜スクリプト補正手順（周期補正のケース）＞
□補正前の試験スクリプト
replywait wait 100 retry 10 b.img   （→比較周期をＸとする）
key # press 4000 count 1
loop end
replywait wait 100 retry 10 c.img 
key # press 4000 count 1 wait 1000
loop end
□ユーザ定義補正値
補正手段                    一定時間
比較周期情報（一定時間）    １０（ｍｓ）（→定義値をＹとする）
比較周期情報（一定割合）    １０％
上記の条件における補正手順を以下に示す。
（１）試験スクリプトから画像比較周期Ｘを取得
Ｘ＝１００（ｍｓ）
（２）ユーザ定義補正値に「一定時間」と定義されているためユーザ定義補正値から比較      周期情報（一定時間）の値Ｙを取得
Ｙ＝１０（ｍｓ）
（３）次式により補正値Ｚを算出
一定時間：Ｘ−Ｙ＝Ｚ
一定割合：Ｘ＊Ｙ／１００＝Ｚ
（４）ユーザ定義補正値に「一定時間」と定義されているため（３）の一定時間の算出式      を使用
Ｚ＝１００（ｍｓ）−１０（ｍｓ）＝９０（ｍｓ）
（５）Ｚを試験スクリプトへ反映
replywait wait 90 retry 10 b.img
＜スクリプト補正手順（回数補正のケース）＞
□補正前の試験スクリプト
replywait wait 100 retry 10  b.img  （→比較回数をＸとする）
key # press 4000 count 1
loop end
replywait wait 100 retry 10 c.img 
key # press 4000 count 1    wait 1000 
loop end
□ユーザ定義補正値
補正手段：                    一定割合
比較回数情報（一定時間）：    ２０回
比較回数情報（一定割合）      ２００％    （→定義値をＹとする）
上記の条件における補正手順を以下に示す。
（１）試験スクリプトから画像比較回数Ｘを取得
Ｘ＝１０（回）
（２）ユーザ定義補正値に「一定割合」と定義されているためユーザ定義補正値から比        較回数情報（一定割合）の値Ｙを取得
Ｙ＝２００（％）
（３）次式により補正値Ｚを算出
一定時間：Ｘ＋Ｙ＝Ｃ
一定割合：Ｘ＊Ｙ／１００＝Ｚ
（４）ユーザ定義補正値に「一定割合」と定義されているため一定割合の算出式を使用
Ｚ＝１０（回）＊２００（％）／１００＝２０（回）
（５）Ｚを試験スクリプトへ反映
replywait wait 100 retry 20 b.img
つぎに、図７〜図２０を用いて、補正機能を持つ自動試験装置１の動作フローについて説明する。
【００３９】
図７は、本発明の実施の形態になる自動試験システムにおけるＧＵＩ試験スクリプトを補正する全体の処理フローを示す。
【００４０】
まず、ステップＳ１１において、自動試験制御部１１は、試験スクリプトにそって、ＧＵＩ実行部１２を経由してＧＵＩシステム２のＧＵＩアプリケーションを実行する。ステップＳ１２において、ＧＵＩを実行した結果、結果・画像比較部１４によって、画面１３に表示される実画像と予め用意された画像情報ファイル２００の画像とが比較され、ステップＳ１３で、ログ出力部によってログ情報ファイル３００に実行結果が出力される。
【００４１】
さらに、ステップＳ１４において、ログ解析手段１６によって、上記出力されたログ情報ファイル３００を参照しログ内容の解析が行われる。そして、ステップＳ１５において、ログ情報にエラーが存在するか否かを判定する。その結果、エラー情報が存在しなければ処理は終了し、エラー情報が存在する場合は、ステップＳ１６において、スクリプト補正部１７が補正値を特定し、ステップＳ１７において、その補正値にしたがって試験スクリプトを補正する。その後、自動試験制御部１１によって、再度、補正した試験スクリプトにてＧＵＩが実行される。
【００４２】
つぎに、本発明の主となる機能であるログ解析部およびスクリプト補正部の処理動作について図８および図９を用いて説明する。
【００４３】
図８は、本発明の実施の形態になるログ解析処理フローを示す。本フローは、図７の全体フローの中のステップＳ１４のログ解析処理の詳細を述べたものである。
【００４４】
ステップＳ２１において、ログ情報ファイル３００を参照してログ解析処理を行い、ステップＳ２２で、ログ情報にエラーがあるか否かを判定する。その結果、ログ情報内にエラーがあることを検出した場合、ステップＳ２３において、どの画像を比較したときにエラーが発生したのかが特定できる画像比較処理識別番号と、画像比較時間内にアプリケーションの画像に変化があったかどうかが特定できる画像変化有無情報をスクリプト補正部１７へ通知する。
【００４５】
ここで、画像変化有無情報は、変化前画像、変化後画像、および処理完了（初期画面）画像を用意しておき、試験スクリプトにおいて３パターンの画像とＧＵＩの実際の画像を比較することによって求められる。
【００４６】
図９は、本発明の実施の形態になるスクリプト補正部の処理フローを示す。本フローは、図７のステップＳ１６の補正値の特定を詳細にしたものである。
【００４７】
ステップＳ３１において、スクリプト補正部１７は、画像変化有無情報より画像に変化があったかどうかを判定する。画像に変化があった場合は、比較周期が大き過ぎて画像を取りこぼしたものと判断し、ステップＳ２２に移行して比較周期を補正する処理を行い、画像の変化が無かった場合は、比較回数が少なかったために画像を取りこぼしたものと判断し、ステップＳ３６に移行して比較回数を補正する処理を行う。
【００４８】
比較周期を補正する場合、ステップＳ３２において、スクリプト補正部１７は、試験スクリプト内に設定されている画像比較周期Ｘを取得し、ステップＳ３３において、ユーザによって定義された比較周期情報の値Ｙを取得する。
【００４９】
つぎに、ステップＳ３４において、上記取得したＸ、Ｙを用いて、試験スクリプト内に設定する補正値Ｚを算出する。ここで、比較周期情報は、Ｘから減算するための一定の時間でもよいし、Ｘに対する一定の割合でもよい。一定時間の場合は、Ｘに対してＹを減算し、一定割合の場合は、Ｘに対してＹを乗算して補正値を求める。
【００５０】
そして、ステップＳ３５において、算出したＺを補正値として試験スクリプト内の該当する比較処理箇所に反映させる。
【００５１】
また、比較回数を補正する場合、ステップＳ３６において、スクリプト補正部１７は、試験スクリプト内に設定されている画像比較回数Ｘを取得し、ステップＳ３７において、ユーザによって定義された比較回数情報の値Ｙを取得する。
【００５２】
つぎに、ステップＳ３８において、上記取得したＸ、Ｙを用いて、試験スクリプト内に設定する補正値Ｚを算出する。ここで、比較回数情報は、Ｘに加算するための一定の時間でもよいし、Ｙに対する一定の割合でもよい。一定時間の場合は、Ｘに対してＹを加算し、一定割合の場合は、Ｘに対してＹを乗算して補正値Ｚを求める。
【００５３】
そして、ステップＳ３５において、算出したＺを補正値として試験スクリプト内の該当する比較処理箇所に反映させる。
【００５４】
図１０は、本発明の実施の形態になるエラー判定による再起動の処理フローを示す。
まず、ステップＳ４１において、ログ解析部から試験結果を取得する。つぎに、ステップＳ４２において、エラーの種別を判定する。
【００５５】
結果が正常( 正常結果画像との比較が一致) の場合は、ステップＳ４３において、再起動情報を初期化( 無に設定) する。
【００５６】
また、結果が異常( 正常結果画像との比較が不一致) の場合は、ステップＳ４４において、補正手段特定部２１の処理に移り、ステップＳ４５において、再起動情報を初期化( 無に設定) する。
【００５７】
さらに、結果が異常( 上記正常結果画像との比較が不一致で、エラー発生時画像との比較が一致) の場合は、ステップＳ４６において、エラー結果の内容を指定された相手に通知する。通知方法は、メールや、ダイアログ表示を含むアプリケーションへの通知などがある。つぎに、ステップＳ４７において、エラー試験の項目番号を取得する。そして、ステップＳ４８において、再起動情報の有無を判定する。
【００５８】
その結果、再起動情報が「無」の場合は、ステップＳ５１において、再起動情報を「有」に設定し、ステップＳ５２で、ＧＵＩシステム２を再起動する。また、ステップＳ４８において、再起動情報が「有」の場合は、ステップＳ４９で、再起動情報を「有」に設定し、ステップＳ５０において、ＯＳ再起動後にＧＵＩシステムの再起動をおこなう。
【００５９】
なお、再起動実施前には、再起動情報を「有」に設定情報しておく。ＧＵＩシステムの再起動時には、試験スクリプトの修正により、既に成功している試験項目は実施せずに続きの項目の試験から実施する。
【００６０】
図１１は、本発明の実施の形態になる補正手段選定の処理フローを示す。まず、ステップＳ６１において、ユーザによって補正手段が指定されたユーザ定義ファイルから補正手段を取得する。ステップＳ６２において、補正はユーザ定義とするか統計データとするかを判定する。指定された補正手段が、ユーザ定義の場合、ステップＳ６３において、ユーザ定義補正値特定部へ補正値特定の依頼を行う。また、指定された補正手段が、統計データの場合、ステップＳ６４において、統計データ補正値特定部へ補正値特定の依頼を行う。
【００６１】
なお、別な手段として、優先的に統計データを参照することとし、前回の試験で使用した補正値と統計データから求めた補正値が一致している場合は、前回の試験において統計データから抽出した補正値を使用していたものと見なして、次回の試験ではユーザ定義補正値を使用し、補正値が不一致の場合は、統計データ未使用と見なして統計データを取得する。これにより補正値の取得を統計データから取得するかユーザ定義データから取得するかの判別が不要となるため、ユーザが補正手段を定義する必要がなくなる。
【００６２】
図１２は、本発明の実施の形態になる統計データＤＢのデータ構成を示す。
統計データＤＢ（データベース）４００は、エラー判定部より通知されたデータを統計データとして蓄積したもので、「項番」、ＧＵＩ画像を比較する「比較周期」、「比較回数」、試験スクリプトを実行させたチェック結果を表す「結果」、試験スクリプトの「実行日時」、試験スクリプト処理項目の内容を表す「操作」、試験スクリプト処理の「シナリオ名」の各項目からなる複数のレコードで構成されている。
【００６３】
例えば、第一のレコードでは、項番００１のアイテムは、シナリオ１に基づき、画像の比較周期１００ｍｓおよび比較回数１０回、操作は電話帳キー押下を条件に、シナリオ１が２００４年１１月２６日に実行され、判定結果はＯＫとなったことを示している。
【００６４】
図１３は、本発明の実施の形態になる統計データによる補正フローを示す。まず、ステップＳ７１において、統計データＤＢ４００から統計データを取得する。その取得データから、同じ操作かつ結果がＯＫのものを対象として、以下に比較周期あるいは比較回数のそれぞれで平均値を求める。
【００６５】
ステップＳ７２において、統計データとして算出可能かを判定し、ＮＧであれば、ステップＳ７３において、ユーザ定義補正値特定部に依頼を行う。また、ステップ７４において、今回の実行がＮＧで統計データ補正値を用いて実行した結果かどうかを判定し、統計データを用いてもＮＧとなった場合は、ユーザ定義補正値特定部へ依頼を行う。
【００６６】
また、ステップＳ７２において、統計データからの算出が可能で、かつ、ステップＳ７４における統計データが補正済のものでなければ、ステップＳ７５において、結果ＯＫのもので同操作のデータから比較周期及び比較回数の平均値を算出する。
【００６７】
つぎに、ステップＳ７６において、算出した平均値を補正値として試験スクリプトを補正する。
【００６８】
図１４は、本発明の実施の形態になるスクリプトの補正値の変更処理フローを示す。本フローは、補正値制御部
ステップＳ８１において、試験スクリプトに設定されている比較周期Ｓを取得する。つぎに、ステップＳ８２において、比較周期情報の中から新たに設定する補正値Ｔを取得する。そして、ステップＳ８３において、全補正値の候補を参照済みとなっているかを判定する。全て参照済みであれば、ステップＳ８６において、エラールート( 通知、再起動、シナリオ起動）へ制御を渡す。
【００６９】
補正値候補が存在する場合は、ステップＳ８４において、取得した比較周期ＳとＴとを比較し、Ｓが小さければ、ステップＳ８２に戻り、次の補正値を取得し再度比較をおこなう。一方、Ｓが大きければ、ステップＳ８５において、Ｔを補正値として試験スクリプト内の該当する比較処理箇所に反映する。
【００７０】
図１５は、本発明の実施の形態になるログ解析によるエラー検出の処理フローを示す。まず、ステップＳ９１において、試験スクリプトファイル１００の時刻情報を取得し、ステップＳ９２において、補正があったか否かを判定する。補正がなければ処理を終了し、補正が有り、補正有無の判定が初回の場合は、ステップＳ９３で、試験スクリプトによる自動試験を実施し、ステップＳ９４において、結果・画像比較部１４およびログ出力部１５の処理を行い、ステップＳ９５において、ログ解析の結果、エラーが有るかを判定する。その結果、エラーが存在すれば、ステップＳ９６において、スクリプト補正部１７が補正を実施し、その後、ステップＳ９１に戻り以降の再試験の実施を繰り返し行う。
【００７１】
図１６は、本発明の実施の形態になる上限となる補正値取得の処理フローを示す。
ステップＳ１０１において、補正値上限判定部にて、上限値をユーザ定義、統計データのどちらを取得するかを判定する。判定基準は、ユーザ定義、統計データ判定フラブを予め設定しておくか、自動で判定することも可能とする。
【００７２】
判定の結果、ユーザ定義、統計データのいずれの場合でも、ステップＳ１０２、またはステップＳ１０５において、それぞれ、周期上限値か回数上限値のどちらを取得するかを判定する。判定の結果、ステップＳ１０３、ステップＳ１０４、ステップＳ１０６、またはステップＳ１０７において、それぞれ、ユーザ定義周期上限値、ユーザ定義回数上限値、統計周期上限値、統計回数上限値のいずれかを取得する。
【００７３】
以上のように、補正値上限判定部２３とユーザ定義上限値を特定するためのユーザ定義上限値特定部２４と統計データ上限値特定部２７とを具備し、それぞれの処理を実行することによって、試験スクリプトに無駄な処理を埋め込むことが防止できる。
【００７４】
図１７は、本発明の実施の形態になる未実施の他試験シナリオへ水平展開する場合の補正処理フローを示す。本実施例は、試験シナリオ実施後に、原理図４に示す統計データ蓄積部２５から成功した補正値と関連する操作を取り出し、試験スクリプトを水平展開させ、同様の操作手順を持つ別試験スクリプトに対して、成功した補正値を反映させるものである。
【００７５】
ステップＳ１１１において、シナリオ成功の手順と比較周期および比較回数を取得し既存の試験スクリプトと比較を行う。つぎに、ステップＳ１１２において、試験スクリプトファイル１００を参照し、合致するスクリプトが有るか否かを判定する。合致したものがあれば、ステップＳ１１３において、当該スクリプトの補正を行う。
【００７６】
図１８は、本発明の実施の形態になるマルチメディアに対応させた試験スクリプトの処理フローを示す。
【００７７】
まず、ステップＳ１２１において、試験シナリオによるＧＵＩ実行に伴う音声又は動画像をキャプチャする。つぎに、ステップＳ１２２において、取得した音声または動画像データと基本音情報又は基本動画情報と比較する。そして、ステップＳ１２３において、比較結果が一致した場合は成功一致しない場合は失敗としてログ出力を行う。
【００７８】
本実施例は、自動試験システム１に、音比較と動画比較を行う手段を備え、また、画像比較時に比較対象としていた画像情報と同様に、試験実施後に期待する音声及び動画像をそれぞれ基本音情報、基本動画情報として保持しておくファイルを容易しておく。自動試験実施時においては、実施時の結果として収集した音情報及び動画情報として情報を保持しておき、それぞれの比較において、基本音情報と収集音情報、または基本動画情報と収集動画情報をそれぞれ別々に、または両方にて比較を行い正誤判断を行わせ、マルチメディアへの対応を可能とさせたものである。
【００７９】
図１９は、本発明の実施の形態になる結果・画像比較部における複数画像の入れ替えの比較処理フローを示す。まず、ステップＳ１３１において、結果・画像比較部にてＧＵＩ実行結果と画像情報を比較する。つぎに、ステップＳ１９において、画像の比較結果は一致するかを判定する。そして、ステップＳ１３３において、画像補正部にて画像情報を入替（画像Ａ→Ｂ）を行う。本実施例は、画像情報中に全ての前提条件に当てはまる画像Ａ、画像Ｂ、画像Ｃを保存しておき、エラーが検知された際に、比較対象の画像を画像Ａ→画像Ｂ→画像Ｃに変更し、再比較を行わせるものである。
【００８０】
図２０は、本発明の実施の形態になる切替画像の不整合検出のための処理フローを示す。本フローは、エラー判定部２０において、試験結果のエラー種別の特定を行う場合のフローを示している。
【００８１】
ステップＳ１４１において、結果・画像比較部１４から試験結果を取得する。つぎに、ステップＳ１４２、およびステップＳ１４３において、画像比較の一致を判断する。本処理を予め用意しておいた全画面の画像との比較を画像が一致するまで行う。画像が一致した場合、ステップＳ１４４において、画像識別番号を取得して結果・画像比較部１４へ通知する。ステップＳ１４２、およびステップＳ１４３の判定において、画像が一致しなければ、ステップＳ１４５において、比較対象画像の変更を行い、ステップＳ１４２に戻って以降の処理を実行する。
【００８２】
以上述べてきた本発明の実施の態様は、以下の付記に示す通りである。
【００８３】
（付記１）  グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つ自動試験システムであって、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較手段と、
前記結果・画像比較手段における比較結果をログ情報ファイルとして出力するログ出力手段と、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析手段と、
前記ログ解析手段によって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正手段と、
を有することを特徴とする自動試験システム。
【００８４】
（付記２）  前記スクリプト補正手段の補正値は、前記システムの実行画面と前記画像ファイルに登録された画像とを比較する際の画面切替の比較周期、あるいは比較回数として設定されることを特徴とする付記１に記載の自動試験システム。
【００８５】
（付記３）  前記スクリプト補正手段において、前記補正値として画面切替の比較周期、あるいは比較回数には、それぞれ上限値を設定することを特徴とする付記１または２に記載の自動試験システム。
【００８６】
（付記４）  前記スクリプト補正手段は、予めユーザが定義した補正値をユーザ定義ファイル、あるいは過去の補正値による判定結果を蓄積した統計データファイルを参照してエラーを修正する補正値を決定することを特徴とする付記１乃至３のいずれかに記載の自動試験システム。
【００８７】
（付記５）  前記ログ解析手段は、前記ログ情報ファイルを参照し、エラーの内容が復旧不可能か否かのエラー種別を判定するエラー判定手段を有し、復旧不可能である場合に該当試験項目のリトライを中断させることを特徴とする付記１に記載の自動試験システム。
【００８８】
（付記６）  前記スクリプト補正手段は、エラーが発生しなくなるまで画像比較の前記比較周期または前記比較回数によって補正することを繰り返すことを特徴とする付記１乃至４に記載の自動試験システム。
【００８９】
（付記７）  前記統計データによる補正値は、蓄積された過去データから統計的手法によって自動的に算出し決定されることを特徴とする付記４に記載の自動試験システム。
【００９０】
（付記８）  エラーが発生しなくなった補正後の前記比較周期または前記比較回数を、未実施の他の試験シナリオから同じパターンの試験シナリオを抽出し、補正値と未実施試験シナリオ内の値を置き換える水平展開することを特徴とする付記１に記載の自動試験システム。
【００９１】
（付記９）  データベースとして保存した基本音情報と試験時にサンプリングした音との音声波形比較、または保存した基本動画情報と試験時にキャプチャした動画画像との画像比較を行うマルチメディア対応の機能を持つことを特徴とする付記１に記載の自動試験システム。
【００９２】
（付記１０）  試験の前提条件により、同じ操作手順においても期待する画像情報が異なる場合、予め条件ごとに期待する画像情報を複数保存させておき、画像比較時のエラーを契機として、前記期待する画像情報を変更することで、前提条件によらず画像情報を補正することを特徴とする付記１記載の自動試験システム。
【００９３】
（付記１１）  前記システムの表示切替が間に合わなくて、予期しない画面へ遷移した場合でも、画像の照合が出来るようあらかじめ全画面のイメージを用意しておくことで、エラー種別を明確にすることを特徴とする付記１に記載の自動試験システム。
【００９４】
（付記１２）  グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つ自動試験方法であって、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較ステップと、
前記結果・画像比較ステップにおける比較結果をログ情報ファイルとして出力するログ出力ステップと、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析ステップと、
前記ログ解析ステップによって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正ステップと、
を有することを特徴とする自動試験方法。
【００９５】
（付記１３）  グラフィカルユーザインタフェースシステムを試験するスクリプトの補正機能を持つプログラムであって、
コンピュータに、
前記システムの試験スクリプトを実行させることによって表示される実行画面と予め画像情報ファイルに登録された画像とを比較する結果・画像比較ステップと、
前記結果・画像比較ステップにおける比較結果をログ情報ファイルとして出力するログ出力ステップと、
前記ログ情報ファイルを参照し、該ログ情報の中から画面不一致となったエラーログの実行タイミングを解析するログ解析ステップと、
前記ログ解析ステップによって解析されたエラーログに対する補正値を特定し、該補正値にしたがって前記試験スクリプトを自動的に補正するスクリプト補正ステップと、
を実行させるプログラム。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施の形態になる補正機能を備えたＧＵＩ自動試験システムの基本構成を示す図である。
【図２】本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト例( サンプルデータ１: 補正前) を示す図である。
【図３】本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト実行結果のログ内容( サンプルデータ２）を示す図である。
【図４】本発明の実施の形態になるＧＵＩアプリケーションの試験スクリプト例( サンプルデータ３: 補正後) を示す図である。
【図５】本発明の実施の形態になる自動試験システムにおける補正処理の構成を示す図である。
【図６】本発明の実施の形態になる自動試験システムにおけるエラー判定処理の構成を示す図である。
【図７】本発明の実施の形態になる自動試験システムにおけるＧＵＩ試験スクリプトを補正する全体の処理フローを示す図である。
【図８】本発明の実施の形態になるログ解析処理フローを示す図である。
【図９】本発明の実施の形態になるスクリプト補正部の処理フローを示す図である。
【図１０】本発明の実施の形態になるエラー判定による再起動の処理フローを示す図である。
【図１１】本発明の実施の形態になる補正手段選定の処理フローを示す図である。
【図１２】本発明の実施の形態になる統計データＤＢのデータ構成を示す図である。
【図１３】本発明の実施の形態になる統計データによる補正フローを示す図である。
【図１４】本発明の実施の形態になるスクリプトの補正値の変更処理フローを示す図である。
【図１５】本発明の実施の形態になるログ解析によるエラー検出の処理フローを示す図である。
【図１６】本発明の実施の形態になる上限となる補正値取得の処理フローを示す図である。
【図１７】本発明の実施の形態になる未実施の他試験シナリオへ水平展開する場合の補正処理フローを示す図である。
【図１８】本発明の実施の形態になるマルチメディアに対応させた試験スクリプトの処理フローを示す図である。
【図１９】本発明の実施の形態になる結果・画像比較部における複数画像の入れ替えの比較処理フローを示す図である。
【図２０】本発明の実施の形態になる切替画像の不整合検出のための処理フローを示す図である。
【符号の説明】
【００９７】
１  自動試験システム
２  ＧＵＩシステム
１１  自動試験制御部
１２  ＧＵＩ実行部
１３  画面
１４  結果・画像比較部
１５  ログ出力部
１６  ログ解析部
１７  スクリプト補正部
２０  エラー判定部
２１  補正手段特定部
２２  ユーザ定義補正値特定部
２３  補正値上限判定部
２４  ユーザ定義上限値特定部
２５  統計データ蓄積部
２６  統計データ補正値特定部
２７  統計データ上限値特定部
３０  通信制御部
３１  メール送信部
３２  表示部
４０  再起動制御部
４１  試験スクリプト再実行制御部
４２  ＧＵＩシステム再起動制御部
４３  ＰＣ再起動制御部
５０  シナリオ起動制御部
１００  試験スクリプトファイル
２００  画像情報ファイル
３００  ログ情報ファイル
４００  統計データＤＢ
【図１】
2006268666.tif 000003
【図２】
2006268666.tif 000004
【図３】
2006268666.tif 000005
【図４】
2006268666.tif 000006
【図５】
2006268666.tif 000007
【図６】
2006268666.tif 000008
【図７】
2006268666.tif 000009
【図８】
2006268666.tif 000010
【図９】
2006268666.tif 000011
【図１０】
2006268666.tif 000012
【図１１】
2006268666.tif 000013
【図１２】
2006268666.tif 000014
【図１３】
2006268666.tif 000015
【図１４】
2006268666.tif 000016
【図１５】
2006268666.tif 000017
【図１６】
2006268666.tif 000018
【図１７】
2006268666.tif 000019
【図１８】
2006268666.tif 000020
【図１９】
2006268666.tif 000021
【図２０】
2006268666.tif 000022