(57)【要約】【課題】汎用的な単一のテストスクリプトとＣＬのみで、アプリケーションのテストを自動実行可能とする。【解決手段】チェックリストより操作情報を受け取りテストの実行及び検証を行うテスト支援装置と、テスト結果を格納するデータベースとを備えた、アプリケーションのテスト自動実行システムにおいて、テスト支援装置が、チェックリストから操作情報を抽出し、抽出した操作情報に基づいてテスト実行する際の画面遷移情報、操作内容及び検証内容を書き込んだ操作情報ファイルを作成する手段と、対象アプリケーションを起動し、操作情報ファイルから取得した画面遷移情報、操作内容及び検証内容に従って汎用スクリプトによりテストを自動実行及び検証する手段と、自動実行及び検証によるテスト結果をデータベースへ格納する手段と、テスト結果格納データベースからテスト結果を取得し表示する表示手段とを備える。【選択図】図１
2010198479.tif 000002
【特許請求の範囲】
【請求項１】
対象アプリケーションに対して、チェックリストより操作情報を受け取りテストの実行及び検証を行うテスト支援装置を備えたコンピュータと、汎用スクリプトを保存するスクリプト保存データベースと、テスト結果を格納するテスト結果格納データベースとを備えた、アプリケーションのテスト自動実行システムにおいて、前記テスト支援装置が、
前記チェックリストから操作情報を抽出し、抽出した操作情報に基づいてテスト実行する際の画面遷移情報、操作内容及び検証内容を書き込んだ操作情報ファイルを作成する手段と、
対象アプリケーションを起動し、前記操作情報ファイルから取得した画面遷移情報、操作内容及び検証内容に従って前記汎用スクリプトによりテストを自動実行及び検証する手段と、
前記自動実行及び検証によるテスト結果を前記テスト結果格納データベースへ格納する手段と、
前記テスト結果格納データベースから前記テスト結果を取得し、テスト実行者に確認させるべく表示する表示手段とを備えたことを特徴とするアプリケーションのテスト自動実行システム。
【請求項２】
前記汎用スクリプトによりテストを自動実行及び検証する手段が、
前記操作情報ファイルを読み込む手段と、読み込んだ操作情報ファイルの画面遷移情報に基づいて操作対象及び検証対象の画面を特定する手段と、読み込んだ操作情報ファイルの操作内容に基づいて操作対象画面における操作対象オブジェクトを特定し入力値の代入を含む所定の操作を行う手段と、読み込んだ操作情報ファイルの検証内容に基づいて検証対象画面における検証対象オブジェクトを特定して所定の検証を行う手段とを備えたことを特徴とする請求項１に記載のアプリケーションのテスト自動実行システム。
【請求項３】
前記汎用スクリプトによりテストを自動実行及び検証する手段がエラー検出部を備え、
一つのテストケースについての前記自動実行及び検証中にアプリケーションエラーが起きた際、前記エラー検出部が該アプリケーションエラーを検知する手段と、エラーが起きた旨を前記テスト結果格納データベースへ格納する手段と、実行中のテストを途中で中断し対象アプリケーションを終了させる手段と、次のテストケースを実行させる手段とを備えたことを特徴とする請求項１又は２に記載のアプリケーションのテスト自動実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援装置を用いたアプリケーションに対するテスト自動実行システムに関する。
【背景技術】
【０００２】
近年アプリケーション開発の発展・規模の拡大に伴い、開発期間の短縮、コストの削減、システム障害の防止のための高い品質が求められている。これらの要求を解決する手段として、テスト工程の自動化が普及しつつある。特にグラフィカルユーザーインターフェース(Graphic User Interface、以下「ＧＵＩ」)  アプリケーションのテストでは、テスト支援装置用い、ユーザの操作を記録し、その記録した操作をテスト支援装置が再現・検証することによって、テストの自動実行すなわちテスト自動化を実現している。このようなテスト自動化方法により、テスト要員の削減、開発期間の短縮、機械化による人為的ミスの削減といった効果を得ることができる。
【０００３】
図３は従来例の一つであり、ＧＵＩアプリケーションのテスト自動実行システムの概要を示すブロック構成図である。この従来システムは、テスト支援装置303と、スクリプト保存データベース304と、結果格納データベース307とから構成される。図３のような構成のＧＵＩテスト自動化システムにおいて、テスト実行者は、チェックリスト(Check List、以下「ＣＬ」)301を参考に、テスト支援装置303を用いてテストスクリプト305を作成し、必要があればテストスクリプト305を編集し、スクリプト実行部308を起動し対象アプリケーション310に対してテストを実行し、結果格納データベース307より結果を取り出してテスト結果を確認する。
【０００４】
スクリプト記録・保存部306は、テスト実行者が行う対象アプリケーション310の操作を記録し、テストスクリプト305としてスクリプト保存データベース304へ保存する。スクリプト編集部307は、記録したテストスクリプト305に修正・変更が必要な場合において、スクリプトの編集機能を用いて修正を行う。スクリプト実行部308は、記録されたテストスクリプト305を呼び出し、対象アプリケーション310を実行しテストを行い、テスト結果を結果格納データベース307へ格納する。また、必要があれば対象アプリケーション310はテストデータ311を取得する。結果表示部309は、結果格納データベース307へアクセスし、テスト結果を表示すし、テスト実行者302がその結果を確認する。
なお、公知技術文献としては下記の特許文献１、２がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１１５５８２号公報
【特許文献２】特開平５−２０４６２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、大量のテストケースが存在するテストにおいては、テストケースの数だけテストスクリプトを記録しなければならないため、操作を記録するコスト、テストスクリプトを保守・運用する手間がかかる。また、アプリケーションが異なれば、同じような操作であっても、アプリケーション毎にテストスクリプトを作成しなければならない。
【０００７】
通常、テストスクリプトを作成するには、対象アプリケーションに対して、テスト支援装置を用いて人が行う操作を記録する。記録されたテストスクリプトは汎用性に乏しいため、記録されたテストケース以外のテストケースに再利用することは難しい。そのため、1000個のテストケースがあったとすれば、1000個のテストスクリプトを記録しなければならない。従って、少ないテストケースにおいては有効な手段であるが、テストケースが非常に多い場合においては、テストケースの数だけテストスクリプトを作成しなければならないため、工数が膨らむ問題が起こる。
【０００８】
また、違うアプリケーションのテスト、もしくはバージョンアップされた同一のアプリケーションのテストを行う場合、そのアプリケーション、そのバージョン専用のテストスクリプトを作成しなければならない為、テスト工程が膨らむ。
【０００９】
本発明の目的は、テストケースが非常に多い場合であっても、操作を記録せず、汎用的な単一のテストスクリプトとドキュメントＣＬのみの資産で、アプリケーションのテストを自動実行可能とすることである。また、異なるアプリケーション又はバージョンアップに対してそのアプリケーション専用のテストスクリプトを作成することなく、汎用的なテストスクリプトで対応可能とし、テスト工程を効率的に実行可能とすることである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、対象アプリケーションに対して、チェックリストより操作情報を受け取りテストの実行及び検証を行うテスト支援装置を備えたコンピュータと、汎用スクリプトを保存するスクリプト保存データベースと、テスト結果を格納するテスト結果格納データベースとを備えた、アプリケーションのテスト自動実行システムにおいて、前記テスト支援装置が、前記チェックリストから操作情報を抽出し、抽出した操作情報に基づいてテスト実行する際の画面遷移情報、操作内容及び検証内容を書き込んだ操作情報ファイルを作成する手段と、対象アプリケーションを起動し、前記操作情報ファイルから取得した画面遷移情報、操作内容及び検証内容に従って前記汎用スクリプトによりテストを自動実行及び検証する手段と、前記自動実行及び検証によるテスト結果を前記テスト結果格納データベースへ格納する手段と、前記テスト結果格納データベースから前記テスト結果を取得し、テスト実行者に確認させるべく表示する表示手段とを備えたものである。
上記のシステムにおいて、前記汎用スクリプトによりテストを自動実行及び検証する手段が、前記操作情報ファイルを読み込む手段と、読み込んだ操作情報ファイルの画面遷移情報に基づいて操作対象及び検証対象の画面を特定する手段と、読み込んだ操作情報ファイルの操作内容に基づいて操作対象画面における操作対象オブジェクトを特定し入力値の代入を含む所定の操作を行う手段と、読み込んだ操作情報ファイルの検証内容に基づいて検証対象画面における検証対象オブジェクトを特定して所定の検証を行う手段とを備えることが好適である。
上記のシステムにおいて、前記汎用スクリプトによりテストを自動実行及び検証する手段がエラー検出部を備え、一つのテストケースについての前記自動実行及び検証中にアプリケーションエラーが起きた際、前記エラー検出部が該アプリケーションエラーを検知する手段と、エラーが起きた旨を前記テスト結果格納データベースへ格納する手段と、実行中のテストを途中で中断し対象アプリケーションを終了させる手段と、次のテストケースを実行させる手段とを備えることが好適である。
【発明の効果】
【００１１】
本発明による、アプリケーションのテスト自動実行システムによれば、次のような効果がある。
(1)テストスクリプト作成のために、テストケース毎に操作を記録する必要がなくＣＬを修正、追加することでテストを実行することができる。
(2)テストスクリプトが一つであるため、テスト環境の変更によってテストスクリプトを修正する場合、一つのテストスクリプトを修正するだけでよい。
(3)ＣＬを書くだけで、様々なＧＵＩアプリケーションのテストに対応できるため、アプリケーション毎にテストスクリプトを準備する必要がなく、テストの実施効率が向上する
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態例を示すシステム構成図である。
【図２】本発明の一実施のデータの流れを示したデータフローダイアグラムである。
【図３】一般的なテスト自動化システムのシステム構成図である。
【図４】ＣＬの作成方法の一例を示す説明図である。
【図５】操作情報ファイルの説明図である。
【図６】テスト実行画面を示す説明図である。
【図７】テスト結果画面を示す説明図である。
【図８】テスト結果詳細画面を示す説明図である。
【図９】本発明の一実施の処理を示すフローチャートである。
【図１０】ＣＬ解読部の概要を示すフローチャートである。
【図１１】ＣＬ解読部の詳細を示すフローチャートである。
【図１２】検証項目読み込み処理の詳細を示すフローチャートである。
【図１３】操作情報ファイルへ画面遷移情報を書き込む処理を示すフローチャートである。
【図１４】操作情報ファイルへ操作情報・検証データを書き込む処理を示すフローチャートである。
【図１５】スクリプト実行部の処理を示すフローチャートである。
【図１６】操作情報ファイルの読み込み処理の詳細を示すフローチャートである。
【図１７】汎用スクリプトの実行処理を示すフローチャートである。
【図１８】汎用スクリプトの処理の詳細を示すフローチャートである。
【図１９】エラー検出部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を説明する。
図１は、本発明の一実施の形態例を示すシステム構成図である。
本発明による、アプリケーションのテスト自動実行システムは、テスト支援装置103と、スクリプト保存データベース104と、テスト結果格納データベース105とにより構成されている。本システムは、特にＧＵＩアプリケーションに好適である。
【００１４】
スクリプト保存データベース104は、汎用スクリプト113を保存する。
テスト結果格納データベース105は、スクリプト実行部106によって実行されたアプリケーションのテスト結果114を格納する。
【００１５】
テスト実行者101は、テスト支援装置103を起動することにより、ＣＬ解読部107を呼び出して自動的にＣＬの解読を行わせ、テスト終了後、結果表示部110を起動してテスト結果を表示させ、確認する。
【００１６】
テスト支援装置103は、ＣＬ解読部107を起動し、ＣＬ102を読み込み、操作情報ファイル112を生成する。テスト支援装置103は、スクリプト実行部106を起動し、スクリプト保存データベース104へアクセスして対象アプリケーション108を操作・検証し、テスト結果格納データベース105へアクセスしてテスト結果を格納する。また、テスト支援装置103は、スクリプト実行部106が対象アプリケーションを実行している間、エラー検出部111によって対象アプリケーションを監視し、エラーが起きた際は対象アプリケーションを強制的に終了し、テスト結果格納データベース105へアクセスしてエラーが起きた旨を格納した後、次のテストケースを実行する。
【００１７】
ＣＬ設計者109は、仕様書に沿って形式に従いＣＬ102を作成する。
【００１８】
図２は、本発明の一実施の形態例を示すシステムにおける具体的なデータの流れを示すデータフローダイアグラム（以下、「ＤＦＤ」)である。
テスト支援装置103は、ＣＬ解読部107起動し、ＣＬ102より操作情報を抽出し、汎用スクリプト113が解釈できる形式へ変換し、操作情報ファイル112へ書き出す。テスト支援装置103は、スクリプト実行部106を起動し、操作情報ファイル112を読み込み、汎用スクリプト113を起動し、対象アプリケーション108を操作・検証し、テスト結果格納データベース105へアクセスし、テスト結果114を格納する。結果表示部110は、テスト結果格納データベース105へアクセスし、テスト結果114を参照し、テスト実行者へ結果を表示する。
【００１９】
図４は、図１におけるＣＬ102の一例であり、対象アプリケーション名410と、操作項目と、検証項目とを含む。
操作項目の符号401は、一行分で画面名を記述し、上から下へ画面遷移順を示す。画面名は対象アプリケーションの画面名を記述する。例えば、対象アプリケーションのテスト対象画面の名称が「MainWindow」であるならば、401の画面名に「MainWindow」を記述する。
操作項目の符号402は、各画面における操作対象オブジェクト名を示している。例えば、ボタンを操作したい場合は「Button」,エディットボックスを操作したい場合は「EditBox」であるように、予め決められた命名規則に従い記述する。
操作項目の符号403は、対象アプリケーションの操作したいオブジェクトのオブジェクトを一意に認識するためのＩＤ(以下「プロパティＩＤ」)を記述し、括弧内にはＣＬ閲覧者に分かるようCaptionを書く。
操作項目の符号404は、オブジェクトに対する操作内容や設定値が記述される。例えば、「ボタンオブジェクトに対してシングルクリック」を行うという操作であれば「Click」と記述し、「エディットボックスにTestという文字列を入力する」という操作であれば「Test」と記述する。
操作項目の符号405は、テストケース番号とテストの操作順番とを記述し、列一つ分でテストケース一つを示し、○印の有無でその操作が行われるか否かを示している。○印がついている場合はその操作が行われることを示し、印が無ければその操作が行われないことを示す。
【００２０】
検証項目の画面名列は、操作項目の画面順序と対応するように記述し、操作に対しての検証項目を示す。
検証項目の符号406は、検証操作における画面遷移を示しており、操作項目の符号401と同じ順番で書く。
検証項目の符号407は、検証対象オブジェクト名を記述する。
検証項目の符号408は、検証対象オブジェクトのプロパティＩＤを記述する。
検証項目の符号409は、検証時の期待値を示す。
【００２１】
また、図４に挙げたオブジェクト以外であっても、ＣＬにオブジェクトと操作を記述し、汎用スクリプトにて、そのオブジェクトに対応するスクリプトを追加することでテストすることが出来るため、様々なＧＵＩオブジェクトに対応することができる。
【００２２】
図５は、図２における操作情報ファイル112の生成の一例である。
符号501は、画面遷移を示す画面遷移情報である。１行に、画面遷移する順番の数字と、ドット"."と、画面名とを連結させることにより１画面を示し、それを複数行にわたり記述することで、画面遷移を示す。
符号502は、その画面における操作内容もしくは検証内容を示す操作情報である。オブジェクト名と、ドット"."と、プロパティＩＤとを連結し、さらに、等号"="と、操作内容若しくは設定値又は検証内容の期待値とを連結することで示す。
符号503は、対象アプリケーション名を示し、スクリプト実行部がアプリケーションを実行するために、このアプリケーション名を記述する。
符号504は、テストケース番号を示し、一つのテストケースを一意に認識するための番号である。
【００２３】
図６は、図２におけるテスト実行者101が、テスト支援装置103を用いてＣＬ102から操作情報を抽出する際の操作画面すなわちテスト実行画面である。実行するＣＬ欄603に登録されているＣＬ102が表示され、実行ボタン601を押下すると、表示されたＣＬ102から操作情報の抽出が行われる。テスト実行者が追加ボタン602を押下すると、実行するＣＬを追加することができる。
【００２４】
図７は、図２におけるテスト実行者101が、テスト支援装置103を用いて結果表示部110を呼び出し、テスト結果を確認する際の操作画面である。テストケース欄702に実行されたＣＬとテストケース番号とが連結された文字列が表示され、テスト結果欄703にテスト結果の合否と、否の場合のエラー画面と、実行日時とが表示される。確認したい一つのテストケースを選択し、詳細ボタン701を押下すると、より詳細なテスト結果（図８参照）を表示することができる。
【００２５】
図８は、図７の詳細ボタン701を押下した際起動する画面を示す。テスト実行者101が、テスト支援装置103を用いてテスト結果の詳細を確認する画面である。図７の詳細ボタン701を押下することにより表示される。詳細欄801にテストの詳細が表示される。
【００２６】
図９は、アプリケーションのテスト自動実行システム全体のフローチャートである。図１及び図２における、システム全体の処理の流れを示している。以下、図１及び図２を参照しつつ説明する。。
ステップ901は、ＣＬ設計者が決められた形式に従ってＣＬを作成する。ステップ902からステップ903までの処理は、図６のテスト実行画面で、ＣＬを選択し実行ボタン(図６の符号601)を押下したときの処理であり、ステップ904からステップ905までの処理は、図１及び図２における結果表示部110を起動させた際の処理である。
テスト支援装置103は、ＣＬ解読部107へＣＬ102を読み込み、ＣＬ102を解読して操作情報ファイルを生成する(ステップ902)。スクリプト実行部106により、生成された操作情報ファイルを読み込み、テスト実行し、結果を格納する(ステップ903)。テスト支援装置103は、生成された全ての操作情報ファイル112を実行するまでステップ903を繰り返す。
全ての操作情報ファイルについて実行を終えた後、テスト実行者101がテスト結果表示部を起動し(ステップ904)、テスト結果を表示させ(ステップ905)、テスト実行者101がテスト結果を確認する。
【００２７】
図１０は、図１におけるＣＬ102をＣＬ解読部107が読み込む際の処理の流れを示し、図２のＣＬ解読部107呼び出し(ステップ902)のフローチャートである。
ＣＬ解読部107は、ＣＬを読み込み（ステップ1001）、変数testＩＤに、図４における一つのテストケース列405からテストケース番号を取得し代入し(ステップ1002)、変数Appに図４における対象アプリケーション名410を代入する(ステップ1003)。ここで、testＩＤ一つにつき、一つのテストケースを示している。
【００２８】
次に、ＣＬ102に含まれる操作情報を、スクリプト実行部106が指定の形式に変換することによりＣＬ解読処理を行い(ステップ1004) 、図５の操作情報ファイルにおける変数testＩＤ503及びApp504の内容を書き込み(ステップ1005)、画面遷移情報501及び操作情報502を書き込む（ステップ1006、1007）。このステップ1002からステップ1007までの処理を、テストケースが存在しなくなるまで繰り返す。
【００２９】
図１１は、図１０におけるＣＬ解読処理(ステップ1004)のフローチャートである。
ＣＬ解読処理では、画面名と操作内容を格納する配列を初期化し(ステップ1101)、カウンタ変数widx、oidxを０で初期化する(ステップ1102)。読み込まれたＣＬ102から画面名を１行分読み込む（ステップ1103）。読み込んだ画面名が空でなければ、Wnd[widx]に画面名を代入する(ステップ1104)。次に、ＣＬ102における操作項目の行を読み込む(ステップ1105)。読み込む行は、Wnd[widx]と同じ画面名の操作項目の行である。読み込んだテストケース欄に○印がついている場合は、Opr[widx][oidx]に操作名とValueを"="で連結した文字列を代入し、oidxに１を加え次の操作項目の行を読み込み繰り返しを行う(ステップ1105、1106)。読み込んだ操作項目が、Wnd[widx]と同じでなければ繰り返しを終了する。
その際、操作項目の処理が一つも代入されなかった場合は、その画面は起動されないということであり、Wnd[widx]を初期化する(ステップ1107)。それ以外の場合は、widxを１加算し、画面名を読み込む操作から繰り返し処理を行う(ステップ1109)。読み込んだ画面名が空になった場合は、画面遷移が終了したこととなるので、次の処理である検証項目の読み込みを行い(ステップ1108)、処理を終了する。  
【００３０】
図１２は、図１１における検証項目の読み込み(ステップ1108)のフローチャートである。
カウンタ変数widxを０で初期化した後(ステップ1201)、検証項目の画面名を一行ずつ読み込む(ステップ1202)。なお、CLにおける検証項目の画面名の並び順は、操作項目の画面名と同じ並び順になっている。読み込んだ画面名が空でなければ、検証項目の行を一行ずつ読み込み、さらにWnd[widx]と検証項目の画面名が同じであり、そのテストケース欄に○印がついている場合、Opr[widx][]の最後の列に検証名とValueを代入する(ステップ1203、1204)。検証項目の画面名がWnd[widx]でなくなったらwidxに１を加算し(ステップ1205)、処理を繰り返す。
【００３１】
図１３は、図１０における操作情報ファイルへの画面遷移情報書き込み(ステップ1006)のフローチャートである。
画面遷移情報書き込みの処理は、最初にカウンタ変数idxを０で初期化する(ステップ1301)。次に操作情報ファイルを開き、文字列"[画面遷移]"を出力する(ステップ1302,1303)。図１１にて代入された配列Wndが空でなければ、[画面遷移]の下の行へwidxとドット"."とWnd[idx]の値とを連結させた文字列を出力する(ステップ1304)。出力された後、idxに1を加算し、再度繰り返し処理を行う(ステップ1305)。Wnd[idx]空になると画面遷移がこれ以上ない、ということとなり、処理を終了する。
【００３２】
図１４は、図１０における操作情報ファイルへの操作情報書き込み処理(ステップ1007)のフローチャートである。最初に操作情報ファイルを開き(ステップ1401)、カウンタ変数widx、numberを用意しwidxは０、numberは１で初期化する(ステップ1402)。numberの値と文字列”.”とWnd[widx]の内容を連結し”[]”でくくった文字列を記述する(ステップ1403) 。その後、カウンタ変数oidxを０で初期化する（ステップ1404）。Wnd[idx]が空である場合は画面遷移がこれ以上ないということであるので、Wnd[idx]が空になるまで繰り返す。Opr[widx][oidx]が空である場合はその画面において操作がこれ以上ないことを示しているのでWnd[widx]が空になるまで、Opr[widx][oidx]の内容を書き込こむ処理（ステップ1406）とoidxに１を加算する処理を繰り返す。
【００３３】
図１５は、図９におけるスクリプト実行部を起動する処理(ステップ903)のフローチャートである。
操作情報ファイルの読み込みで、ＣＬ解読部107により生成された操作情報ファイルを読み込み、操作情報を取得する(ステップ1501)。読み込まれた操作情報ファイルから対象アプリケーション名を取得し、対象アプリケーションを起動する(ステップ1502)。次に、読み込まれた操作情報ファイルの操作情報を汎用スクリプト(113)が読み込み、アプリケーションを操作し検証を行う(ステップ1503)。一つのテストケースが終了し、対象アプリケーションが起動状態であれば、対象アプリケーションを終了させる。読み込まれていない操作情報ファイルが存在する場合、ステップ1501からステップ1504を繰り返す。
【００３４】
図１６は、図１５における操作情報取得処理(ステップ1501)のフローチャートである。
操作情報ファイル(112)を読み込み(ステップ1601)、 カウンタ変数widxを０で初期化する(ステップ1602)。配列Targetへ画面遷移情報を代入し(ステップ1603)、widxに１を加算する(ステップ1604)。このステップを操作情報ファイルの全ての画面遷移情報を抽出するまで繰り返す。カウンタ変数idxに１を代入し(ステップ1605)、操作情報ファイルから操作内容を読み込み(ステップ1606)、キュー(Que)へ操作情報ファイルから読み出した操作内容を、Queへ代入する(ステップ1607)。このステップ1606からステップ1607の処理をTarget[idx]の操作内容を全て読み込み実行するまで繰り返したのち、idxを１加算し(ステップ1608)、ステップ1606からステップ1608までの処理をidxがwidx以下であるうち繰り返し処理を行う。
【００３５】
図１７は、図１５における汎用スクリプト実行 (ステップ1503)のフローチャートある。
カウンタ変数widxを用意し１で初期化する(ステップ1701)。図１６にて、画面情報が格納されている配列Target[widx]から操作対象画面名を取得し、その画面名をもつ画面を探す(ステップ1702)。配列Targetには順番にテスト画面が格納されているので、画面遷移を考慮したテストを実行することが出来る。
操作情報ファイルから取り出された操作内容が格納されているキューから先頭の操作内容を取り出す(ステップ1703)。取り出した操作内容とスクリプトに定義されている操作内容を照らし合わせ、対象アプリケーション108を操作・検証し(ステップ1704)、テスト結果格納データベース105へ結果を格納し(ステップ1703)、検証が失敗した場合は処理を終了し、次のテストケースを実行し、成功した場合は、このステップ1702からステップ1706までの処理をキューが空になるまで行う。
【００３６】
図１８は、図１７におけるアプリケーション操作・検証処理(ステップ1704)のフローチャートである。
最初に、変数Caseを用意し、図１７にて用意されたキューから操作内容を取り出し、連結子である“.”より左の名称を代入する(ステップ1501)。変数ＩＤには操作名称の“.”と“＝”にはさまれた数字を代入する(ステップ1802)。変数Valueにはキューから取り出したValueを代入する(ステップ1803)。Target配列に格納されている画面名を取り出し、対象画面を取得する。次の操作が同一画面であれば、Target配列の添え字はそのままとし、画面が遷移するならば、添え字に１加算する(ステップ1811)。
Caseと等しい操作内容と合致するものがあれば、変数ＩＤから対象のプロパティＩＤを取り出し、対象のプロパティＩＤをもつオブジェクトに対して、操作内容に従って操作する(ステップ1804、1805、1806、1807、1808)。
操作に失敗もしくは検証が失敗した場合は、変数Flgにerrorを代入し(1809)、正しく処理が行われた場合は変数FlgにSuccessを代入する。
【００３７】
図１９は、エラー検出部のフローチャートである。
対象アプリケーション108を実行中に、スクリプト実行部がエラーを起こしていないかを監視し、システムによって出されたエラーを検知した、もしくは対象アプリケーションが一定時間以上反応しない場合において行われる処理である。
スクリプト検出部は、スクリプトがスクリプト実行部がエラーしていないかどうかを定期的に監視し(ステップ1901)、スクリプト実行部を起動する(ステップ1902)。OSからシステムエラーが送られた場合、一定時間を超えて対象アプリケーション108が反応しない場合、そのテストはエラーと判断し(ステップ1903)、実行中の対象アプリケーションを強制的に終了し(ステップ1904)、テスト結果をテスト結果格納データベース105へ格納する(ステップ1905)。また、次のテストケースを実行するようにスクリプト実行部106へ命令をだす(ステップ1906)。このステップ1901からステップ1906を定期的に繰り返し全てのテストケースを実行した際、処理を終了する。
【符号の説明】
【００３８】
１０１  テスト実行者
１０２  ＣＬ
１０３  テスト支援装置
１０４  スクリプト保存データベース
１０５  テスト結果格納データベース
１０６  スクリプト実行部
１０７  ＣＬ解読部
１０８  対象アプリケーション
１０９  ＣＬ作成者
１１０  結果表示部
１１１  エラー検出部
１１２  操作情報ファイル
１１３  汎用スクリプト
１１４  テスト結果
【図１】
2010198479.tif 000003
【図２】
2010198479.tif 000004
【図３】
2010198479.tif 000005
【図４】
2010198479.tif 000006
【図５】
2010198479.tif 000007
【図６】
2010198479.tif 000008
【図７】
2010198479.tif 000009
【図８】
2010198479.tif 000010
【図９】
2010198479.tif 000011
【図１０】
2010198479.tif 000012
【図１１】
2010198479.tif 000013
【図１２】
2010198479.tif 000014
【図１３】
2010198479.tif 000015
【図１４】
2010198479.tif 000016
【図１５】
2010198479.tif 000017
【図１６】
2010198479.tif 000018
【図１７】
2010198479.tif 000019
【図１８】
2010198479.tif 000020
【図１９】
2010198479.tif 000021