(57)【要約】【課題】既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換するテストスクリプト処理プログラムを提供すること。【解決手段】テストスクリプト処理プログラム１００を実行したテストスクリプト変換装置１０１は、操作対象アプリケーション１１５のプログラム修正を行った場合に、テストスクリプト解析手段１１０によりテストスクリプトのデータを１行分のデータを読み込み、切替命令である場合には操作対象画面のデータを検出し画面構成情報比較処理を実行する。そして、画面構成情報比較処理においてユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録してテストスクリプトのデータの変換を行う。【選択図】図３
2007102654.tif 000002
【特許請求の範囲】
【請求項１】
操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを、前記操作対象アプリケーションの修正にしたがって変換するテストスクリプト変換装置が実行するテストスクリプト処理プログラムにおいて、
前記テストスクリプト内の命令が操作対象画面の切り替えを命令している切替命令である場合に、この操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出する画面検出処理と、
ユーザの操作に応じた、前記画面検出手段が検出した操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいて前記テストスクリプト内の切替命令のデータを変換する命令変換処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
【請求項２】
請求項１に記載のテストスクリプト処理プログラムにおいて、
前記テストスクリプト内のデータを１行毎に分割する分割処理と、
前記分割手段が分割した前記テストスクリプト内の１行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定する命令判定処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
【請求項３】
請求項１に記載のテストスクリプト処理プログラムにおいて、
前記命令変換処理は、
前記画面検出処理で検出した操作対象画面のデータに対応する前記操作対象アプリケーションにおける第２の操作対象画面のデータと前記画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する画面比較処理を含むことを特徴とするテストスクリプト処理プログラム。
【請求項４】
請求項１に記載のテストスクリプト処理プログラムにおいて、
前記修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示する新規画面操作指示表示処理と、
前記新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録する新規画面操作記録処理と、
前記新規画面操作記録処理で記録したユーザの操作内容に基づいて前記テストスクリプト内のデータを変換する新規画面変換処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
【請求項５】
請求項３に記載のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記画面検出処理で検出した操作対象画面のデータおよび第２の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示する比較画面表示処理と、
前記比較画面表示処理で表示したユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録する部品操作記録処理とを含むことを特徴とするテストスクリプト処理プログラム。
【請求項６】
請求項５に記載のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記部品操作記録手段が記録した部品情報への関連付けの操作内容を再現実行する部品操作再現処理と、
前記部品操作再現処理で再現実行した操作内容を含む部品操作テストスクリプトのデータに基づいて前記テストスクリプト内の切替命令のデータを変換する部品操作変換処理とを含むことを特徴とするテストスクリプト処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを変換するテストスクリプト変換装置に関し、特に、操作対象アプリケーションの修正にしたがって変換するテストスクリプト処理プログラムに関するものである。
【背景技術】
【０００２】
従来、ＧＵＩアプリケーション導入前のシステムテストやプログラム変更時に行われる回帰テストを効率良く行う技術として、例えば、特開２００３−３０８２９３号「操作記録装置、操作実行装置、それらの方法、それらのコンピュータ・プログラムおよびそれらのプログラムを記録した記録媒体」に記載のものが知られている。該公報では、操作対象アプリケーションに対するユーザの操作を記録し、記録した操作を定型のテストスクリプト形式に変換出力する装置と、記録されたテストスクリプトファイルの内容を解析し、操作対象アプリケーションに対して操作実行する装置に関する技術が開示されている。上述の技術を用いれば、ＧＵＩアプリケーションの回帰テストや複数回の繰り返し実行処理による操作の再現に活用することができる（例えば、特許文献１参照。）。
【０００３】
【特許文献１】特開２００３−３０８２９３号公報（第７−１４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特開２００３−３０８２９３号公報に記載の技術は、操作対象アプリケーションに対してユーザが行った操作内容をテストスクリプトという形式で記録し、操作の再現を行うことはできるが、操作対象アプリケーションの機能拡張や不良修正など、そのプログラムに修正（部品の追加や位置変更など）が発生した場合には、記録済みテストスクリプトには含まれておらず、操作の記録がなされていない機能が追加されていたり不良修正でユーザが行うことが可能な操作の内容が変更されていることがあるため、該公報の技術ではテストスクリプトファイルの修正なしに、既存の記録済みテストスクリプトを利用することができないことになる。
【０００５】
プログラム修正時にテスト対象プログラムのテスト内容とテスト結果としての画面構成要素に関わる論理的構造に着目して、有益なテスト結果を得るテスト装置関連技術として、特開２００１−３０６３５８号「ＧＵＩプログラムのテスト装置、ＧＵＩプログラムのテスト方法及び該方法に用いる記録媒体」も公開されているが、該公報の技術でも記録済みテストスクリプトの修正はできない。
【０００６】
もちろん、テストスクリプトはアプリケーションに対する操作を定型の記述言語として記録しているため、テストスクリプトの記述言語を完全に理解すれば、プログラムの修正に対応する部分で直接テストスクリプトを修正することで再利用可能となる。しかし、コンピュータシステムの操作に不慣れなユーザにとって、テストスクリプト言語を完全に理解することは容易ではなく、相当量の時間と労力を費やすことになる。
【０００７】
また、第三者により記録されたテストスクリプトが複雑な画面遷移を記録したものである場合、プログラム修正画面の仕様のみ理解しているテスト実施者に最初から再度記録操作を行わせることは難しく、この場合には該当スクリプト箇所のカスタマイズですら容易ではない。
【０００８】
本発明は、以上のような問題点に鑑みてなされたものであり、その目的とするところは、既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換するテストスクリプト処理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを、前記操作対象アプリケーションの修正にしたがって変換するテストスクリプト変換装置が実行するテストスクリプト処理プログラムにおいて、
前記テストスクリプト内の命令が操作対象画面の切り替えを命令している切替命令である場合に、この操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出する画面検出処理と、
ユーザの操作に応じた、前記画面検出手段が検出した操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいて前記テストスクリプト内の切替命令のデータを変換する命令変換処理とをテストスクリプト変換装置に実行させることを特徴とする。
【００１０】
このような発明によれば、画面検出処理で切替命令で切り替えを命令している操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出し、命令変換処理でユーザの操作に応じた、操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいてテストスクリプト内の切替命令のデータを変換するので、操作対象画面が操作対象アプリケーションの修正により変更されていても操作対象画面のデータを構成する部品情報に基づいて修正された内容に従った適切なテストスクリプトの変換を実現できる。
【００１１】
上述のテストスクリプト処理プログラムにおいて、
前記テストスクリプト内のデータを１行毎に分割する分割処理と、
前記分割手段が分割した前記テストスクリプト内の１行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定する命令判定処理とをテストスクリプト変換装置に実行させることとしてもよい。
【００１２】
このような発明によれば、テストスクリプト内のデータを１行毎に分割してテストスクリプト内の１行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定して、１行のデータ毎に順々に個別に切替命令のデータの変換を行っていき適切なテストスクリプトの変換を実現できる。
【００１３】
また、上述のテストスクリプト処理プログラムにおいて、
前記命令変換処理は、
前記画面検出処理で検出した操作対象画面のデータに対応する前記操作対象アプリケーションにおける第２の操作対象画面のデータと前記画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する画面比較処理を含むこととしてもよい。
【００１４】
このような発明によれば、画面比較処理において画面検出処理で検出した操作対象画面のデータに対応する操作対象アプリケーションにおける第２の操作対象画面のデータと画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する修正前後の操作対象アプリケーションの間で修正された部品情報を把握して適切なテストスクリプトの変換を実現できる。
【００１５】
さらに、上述のテストスクリプト処理プログラムにおいて、
前記修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示する新規画面操作指示表示処理と、
前記新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録する新規画面操作記録処理と、
前記新規画面操作記録処理で記録したユーザの操作内容に基づいて前記テストスクリプト内のデータを変換する新規画面変換処理とをテストスクリプト変換装置に実行させることとしても良い。
【００１６】
このような発明によれば、新規画面操作指示表示処理において、修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示し、新規画面操作記録処理において新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録し、新規画面変換処理において新規画面操作記録処理で記録したユーザの操作内容に基づいてテストスクリプト内のデータを変換するので、修正後の操作対象アプリケーションにおいて新規操作対象画面が新たに出現してもユーザが行った操作内容の記録に基づいて、新規操作対象画面の出現に応じた適切なテストスクリプト内のデータの変換を行うことができる。
【００１７】
上述のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記画面検出処理で検出した操作対象画面のデータおよび第２の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示する比較画面表示処理と、
前記比較画面表示処理で表示したユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録する部品操作記録処理とを含むこととしても良い。
【００１８】
このような発明によれば、比較画面表示処理において画面検出処理で検出した操作対象画面のデータおよび第２の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示し、部品操作記録処理において比較画面表示処理で表示した操作対象比較画面においてユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録するので、ユーザが行ったこの差異となる部品情報への関連付けの操作内容に従って、適切にテストスクリプトを変換できる。
【００１９】
上述のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記部品操作記録手段が記録した部品情報への関連付けの操作内容を再現実行する部品操作再現処理と、
前記部品操作再現処理で再現実行した操作内容を含む部品操作テストスクリプトのデータに基づいて前記テストスクリプト内の切替命令のデータを変換する部品操作変換処理とを含むこととしても良い。
【００２０】
このような発明によれば、部品操作再現処理において部品操作記録処理で記録した部品情報への関連付けの操作内容を再現実行して、ユーザが行ったこの差異となる部品情報への関連付けの操作内容に従って、適切に部品操作テストスクリプトを作成でき、部品操作変換手段によってテストスクリプト内の切替命令のデータを変換することができる。
【発明の効果】
【００２１】
本発明によれば、既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を用いて本発明の実施の形態を具体的に説明する。図１は、本発明の実施の形態に係るテストスクリプト処理プログラムの概略構成を示すブロック図である。このテストスクリプト処理プログラム１００は、コンピュータ等により実行されることでテストスクリプト変換装置１０１が実現され、ＧＵＩアプリケーション等の操作対象アプリケーション１１５に対するユーザの操作に基づいてテストスクリプトを作成する記録処理手段１０２と、操作対象アプリケーション１１５における機能拡張や不良修正等のプログラム修正に従ってテストスクリプトのデータの変換実行を行う変換処理手段１０４と、記録処理手段１０２が作成したテストスクリプト等を用いて操作対象アプリケーション１１５の操作を自動的に再現実行する再生処理手段１０６と、記録処理手段１０２が作成したテストスクリプト等のデータを解析するテストスクリプト解析手段１１０と、操作対象アプリケーション１１５のプログラム内のメッセージウィンドウ等の操作対象画面に関する画面情報に対して比較処理を行う画面構成比較手段１１１とから構成されている。
【００２３】
テストスクリプト記録処理手段１０２は、操作対象アプリケーション１１５に対するユーザの操作の内容を内部に備えている操作記録部１０３によって記録し、操作記録部１０３が記録したユーザの操作内容のデータをテストスクリプトとしてテストスクリプトファイル１０８に変換出力し格納する機能を搭載する。
【００２４】
テストスクリプト変換処理手段１０４は、内部に備えている操作検証部１０５によってテストスクリプト解析手段１１０を介してテストスクリプトファイル１０８に格納されたテストスクリプトのデータを読み込み、操作対象アプリケーション１１５のプログラム修正に従って読み込んだテストスクリプトのデータを変換実行する機能を搭載する。
【００２５】
テストスクリプト解析手段１１０は、テストスクリプト等のデータを解析すると共に、操作対象アプリケーション１１５のプログラム修正で操作対象画面の内容が変更される度に画面構成比較手段１１１を用いて画面情報の比較を行う機能を有する。
【００２６】
画面構成比較手段１１１は、操作対象アプリケーション１１５のプログラム修正後の操作対象画面に関する画面情報を格納した画面構成情報ファイル（現在）１１３と操作対象アプリケーション１１５のプログラム修正前の操作対象画面に関する画面情報を格納した画面構成情報ファイル（過去）１１４の各画面情報を取り込んだ画面構成比較部１１２によって、画面構成情報に差異が存在する場合にのみ進行中の動作を中断し、ユーザに対して後述する画面情報を構成する部品情報などの関連付けを促す指示情報を表示する機能を有する。また、関連付けされた情報は内部的に保持しておき、全てのテストスクリプトのデータの変換実行処理が完了した時点で、この関連付けられた情報等を用いてプログラム修正に従って変換されたテストスクリプトファイル（補正版）１０９と変換情報ログファイル１１６を生成する機能を有する。
【００２７】
テストスクリプト再生処理手段１０６は、操作実行部１０７によってテストスクリプト解析手段１１０を介してテストスクリプトファイル１０８に格納されたテストスクリプトのデータを読み込み、操作対象アプリケーション１１５に対する操作を自動的に再現実行する機能を搭載する。
【００２８】
また、テストスクリプト解析手段１１０によって、操作対象アプリケーション１１５のプログラム内の操作対象画面に関する画面情報を取得して画面構成情報ファイル（現在）１１３または画面構成情報ファイル（過去）１１４として保存する機能を併せ持つ。さらに、画面構成情報ファイル１１３または画面構成情報ファイル１１４に格納された画面情報を相互に比較するために視覚的に関連づけて表示した画面ビットマップイメージを作成する機能を有する。
【００２９】
なお、以上のような構成を有するテストスクリプト処理プログラム１００を、プログラムを実行することにより各種の処理を実行するＣＰＵ、各種の情報やデータを記憶する大容量の記憶装置、データ等を表示するディスプレイ装置、ＣＰＵが処理中に演算を行った情報等を一時的に記憶するＲＡＭ、ＣＰＵに実行させるプログラム等を記憶したＲＡＭ等を備えた一般的なコンピュータを用いて、ＣＰＵに実行させることによりテストスクリプト変換装置１０１を実現することが可能である。
【００３０】
図４は、プログラム修正を行う前の操作対象アプリケーション１１５の一例としてＧＵＩアプリケーションに対するユーザの一連の操作内容を記録したテストスクリプトの記述例４０１である。この記述例４０１で記録されたユーザの操作内容では、図４に示すように、まず、操作対象アプリケーション１１５のプログラム内の操作対象画面として“ログイン”画面を検出し、この“ログイン”画面をユーザが文字情報等を入力する入力操作、複数示された選択項目の中からいずれかの選択項目を選択する選択操作等を行うことが可能なアクティブウィンドウに設定されている（Ｇ１）。次にユーザが文字情報等を入力するための２つの入力フィールドにユーザ名やパスワードの情報が入力操作され（Ｓ１１、Ｓ１２）、次に「ログイン」ボタンが押下されている（Ｓ１３）。次に操作対象画面として“照会”画面に遷移し、当該画面をアクティブウィンドウに設定されている（Ｇ２）。次に入力フィールドに情報が入力操作され（Ｓ２１）、次にユーザが選択操作を行うためのコンボボックスにより複数示された選択項目の中から選択操作がされ（Ｓ２２）、次に「表示」ボタンを押下されている（Ｓ２３）。次に画面に表示された内容を確認した後で、「実行」ボタンが押下されている（Ｓ２４）。次に“確認”メッセージウィンドウに遷移している（Ｇ３）。次にこの“確認”メッセージウィンドウの操作対象画面中の「はい」ボタンが押下されている（Ｓ３１）。再び、“照会”画面に遷移し（Ｇ４）、「戻る」ボタンを押下されている（Ｓ４１）。“ログイン”画面をアクティブウィンドウに設定され（Ｇ５）、「終了」ボタンを押下され（Ｓ５１）、そして記録処理を終了している。
【００３１】
なお、Ｓ１１、Ｓ１２等の各行で示されている引数の“＆Ｘ”は、テストスクリプトのデータの分類ごとの連番を示しており、画面の左上を原点として右下まで同一の分類に対して順に付与されている。スクリプトのデータへの操作実行コマンドであるスクリプトコマンドは、この引数の“＆Ｘ”を用いて記録し座標を用いずに記録することで、画面レイアウトの変更による入力フィールドやボタン等の配置変更に対してもテストスクリプトの変更作業が不要となり作業量を軽減できる効果がある。
【００３２】
図５は、図４で示しているテストスクリプト中の命令を示すスクリプトコマンドの解説を示す。ＧＵＩアプリケーションに対応したテストスクリプトでは、一般的にユーザの各操作内容毎に、操作内容に対応したスクリプトコマンドが用意されており、図５に示すように、操作対象画面のデータを操作対象アプリケーション１１５のプログラム内から検出する「Ｓｅｔ＿Ｗｉｎｄｏｗ」や、入力フィールドに文字列を入力する操作を再現する「Ｓｅｔ＿ＩｎｐｕｔＢｏｘ」等のスクリプトコマンドの他に、図５に示していないがリストボックス、ラジオボタン、チェックボックスなどに対するスクリプトコマンドも用意されている。
【００３３】
図６は、プログラム修正を行う前の操作対象アプリケーション１１５における図４で示しているテストスクリプト中の“照会”画面に対する画面構成情報の構成図である。ディスプレイ装置に表示する画面を示す“照会”画面６０１には、整理番号の文字情報を入力するための入力フィールド、複数示された選択項目としての月次の中からいずれかの月次を選択するためのコンボボックス、文字情報の入力はできず利用状況の情報を表示する入力フィールドと「表示」、「実行」、「戻る」の３つのボタンが表示されている。画面構成情報は、“照会”画面６０１、画面情報表６０２と部品情報表６０３で構成され、後述するように操作対象画面のデータを検索する処理を行った際に操作対象画面の画面ごとに画面構成情報ファイル１１３または１１４に格納される。
【００３４】
画面情報表６０２には、ウィンドウタイトルを表す“画面タイトル”、ウィンドウクラス名称を表す“クラス”、ウィンドウの親子関係を表す“関係”、親画面タイトルを表す“親”、ウィンドウの横幅を表す“幅”とウィンドウの縦幅を表す“高さ”の５項目が表示されている。部品情報表６０３には、“照会”画面６０１を構成している文字情報や入力フィールド、ボタン等の部品の種類を表す“分類クラス”、分類クラス内の連番を表す“部品連番”、部品に付与されている“キャプション”、ウィンドウ左上を原点とした部品位置を表す“座標”、部品の横幅を表す“幅”と部品の縦幅を表す“高さ”の６項目が表示されている。なお、部品情報表６０３にはウィンドウ左上を原点とした画面部品数分の情報が昇順で格納されている。
【００３５】
図７は、図６で示している“照会”画面６０１に対してプログラムエンハンス、即ちプログラム修正を行った後の操作対象アプリケーション１１５における画面構成情報の構成図である。この“照会”画面７０１には、図６で示している“照会”画面６０１の画面構成に加えて、「表示」ボタンの操作実行後に表示される利用状況をクリアにするための「取消」ボタンが追加されている。その他は“照会”画面６０１と変更はない。画面情報表７０２は、“照会”画面の表示サイズなどは変更がないため、画面情報表６０２と同一である。しかし、部品情報表７０３は、「取消」ボタンが追加されたことに応じてボタンに関する情報が１つ増え、それに伴ってこの追加されたボタンの情報に部品連番、座標、幅、高さの情報が設定されている。
【００３６】
図８は、“照会”画面６０１に対してプログラムエンハンスが行われた後の画面である“照会”画面７０１に対して、図４で示しているテストスクリプトを変換実行した場合の後述する画面構成比較処理の際に出現する、画面構成情報を関連付けるための関係補正画面イメージ図である。図８では、画面の左側にはプログラム修正前の再生実行の際に取得された画面構成情報８０１を、画面の右側にはプログラム修正後の変換実行処理において操作対象画面から取得した画面構成情報８０２を表示しており、各画面構成情報で示す“照会”画面内の部品を分類クラスごとに部品連番の昇順で表示している。また、画面イメージ表示領域８０３、８０４には、プログラム修正前後の“照会”画面の各画面ビットマップイメージを表示する。８０１、８０２の部品項目を選択すると、画面ビットマップイメージ内に対応する部品位置に矢印で位置を表示する。部品の位置を表示することで、ユーザが部品を認識しやすくなる。新旧の部品項目を選択し、「関係」ボタン８０５を押下することで新旧の部品同士が相互に関係付けられ、「確定」ボタン８０７を押下することで全ての関連付けを確定するようになっている。ただし、「確定」ボタン８０７を押下するまでは、「取消」ボタン８０６を押下することで、「関係」ボタン８０５を押下して設定した関係付けを解除することができる。
【００３７】
図９は、図８で示している関係補正画面にてボタンの関連付けを行った、テストスクリプト変換実行終了後に生成されたテストスクリプトの記述例９０１を示している。図８で示している関係補正画面では、「戻る」ボタンの関係付けのみを行ったため、テストスクリプト変換実行により「戻る」ボタンに対する部品連番のみが修正されている（Ｓ４１）。上述のような部品の関連付け操作では、元のテストスクリプトファイルを直接編集することなく、視覚的にテストスクリプトの自動補正を行うことが可能である。
【００３８】
続いて本実施の形態におけるテストスクリプト変換装置１０１の動作について詳細に説明する。図２に示すフローチャートを用いてテストスクリプトの変換実行の全体処理について説明する。まず、テストスクリプト変換装置１０１は、テストスクリプト解析手段１１０によりテストスクリプトファイル１０８に格納されたテストスクリプト全体のデータを１行毎に分割し、１行分のデータを読み込む処理を行う（ステップ２０１）。例えば、図４に示すテストスクリプトの記述例４０１では、Ｇ１、Ｓ１１、Ｓ１２等の各行毎に１行分のデータを読み込む処理を行う。
【００３９】
次に、テストスクリプト変換装置１０１は、テストスクリプト解析手段１１０により１行分のデータの読み込みに失敗し、テストスクリプト全体の全てのデータの読み出しが終了しているか否かを判定する（ステップ２０２）。テストスクリプト全体の全てのデータの読み出しが終了している場合には（ステップ２０２のＹＥＳ）、ステップ２１３の処理を実行する。
【００４０】
次に、テストスクリプト変換装置１０１は、テストスクリプト全体の全てのデータの読み出しが終了していない場合には（ステップ２０２のＮＯ）、テストスクリプトの１行分のデータの読み込みに成功し、テストスクリプト解析手段１１０によりこの１行分のデータで示すユーザの操作内容を解析する（ステップ２０３）。
【００４１】
次に、テストスクリプト変換装置１０１は、テストスクリプト解析手段１１０により解析した結果この１行分のデータで示すユーザの操作内容が操作対象画面を切り替える切替命令であるか否かを判定し（ステップ２０４）、切替命令である場合には（ステップ２０４のＹＥＳ）、この切替命令のデータに含まれるスクリプトコマンドの引数で指定されたウィンドウタイトルとウィンドウクラスに基づいて、これらをキーとして操作対象アプリケーション１１５における機能拡張や不良修正等に従って修正が行われた後のプログラム内の操作対象画面のデータを検索する（ステップ２０５）。テストスクリプトファイル１０８に格納されたテストスクリプトのデータでは、操作対象画面を切り替える操作が行われる度（たとえば、操作対象画面が遷移してユーザが操作するための次の操作対象画面に移ったタイミングやメッセージウィンドウが出現したタイミングなど）にメッセージウィンドウ等の操作対象画面のウィンドウタイトルとウィンドウクラス名称が操作内容として記録されているため、操作対象画面のデータを操作対象アプリケーション１１５のプログラム内から容易に認識することができるようになっている。例えば図４に示すテストスクリプトの記述例４０１では、読み込んだデータがＧ２やＧ３等の各行で示す「Ｓｅｔ＿Ｗｉｎｄｏｗ“照会”“Ｆｏｒｍ＿Ｓｙｏｕｋａｉ”」、「Ｓｅｔ＿Ｗｉｎｄｏｗ“確認”“Ｆｏｒｍ＿Ｃｏｍｆｉｒｍ”」である場合には切替命令であると判定し、ウィンドウタイトルの“照会”とウィンドウクラスの“Ｆｏｒｍ＿Ｓｙｏｕｋａｉ”に基づいて操作対象画面のデータを検索する。
【００４２】
次に、テストスクリプト変換装置１０１は、操作対象アプリケーション１１５のプログラム内の操作対象画面のデータを検索した結果検出することができたか否かを判定する処理を行う（ステップ２０６）。操作対象画面のデータを検索した結果検出することができた場合には（ステップ２０６のＹＥＳ）、操作対象画面のデータをユーザが文字情報等を入力する入力操作、複数示された選択項目の中からいずれかの選択項目を選択する選択操作等を行うことが可能なアクティブウィンドウに設定し、この修正後のプログラム内の操作対象画面のデータに対して、操作対象画面を構成する部品情報に基づいて比較を行う画面構成情報比較処理を実行する（ステップ２１０）。この画面構成情報比較処理については後に詳細に説明する。そして、この比較処理により得られた操作対象画面を構成する部品情報への関連付けの操作内容のデータを含む部品操作情報を図示しない部品関連テーブルに格納する処理を行う。
【００４３】
次に、テストスクリプト変換装置１０１は、部品関連テーブルに格納された部品操作情報を参照し、この部品操作情報に該当するテストスクリプトのデータを変換する処理を行う（ステップ２１１）。部品操作情報に該当するテストスクリプトのデータが切替命令のデータである場合には、このデータに含まれるスクリプトコマンドの引数を、ウィンドウタイトルとウィンドウクラスに基づいてプログラムの修正が行われた後の操作対象アプリケーションにおいて適切な引数に変換する。例えば図９に示すテストスクリプト変換実行終了後に生成されたテストスクリプトの記述例９０１では、Ｓ４１の行のデータに含まれる「戻る」ボタンの部品連番が変更されたことに応じて引数を“＆３”から“＆４”に変換する。
【００４４】
次に、テストスクリプト変換装置１０１は、変換したテストスクリプトのデータにより操作対象アプリケーション１１５の操作を自動的に再現実行する（ステップ２１２）。修正後の操作対象アプリケーション１１５で正常に再現実行されたことが確認された後、この変換したテストスクリプトのデータを自動的に再現実行した操作内容に基づいて改めてテストスクリプトのデータを作成し、テストスクリプトファイル（補正版）１０９に格納する。そして、再び次の１行分のテストスクリプトのデータを読み込む。この処理を全ての１行分のデータであるテストスクリプトに対して繰り返し実行する。
【００４５】
次に、テストスクリプト変換装置１０１は、上述のステップ２０６において操作対象画面のデータを検索した結果検出することができなかった場合には（ステップ２０６のＮＯ）、記録処理手段１０２によりユーザの操作内容を記録する処理を行う（ステップ２０９）。操作対象画面のデータを検出することができない場合としては、例えば新規のメッセージウィンドウ等が出現する場合等の修正後の操作対象アプリケーションにおいて新規操作対象画面が新たに出現する場合が上げられるが、この場合にはテストスクリプト変換装置１０１は、記録処理手段１０２により実際にユーザに対してこの新規操作対象画面に対する操作を促す新規画面操作指示メッセージを外部に備えている等のディスプレイ装置に表示する。そして、ユーザが新規画面操作指示メッセージにしたがって、修正後の操作対象アプリケーションに対して操作を行い新規操作対象画面が出現した際の操作内容を記録する。そして、この記録した新規操作対象画面が出現した際の操作内容でのテストスクリプトのデータをテストスクリプトファイル（補正版）１０９に格納する。またこのとき、この新規操作対象画面としての操作対象画面のウィンドウタイトルとウィンドウクラス名称等の情報に基づいて操作対象画面のデータを検出しておき、ステップ２１０の処理を実行する。ただし、ステップ２１０では新規のメッセージウィンドウ等の新規操作対象画面が出現しているため、画面構成情報比較処理を実行しない。
【００４６】
次に、テストスクリプト変換装置１０１は、上述のステップ２０４において切替命令でない場合には（ステップ２０４のＮＯ）、現時点で表示されている最前面の操作対象画面のウィンドウのうちアクティブウィンドウに設定されているウィンドウを検出する処理を行う（ステップ２０７）。
【００４７】
次に、テストスクリプト変換装置１０１は、最前面の操作対象画面のウィンドウでアクティブウィンドウに設定されているウィンドウがその前の時点の最前面の操作対象画面のウィンドウから切り替えたものであるか否かを判定する（ステップ２０８）。その前の時点の最前面の操作対象画面のウィンドウから切り替えたものである場合には（ステップ２０８のＹＥＳ）、新規操作対象画面の代わりに検出した最前面の操作対象画面のウィンドウでアクティブウィンドウに設定されているウィンドウを用いて、ステップ２０９の処理を実行する。また、その前の時点の最前面の操作対象画面のウィンドウから切り替えたものでない場合には（ステップ２０８のＮＯ）、ステップ２１１の処理を実行する。
【００４８】
次に、テストスクリプト変換装置１０１は、上述のステップ２０２においてテストスクリプト全体の全てのデータの読み出しが終了している場合には（ステップ２０２のＹＥＳ）、テストスクリプトファイル（補正版）１０９に格納したテストスクリプトのデータを用いてテストスクリプトのデータ全体を変換する処理を行い（ステップ２１３）、処理を終了する。
【００４９】
続いて上述のステップ２１０において実行される画面構成情報比較処理について図３に示すフローチャートを用いて詳細に説明する。まず、テストスクリプト変換装置１０１は、上述のステップ２０５において検出した操作対象画面のデータに基づいて、修正が行われた後の操作対象アプリケーション１１５のプログラム内から操作対象画面のデータ、画面情報表、部品情報表を含む画面構成情報を生成する処理を行う（ステップ３０１）。例えば図７に示す例では、“照会”画面７０１のビットマップイメージ、画面情報表７０２、部品情報表７０３の各データを生成する処理を行う。
【００５０】
次に、テストスクリプト変換装置１０１は、上述のステップ２０５において検出した操作対象画面のデータに基づいて、修正が行われる前の操作対象アプリケーション１１５に対してテストスクリプトを用いて自動的にユーザの操作を再現実行した際に予め取得し画面構成情報ファイル（過去）１１４に記憶しておいたデータから、この操作対象画面のデータに対応する操作対象画面のデータ、画面情報表、部品情報表を含む画面構成情報を読み出す処理を行う（ステップ３０２）。
【００５１】
次に、テストスクリプト変換装置１０１は、修正前後の操作対象画面の画面構成情報を操作対象画面を構成する各部品や部品情報表６０３、７０３の内容に基づいて相互に比較し、修正前後の画面構成情報で差異が存在するか否かを判定する（ステップ３０３、３０４）。差異が存在しない場合には（ステップ３０４のＮＯ）、そのまま処理を終了する。
【００５２】
次に、テストスクリプト変換装置１０１は、差異が存在する場合には（ステップ３０４のＹＥＳ）、修正前後の画面構成情報で関連付けをする処理を行う（ステップ３０５）。ディスプレイ装置によりユーザに対して、プログラム修正前後の各画面構成情報で示す操作対象画面内の部品を分類クラスごとに部品連番の昇順で表示しユーザが視覚的に画面内の部品関係を比較し判断するための、図８に示すような画面構成情報を関連付けるための関係補正画面を表示し、更に、ユーザに修正前後の画面構成情報において差異となる部品情報の関連付けを促すメッセージを表示する。例えば図８に示す例では、プログラム修正前後の“照会”画面６０１、７０１において差異となる部品情報の関連付けを促すために“照会”画面６０１、７０１の各画面構成情報を関連付けるための関係補正画面を表示する。
【００５３】
次に、テストスクリプト変換装置１０１は、関係補正画面、差異となる部品情報の関連付けを促すメッセージにしたがって、ユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録する処理を行う（ステップ３０５）。ユーザが図８に示すような関係補正画面において差異となる部品情報を選択し、「関係」ボタン関連付け８０５を押下することにより相互に関係付けを行い、「確定」ボタン８０７を押下することで関連付けを確定した操作内容を記録し、この記録した操作内容のデータを含む部品操作情報を図示しない部品関連テーブルに格納する処理を行う。
【００５４】
以上説明したように、本実施の形態におけるテストスクリプト処理プログラム１００では、ＧＵＩアプリケーション等の操作対象アプリケーション１１５の機能拡張およびプログラム修正を行った場合において、テストスクリプト解析手段１１０によりテストスクリプトの１行分のデータを読み込み、切替命令である場合には操作対象画面のデータを検出し画面構成情報比較処理を実行する。そして、画面構成情報比較処理においてユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録してテストスクリプトのデータの変換を行う。
【００５５】
また、操作対象画面のデータを検出できなかった場合にはユーザに対して新規操作対象画面に対する操作を促し、ユーザが修正後の操作対象アプリケーションに対して行った新規操作対象画面での操作内容を記録してテストスクリプトのデータの変換を行う。
【００５６】
このため、修正前の操作対象アプリケーション１１５において作成した既存のテストスクリプトファイルを直接編集したり修正後の操作対象アプリケーション１１５に対して改めて作成することなく、変換実行処理により自動的にテストスクリプトの修正が可能となる。
【００５７】
また、プログラム修正による操作対象画面の画面構成情報の変更に対しては、画面構成情報の関連付けを行わせる関係補正画面を出現させることにより、ユーザが直接スクリプトを編集するよりも各画面構成情報で差異となる部品情報への関連付けの操作を視覚的に行いやすくなる。
【００５８】
さらに、テストスクリプト変換装置１０１の変換実行処理中に既存テストスクリプトに存在しないメッセージウィンドウ等の新規操作対象画面が出現した場合も、その部分のユーザの操作内容を記録することで、記録内容を補正テストスクリプトに盛り込むことができる。
【００５９】
以上より、修正前の操作対象アプリケーション１１５に対する既存のテストスクリプトを変換実行することで、アプリケーションのライフサイクルを通じて同じテストスクリプトを流用することができる。その結果、テストスクリプトのカスタマイズに対するユーザの時間と労力を節約して、作業量を軽減し、かつ効率的に修正後の操作対象アプリケーション１１５に対するテストスクリプトを用意することが可能となる。
【００６０】
（他の実施の形態）
上述の実施の形態においては、プログラム修正前後の各画面構成情報を関連付けるための関係補正画面において、操作対象画面内の部品を分類クラスごとに部品連番の昇順で表示していたが、これに限られず、ユーザが視覚的に画面内の部品関係を比較し判断しやすくなるのであれば、操作対象画面内の部品を部品連番ごと、キャプションの内容ごとに応じて他の昇順または比較配列等の表示方法によって表示してもよい。
【００６１】
また、上述の実施の形態においては、テストスクリプト解析手段１１０によりテストスクリプト全体のデータを１行毎に分割していたが、２行または５行等の複数行毎に分割して分割したそれぞれのデータを読み込むこととしてもよい。
【００６２】
また、上述の実施の形態におけるテストスクリプト変換装置１０１によるテストスクリプトの変換処理は、ＧＵＩアプリケーション等の操作対象アプリケーション１１５に対するユーザの操作に基づいて作成されたテストスクリプトに限られず、機器や物品を生産する工場で作業を行う作業用ロボット等の産業用機器において、一連の作業を実行させるための作業内容を記録して作成された作業記録データ等のソフトウェアでのプログラム修正に利用することも可能である。
【産業上の利用可能性】
【００６３】
操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを変換するテストスクリプト変換装置に関し、特に、操作対象アプリケーションの修正にしたがって変換するテストスクリプト処理プログラムにおいて利用することが可能である。
【図面の簡単な説明】
【００６４】
【図１】本実施の形態におけるテストスクリプト処理プログラムの概略構成を示すブロック図である。
【図２】本実施の形態におけるテストスクリプト処理プログラムのテストスクリプト変換実行処理を示すフローチャートである。
【図３】本実施の形態におけるテストスクリプト処理プログラムの画面構成情報比較処理を示すフローチャートである。
【図４】本実施の形態におけるテストスクリプト変換装置のテストスクリプトの記述例を示す説明図である。
【図５】本実施の形態におけるテストスクリプト処理プログラムのスクリプトコマンドを示す説明図である。
【図６】本実施の形態におけるテストスクリプト処理プログラムのプログラムエンハンス前の画面構成情報を示す構成図である。
【図７】本実施の形態におけるテストスクリプト処理プログラムのプログラムエンハンス後の画面構成情報を示す構成図である。
【図８】本実施の形態におけるテストスクリプト処理プログラムの画面構成情報比較処理において出現する関係補正画面のイメージ図である。
【図９】本実施の形態におけるテストスクリプト処理プログラムの変換実行処理で変換されたテストスクリプトファイルを示す説明図である。
【符号の説明】
【００６５】
１０１  テストスクリプト変換装置
１０２  記録処理手段
１０３  操作記録部
１０４  変換処理手段
１０５  操作検証部
１０６  再生処理手段
１０７  操作実行部
１０８  テストスクリプトファイル
１０９  テストスクリプトファイル（補正版）
１１０  テストスクリプト解釈手段
１１１  画面構成比較手段
１１２  画面構成比較部
１１３  画面構成情報ファイル（現在）
１１４  画面構成情報ファイル（過去）
１１５  操作対象アプリケーション
１１６  変換情報ログファイル
【図１】
2007102654.tif 000003
【図２】
2007102654.tif 000004
【図３】
2007102654.tif 000005
【図４】
2007102654.tif 000006
【図５】
2007102654.tif 000007
【図６】
2007102654.tif 000008
【図７】
2007102654.tif 000009
【図８】
2007102654.tif 000010
【図９】
2007102654.tif 000011