JP2007102654A - テストスクリプト処理プログラム - Google Patents

テストスクリプト処理プログラム Download PDF

Info

Publication number
JP2007102654A
JP2007102654A JP2005294307A JP2005294307A JP2007102654A JP 2007102654 A JP2007102654 A JP 2007102654A JP 2005294307 A JP2005294307 A JP 2005294307A JP 2005294307 A JP2005294307 A JP 2005294307A JP 2007102654 A JP2007102654 A JP 2007102654A
Authority
JP
Japan
Prior art keywords
screen
test script
operation target
data
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005294307A
Other languages
English (en)
Inventor
Noriaki Nishimura
紀昭 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2005294307A priority Critical patent/JP2007102654A/ja
Publication of JP2007102654A publication Critical patent/JP2007102654A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換するテストスクリプト処理プログラムを提供すること。
【解決手段】テストスクリプト処理プログラム100を実行したテストスクリプト変換装置101は、操作対象アプリケーション115のプログラム修正を行った場合に、テストスクリプト解析手段110によりテストスクリプトのデータを1行分のデータを読み込み、切替命令である場合には操作対象画面のデータを検出し画面構成情報比較処理を実行する。そして、画面構成情報比較処理においてユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録してテストスクリプトのデータの変換を行う。
【選択図】図3

Description

本発明は、操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを変換するテストスクリプト変換装置に関し、特に、操作対象アプリケーションの修正にしたがって変換するテストスクリプト処理プログラムに関するものである。
従来、GUIアプリケーション導入前のシステムテストやプログラム変更時に行われる回帰テストを効率良く行う技術として、例えば、特開2003−308293号「操作記録装置、操作実行装置、それらの方法、それらのコンピュータ・プログラムおよびそれらのプログラムを記録した記録媒体」に記載のものが知られている。該公報では、操作対象アプリケーションに対するユーザの操作を記録し、記録した操作を定型のテストスクリプト形式に変換出力する装置と、記録されたテストスクリプトファイルの内容を解析し、操作対象アプリケーションに対して操作実行する装置に関する技術が開示されている。上述の技術を用いれば、GUIアプリケーションの回帰テストや複数回の繰り返し実行処理による操作の再現に活用することができる(例えば、特許文献1参照。)。
特開2003−308293号公報(第7−14頁、第1図)
しかしながら、特開2003−308293号公報に記載の技術は、操作対象アプリケーションに対してユーザが行った操作内容をテストスクリプトという形式で記録し、操作の再現を行うことはできるが、操作対象アプリケーションの機能拡張や不良修正など、そのプログラムに修正(部品の追加や位置変更など)が発生した場合には、記録済みテストスクリプトには含まれておらず、操作の記録がなされていない機能が追加されていたり不良修正でユーザが行うことが可能な操作の内容が変更されていることがあるため、該公報の技術ではテストスクリプトファイルの修正なしに、既存の記録済みテストスクリプトを利用することができないことになる。
プログラム修正時にテスト対象プログラムのテスト内容とテスト結果としての画面構成要素に関わる論理的構造に着目して、有益なテスト結果を得るテスト装置関連技術として、特開2001−306358号「GUIプログラムのテスト装置、GUIプログラムのテスト方法及び該方法に用いる記録媒体」も公開されているが、該公報の技術でも記録済みテストスクリプトの修正はできない。
もちろん、テストスクリプトはアプリケーションに対する操作を定型の記述言語として記録しているため、テストスクリプトの記述言語を完全に理解すれば、プログラムの修正に対応する部分で直接テストスクリプトを修正することで再利用可能となる。しかし、コンピュータシステムの操作に不慣れなユーザにとって、テストスクリプト言語を完全に理解することは容易ではなく、相当量の時間と労力を費やすことになる。
また、第三者により記録されたテストスクリプトが複雑な画面遷移を記録したものである場合、プログラム修正画面の仕様のみ理解しているテスト実施者に最初から再度記録操作を行わせることは難しく、この場合には該当スクリプト箇所のカスタマイズですら容易ではない。
本発明は、以上のような問題点に鑑みてなされたものであり、その目的とするところは、既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換するテストスクリプト処理プログラムを提供することにある。
上記目的を達成するために、本発明は、操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを、前記操作対象アプリケーションの修正にしたがって変換するテストスクリプト変換装置が実行するテストスクリプト処理プログラムにおいて、
前記テストスクリプト内の命令が操作対象画面の切り替えを命令している切替命令である場合に、この操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出する画面検出処理と、
ユーザの操作に応じた、前記画面検出手段が検出した操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいて前記テストスクリプト内の切替命令のデータを変換する命令変換処理とをテストスクリプト変換装置に実行させることを特徴とする。
このような発明によれば、画面検出処理で切替命令で切り替えを命令している操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出し、命令変換処理でユーザの操作に応じた、操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいてテストスクリプト内の切替命令のデータを変換するので、操作対象画面が操作対象アプリケーションの修正により変更されていても操作対象画面のデータを構成する部品情報に基づいて修正された内容に従った適切なテストスクリプトの変換を実現できる。
上述のテストスクリプト処理プログラムにおいて、
前記テストスクリプト内のデータを1行毎に分割する分割処理と、
前記分割手段が分割した前記テストスクリプト内の1行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定する命令判定処理とをテストスクリプト変換装置に実行させることとしてもよい。
このような発明によれば、テストスクリプト内のデータを1行毎に分割してテストスクリプト内の1行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定して、1行のデータ毎に順々に個別に切替命令のデータの変換を行っていき適切なテストスクリプトの変換を実現できる。
また、上述のテストスクリプト処理プログラムにおいて、
前記命令変換処理は、
前記画面検出処理で検出した操作対象画面のデータに対応する前記操作対象アプリケーションにおける第2の操作対象画面のデータと前記画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する画面比較処理を含むこととしてもよい。
このような発明によれば、画面比較処理において画面検出処理で検出した操作対象画面のデータに対応する操作対象アプリケーションにおける第2の操作対象画面のデータと画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する修正前後の操作対象アプリケーションの間で修正された部品情報を把握して適切なテストスクリプトの変換を実現できる。
さらに、上述のテストスクリプト処理プログラムにおいて、
前記修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示する新規画面操作指示表示処理と、
前記新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録する新規画面操作記録処理と、
前記新規画面操作記録処理で記録したユーザの操作内容に基づいて前記テストスクリプト内のデータを変換する新規画面変換処理とをテストスクリプト変換装置に実行させることとしても良い。
このような発明によれば、新規画面操作指示表示処理において、修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示し、新規画面操作記録処理において新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録し、新規画面変換処理において新規画面操作記録処理で記録したユーザの操作内容に基づいてテストスクリプト内のデータを変換するので、修正後の操作対象アプリケーションにおいて新規操作対象画面が新たに出現してもユーザが行った操作内容の記録に基づいて、新規操作対象画面の出現に応じた適切なテストスクリプト内のデータの変換を行うことができる。
上述のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記画面検出処理で検出した操作対象画面のデータおよび第2の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示する比較画面表示処理と、
前記比較画面表示処理で表示したユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録する部品操作記録処理とを含むこととしても良い。
このような発明によれば、比較画面表示処理において画面検出処理で検出した操作対象画面のデータおよび第2の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示し、部品操作記録処理において比較画面表示処理で表示した操作対象比較画面においてユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録するので、ユーザが行ったこの差異となる部品情報への関連付けの操作内容に従って、適切にテストスクリプトを変換できる。
上述のテストスクリプト処理プログラムにおいて、
前記画面比較処理は、
前記部品操作記録手段が記録した部品情報への関連付けの操作内容を再現実行する部品操作再現処理と、
前記部品操作再現処理で再現実行した操作内容を含む部品操作テストスクリプトのデータに基づいて前記テストスクリプト内の切替命令のデータを変換する部品操作変換処理とを含むこととしても良い。
このような発明によれば、部品操作再現処理において部品操作記録処理で記録した部品情報への関連付けの操作内容を再現実行して、ユーザが行ったこの差異となる部品情報への関連付けの操作内容に従って、適切に部品操作テストスクリプトを作成でき、部品操作変換手段によってテストスクリプト内の切替命令のデータを変換することができる。
本発明によれば、既存テストスクリプトの修正において、操作対象アプリケーションに機能拡張や不良修正などのプログラム修正が生じた場合でも、既存のテストスクリプトを破棄することなく、修正された内容に従ってテストスクリプトを変換することが可能となる。
以下、図面を用いて本発明の実施の形態を具体的に説明する。図1は、本発明の実施の形態に係るテストスクリプト処理プログラムの概略構成を示すブロック図である。このテストスクリプト処理プログラム100は、コンピュータ等により実行されることでテストスクリプト変換装置101が実現され、GUIアプリケーション等の操作対象アプリケーション115に対するユーザの操作に基づいてテストスクリプトを作成する記録処理手段102と、操作対象アプリケーション115における機能拡張や不良修正等のプログラム修正に従ってテストスクリプトのデータの変換実行を行う変換処理手段104と、記録処理手段102が作成したテストスクリプト等を用いて操作対象アプリケーション115の操作を自動的に再現実行する再生処理手段106と、記録処理手段102が作成したテストスクリプト等のデータを解析するテストスクリプト解析手段110と、操作対象アプリケーション115のプログラム内のメッセージウィンドウ等の操作対象画面に関する画面情報に対して比較処理を行う画面構成比較手段111とから構成されている。
テストスクリプト記録処理手段102は、操作対象アプリケーション115に対するユーザの操作の内容を内部に備えている操作記録部103によって記録し、操作記録部103が記録したユーザの操作内容のデータをテストスクリプトとしてテストスクリプトファイル108に変換出力し格納する機能を搭載する。
テストスクリプト変換処理手段104は、内部に備えている操作検証部105によってテストスクリプト解析手段110を介してテストスクリプトファイル108に格納されたテストスクリプトのデータを読み込み、操作対象アプリケーション115のプログラム修正に従って読み込んだテストスクリプトのデータを変換実行する機能を搭載する。
テストスクリプト解析手段110は、テストスクリプト等のデータを解析すると共に、操作対象アプリケーション115のプログラム修正で操作対象画面の内容が変更される度に画面構成比較手段111を用いて画面情報の比較を行う機能を有する。
画面構成比較手段111は、操作対象アプリケーション115のプログラム修正後の操作対象画面に関する画面情報を格納した画面構成情報ファイル(現在)113と操作対象アプリケーション115のプログラム修正前の操作対象画面に関する画面情報を格納した画面構成情報ファイル(過去)114の各画面情報を取り込んだ画面構成比較部112によって、画面構成情報に差異が存在する場合にのみ進行中の動作を中断し、ユーザに対して後述する画面情報を構成する部品情報などの関連付けを促す指示情報を表示する機能を有する。また、関連付けされた情報は内部的に保持しておき、全てのテストスクリプトのデータの変換実行処理が完了した時点で、この関連付けられた情報等を用いてプログラム修正に従って変換されたテストスクリプトファイル(補正版)109と変換情報ログファイル116を生成する機能を有する。
テストスクリプト再生処理手段106は、操作実行部107によってテストスクリプト解析手段110を介してテストスクリプトファイル108に格納されたテストスクリプトのデータを読み込み、操作対象アプリケーション115に対する操作を自動的に再現実行する機能を搭載する。
また、テストスクリプト解析手段110によって、操作対象アプリケーション115のプログラム内の操作対象画面に関する画面情報を取得して画面構成情報ファイル(現在)113または画面構成情報ファイル(過去)114として保存する機能を併せ持つ。さらに、画面構成情報ファイル113または画面構成情報ファイル114に格納された画面情報を相互に比較するために視覚的に関連づけて表示した画面ビットマップイメージを作成する機能を有する。
なお、以上のような構成を有するテストスクリプト処理プログラム100を、プログラムを実行することにより各種の処理を実行するCPU、各種の情報やデータを記憶する大容量の記憶装置、データ等を表示するディスプレイ装置、CPUが処理中に演算を行った情報等を一時的に記憶するRAM、CPUに実行させるプログラム等を記憶したRAM等を備えた一般的なコンピュータを用いて、CPUに実行させることによりテストスクリプト変換装置101を実現することが可能である。
図4は、プログラム修正を行う前の操作対象アプリケーション115の一例としてGUIアプリケーションに対するユーザの一連の操作内容を記録したテストスクリプトの記述例401である。この記述例401で記録されたユーザの操作内容では、図4に示すように、まず、操作対象アプリケーション115のプログラム内の操作対象画面として“ログイン”画面を検出し、この“ログイン”画面をユーザが文字情報等を入力する入力操作、複数示された選択項目の中からいずれかの選択項目を選択する選択操作等を行うことが可能なアクティブウィンドウに設定されている(G1)。次にユーザが文字情報等を入力するための2つの入力フィールドにユーザ名やパスワードの情報が入力操作され(S11、S12)、次に「ログイン」ボタンが押下されている(S13)。次に操作対象画面として“照会”画面に遷移し、当該画面をアクティブウィンドウに設定されている(G2)。次に入力フィールドに情報が入力操作され(S21)、次にユーザが選択操作を行うためのコンボボックスにより複数示された選択項目の中から選択操作がされ(S22)、次に「表示」ボタンを押下されている(S23)。次に画面に表示された内容を確認した後で、「実行」ボタンが押下されている(S24)。次に“確認”メッセージウィンドウに遷移している(G3)。次にこの“確認”メッセージウィンドウの操作対象画面中の「はい」ボタンが押下されている(S31)。再び、“照会”画面に遷移し(G4)、「戻る」ボタンを押下されている(S41)。“ログイン”画面をアクティブウィンドウに設定され(G5)、「終了」ボタンを押下され(S51)、そして記録処理を終了している。
なお、S11、S12等の各行で示されている引数の“&X”は、テストスクリプトのデータの分類ごとの連番を示しており、画面の左上を原点として右下まで同一の分類に対して順に付与されている。スクリプトのデータへの操作実行コマンドであるスクリプトコマンドは、この引数の“&X”を用いて記録し座標を用いずに記録することで、画面レイアウトの変更による入力フィールドやボタン等の配置変更に対してもテストスクリプトの変更作業が不要となり作業量を軽減できる効果がある。
図5は、図4で示しているテストスクリプト中の命令を示すスクリプトコマンドの解説を示す。GUIアプリケーションに対応したテストスクリプトでは、一般的にユーザの各操作内容毎に、操作内容に対応したスクリプトコマンドが用意されており、図5に示すように、操作対象画面のデータを操作対象アプリケーション115のプログラム内から検出する「Set_Window」や、入力フィールドに文字列を入力する操作を再現する「Set_InputBox」等のスクリプトコマンドの他に、図5に示していないがリストボックス、ラジオボタン、チェックボックスなどに対するスクリプトコマンドも用意されている。
図6は、プログラム修正を行う前の操作対象アプリケーション115における図4で示しているテストスクリプト中の“照会”画面に対する画面構成情報の構成図である。ディスプレイ装置に表示する画面を示す“照会”画面601には、整理番号の文字情報を入力するための入力フィールド、複数示された選択項目としての月次の中からいずれかの月次を選択するためのコンボボックス、文字情報の入力はできず利用状況の情報を表示する入力フィールドと「表示」、「実行」、「戻る」の3つのボタンが表示されている。画面構成情報は、“照会”画面601、画面情報表602と部品情報表603で構成され、後述するように操作対象画面のデータを検索する処理を行った際に操作対象画面の画面ごとに画面構成情報ファイル113または114に格納される。
画面情報表602には、ウィンドウタイトルを表す“画面タイトル”、ウィンドウクラス名称を表す“クラス”、ウィンドウの親子関係を表す“関係”、親画面タイトルを表す“親”、ウィンドウの横幅を表す“幅”とウィンドウの縦幅を表す“高さ”の5項目が表示されている。部品情報表603には、“照会”画面601を構成している文字情報や入力フィールド、ボタン等の部品の種類を表す“分類クラス”、分類クラス内の連番を表す“部品連番”、部品に付与されている“キャプション”、ウィンドウ左上を原点とした部品位置を表す“座標”、部品の横幅を表す“幅”と部品の縦幅を表す“高さ”の6項目が表示されている。なお、部品情報表603にはウィンドウ左上を原点とした画面部品数分の情報が昇順で格納されている。
図7は、図6で示している“照会”画面601に対してプログラムエンハンス、即ちプログラム修正を行った後の操作対象アプリケーション115における画面構成情報の構成図である。この“照会”画面701には、図6で示している“照会”画面601の画面構成に加えて、「表示」ボタンの操作実行後に表示される利用状況をクリアにするための「取消」ボタンが追加されている。その他は“照会”画面601と変更はない。画面情報表702は、“照会”画面の表示サイズなどは変更がないため、画面情報表602と同一である。しかし、部品情報表703は、「取消」ボタンが追加されたことに応じてボタンに関する情報が1つ増え、それに伴ってこの追加されたボタンの情報に部品連番、座標、幅、高さの情報が設定されている。
図8は、“照会”画面601に対してプログラムエンハンスが行われた後の画面である“照会”画面701に対して、図4で示しているテストスクリプトを変換実行した場合の後述する画面構成比較処理の際に出現する、画面構成情報を関連付けるための関係補正画面イメージ図である。図8では、画面の左側にはプログラム修正前の再生実行の際に取得された画面構成情報801を、画面の右側にはプログラム修正後の変換実行処理において操作対象画面から取得した画面構成情報802を表示しており、各画面構成情報で示す“照会”画面内の部品を分類クラスごとに部品連番の昇順で表示している。また、画面イメージ表示領域803、804には、プログラム修正前後の“照会”画面の各画面ビットマップイメージを表示する。801、802の部品項目を選択すると、画面ビットマップイメージ内に対応する部品位置に矢印で位置を表示する。部品の位置を表示することで、ユーザが部品を認識しやすくなる。新旧の部品項目を選択し、「関係」ボタン805を押下することで新旧の部品同士が相互に関係付けられ、「確定」ボタン807を押下することで全ての関連付けを確定するようになっている。ただし、「確定」ボタン807を押下するまでは、「取消」ボタン806を押下することで、「関係」ボタン805を押下して設定した関係付けを解除することができる。
図9は、図8で示している関係補正画面にてボタンの関連付けを行った、テストスクリプト変換実行終了後に生成されたテストスクリプトの記述例901を示している。図8で示している関係補正画面では、「戻る」ボタンの関係付けのみを行ったため、テストスクリプト変換実行により「戻る」ボタンに対する部品連番のみが修正されている(S41)。上述のような部品の関連付け操作では、元のテストスクリプトファイルを直接編集することなく、視覚的にテストスクリプトの自動補正を行うことが可能である。
続いて本実施の形態におけるテストスクリプト変換装置101の動作について詳細に説明する。図2に示すフローチャートを用いてテストスクリプトの変換実行の全体処理について説明する。まず、テストスクリプト変換装置101は、テストスクリプト解析手段110によりテストスクリプトファイル108に格納されたテストスクリプト全体のデータを1行毎に分割し、1行分のデータを読み込む処理を行う(ステップ201)。例えば、図4に示すテストスクリプトの記述例401では、G1、S11、S12等の各行毎に1行分のデータを読み込む処理を行う。
次に、テストスクリプト変換装置101は、テストスクリプト解析手段110により1行分のデータの読み込みに失敗し、テストスクリプト全体の全てのデータの読み出しが終了しているか否かを判定する(ステップ202)。テストスクリプト全体の全てのデータの読み出しが終了している場合には(ステップ202のYES)、ステップ213の処理を実行する。
次に、テストスクリプト変換装置101は、テストスクリプト全体の全てのデータの読み出しが終了していない場合には(ステップ202のNO)、テストスクリプトの1行分のデータの読み込みに成功し、テストスクリプト解析手段110によりこの1行分のデータで示すユーザの操作内容を解析する(ステップ203)。
次に、テストスクリプト変換装置101は、テストスクリプト解析手段110により解析した結果この1行分のデータで示すユーザの操作内容が操作対象画面を切り替える切替命令であるか否かを判定し(ステップ204)、切替命令である場合には(ステップ204のYES)、この切替命令のデータに含まれるスクリプトコマンドの引数で指定されたウィンドウタイトルとウィンドウクラスに基づいて、これらをキーとして操作対象アプリケーション115における機能拡張や不良修正等に従って修正が行われた後のプログラム内の操作対象画面のデータを検索する(ステップ205)。テストスクリプトファイル108に格納されたテストスクリプトのデータでは、操作対象画面を切り替える操作が行われる度(たとえば、操作対象画面が遷移してユーザが操作するための次の操作対象画面に移ったタイミングやメッセージウィンドウが出現したタイミングなど)にメッセージウィンドウ等の操作対象画面のウィンドウタイトルとウィンドウクラス名称が操作内容として記録されているため、操作対象画面のデータを操作対象アプリケーション115のプログラム内から容易に認識することができるようになっている。例えば図4に示すテストスクリプトの記述例401では、読み込んだデータがG2やG3等の各行で示す「Set_Window“照会”“Form_Syoukai”」、「Set_Window“確認”“Form_Comfirm”」である場合には切替命令であると判定し、ウィンドウタイトルの“照会”とウィンドウクラスの“Form_Syoukai”に基づいて操作対象画面のデータを検索する。
次に、テストスクリプト変換装置101は、操作対象アプリケーション115のプログラム内の操作対象画面のデータを検索した結果検出することができたか否かを判定する処理を行う(ステップ206)。操作対象画面のデータを検索した結果検出することができた場合には(ステップ206のYES)、操作対象画面のデータをユーザが文字情報等を入力する入力操作、複数示された選択項目の中からいずれかの選択項目を選択する選択操作等を行うことが可能なアクティブウィンドウに設定し、この修正後のプログラム内の操作対象画面のデータに対して、操作対象画面を構成する部品情報に基づいて比較を行う画面構成情報比較処理を実行する(ステップ210)。この画面構成情報比較処理については後に詳細に説明する。そして、この比較処理により得られた操作対象画面を構成する部品情報への関連付けの操作内容のデータを含む部品操作情報を図示しない部品関連テーブルに格納する処理を行う。
次に、テストスクリプト変換装置101は、部品関連テーブルに格納された部品操作情報を参照し、この部品操作情報に該当するテストスクリプトのデータを変換する処理を行う(ステップ211)。部品操作情報に該当するテストスクリプトのデータが切替命令のデータである場合には、このデータに含まれるスクリプトコマンドの引数を、ウィンドウタイトルとウィンドウクラスに基づいてプログラムの修正が行われた後の操作対象アプリケーションにおいて適切な引数に変換する。例えば図9に示すテストスクリプト変換実行終了後に生成されたテストスクリプトの記述例901では、S41の行のデータに含まれる「戻る」ボタンの部品連番が変更されたことに応じて引数を“&3”から“&4”に変換する。
次に、テストスクリプト変換装置101は、変換したテストスクリプトのデータにより操作対象アプリケーション115の操作を自動的に再現実行する(ステップ212)。修正後の操作対象アプリケーション115で正常に再現実行されたことが確認された後、この変換したテストスクリプトのデータを自動的に再現実行した操作内容に基づいて改めてテストスクリプトのデータを作成し、テストスクリプトファイル(補正版)109に格納する。そして、再び次の1行分のテストスクリプトのデータを読み込む。この処理を全ての1行分のデータであるテストスクリプトに対して繰り返し実行する。
次に、テストスクリプト変換装置101は、上述のステップ206において操作対象画面のデータを検索した結果検出することができなかった場合には(ステップ206のNO)、記録処理手段102によりユーザの操作内容を記録する処理を行う(ステップ209)。操作対象画面のデータを検出することができない場合としては、例えば新規のメッセージウィンドウ等が出現する場合等の修正後の操作対象アプリケーションにおいて新規操作対象画面が新たに出現する場合が上げられるが、この場合にはテストスクリプト変換装置101は、記録処理手段102により実際にユーザに対してこの新規操作対象画面に対する操作を促す新規画面操作指示メッセージを外部に備えている等のディスプレイ装置に表示する。そして、ユーザが新規画面操作指示メッセージにしたがって、修正後の操作対象アプリケーションに対して操作を行い新規操作対象画面が出現した際の操作内容を記録する。そして、この記録した新規操作対象画面が出現した際の操作内容でのテストスクリプトのデータをテストスクリプトファイル(補正版)109に格納する。またこのとき、この新規操作対象画面としての操作対象画面のウィンドウタイトルとウィンドウクラス名称等の情報に基づいて操作対象画面のデータを検出しておき、ステップ210の処理を実行する。ただし、ステップ210では新規のメッセージウィンドウ等の新規操作対象画面が出現しているため、画面構成情報比較処理を実行しない。
次に、テストスクリプト変換装置101は、上述のステップ204において切替命令でない場合には(ステップ204のNO)、現時点で表示されている最前面の操作対象画面のウィンドウのうちアクティブウィンドウに設定されているウィンドウを検出する処理を行う(ステップ207)。
次に、テストスクリプト変換装置101は、最前面の操作対象画面のウィンドウでアクティブウィンドウに設定されているウィンドウがその前の時点の最前面の操作対象画面のウィンドウから切り替えたものであるか否かを判定する(ステップ208)。その前の時点の最前面の操作対象画面のウィンドウから切り替えたものである場合には(ステップ208のYES)、新規操作対象画面の代わりに検出した最前面の操作対象画面のウィンドウでアクティブウィンドウに設定されているウィンドウを用いて、ステップ209の処理を実行する。また、その前の時点の最前面の操作対象画面のウィンドウから切り替えたものでない場合には(ステップ208のNO)、ステップ211の処理を実行する。
次に、テストスクリプト変換装置101は、上述のステップ202においてテストスクリプト全体の全てのデータの読み出しが終了している場合には(ステップ202のYES)、テストスクリプトファイル(補正版)109に格納したテストスクリプトのデータを用いてテストスクリプトのデータ全体を変換する処理を行い(ステップ213)、処理を終了する。
続いて上述のステップ210において実行される画面構成情報比較処理について図3に示すフローチャートを用いて詳細に説明する。まず、テストスクリプト変換装置101は、上述のステップ205において検出した操作対象画面のデータに基づいて、修正が行われた後の操作対象アプリケーション115のプログラム内から操作対象画面のデータ、画面情報表、部品情報表を含む画面構成情報を生成する処理を行う(ステップ301)。例えば図7に示す例では、“照会”画面701のビットマップイメージ、画面情報表702、部品情報表703の各データを生成する処理を行う。
次に、テストスクリプト変換装置101は、上述のステップ205において検出した操作対象画面のデータに基づいて、修正が行われる前の操作対象アプリケーション115に対してテストスクリプトを用いて自動的にユーザの操作を再現実行した際に予め取得し画面構成情報ファイル(過去)114に記憶しておいたデータから、この操作対象画面のデータに対応する操作対象画面のデータ、画面情報表、部品情報表を含む画面構成情報を読み出す処理を行う(ステップ302)。
次に、テストスクリプト変換装置101は、修正前後の操作対象画面の画面構成情報を操作対象画面を構成する各部品や部品情報表603、703の内容に基づいて相互に比較し、修正前後の画面構成情報で差異が存在するか否かを判定する(ステップ303、304)。差異が存在しない場合には(ステップ304のNO)、そのまま処理を終了する。
次に、テストスクリプト変換装置101は、差異が存在する場合には(ステップ304のYES)、修正前後の画面構成情報で関連付けをする処理を行う(ステップ305)。ディスプレイ装置によりユーザに対して、プログラム修正前後の各画面構成情報で示す操作対象画面内の部品を分類クラスごとに部品連番の昇順で表示しユーザが視覚的に画面内の部品関係を比較し判断するための、図8に示すような画面構成情報を関連付けるための関係補正画面を表示し、更に、ユーザに修正前後の画面構成情報において差異となる部品情報の関連付けを促すメッセージを表示する。例えば図8に示す例では、プログラム修正前後の“照会”画面601、701において差異となる部品情報の関連付けを促すために“照会”画面601、701の各画面構成情報を関連付けるための関係補正画面を表示する。
次に、テストスクリプト変換装置101は、関係補正画面、差異となる部品情報の関連付けを促すメッセージにしたがって、ユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録する処理を行う(ステップ305)。ユーザが図8に示すような関係補正画面において差異となる部品情報を選択し、「関係」ボタン関連付け805を押下することにより相互に関係付けを行い、「確定」ボタン807を押下することで関連付けを確定した操作内容を記録し、この記録した操作内容のデータを含む部品操作情報を図示しない部品関連テーブルに格納する処理を行う。
以上説明したように、本実施の形態におけるテストスクリプト処理プログラム100では、GUIアプリケーション等の操作対象アプリケーション115の機能拡張およびプログラム修正を行った場合において、テストスクリプト解析手段110によりテストスクリプトの1行分のデータを読み込み、切替命令である場合には操作対象画面のデータを検出し画面構成情報比較処理を実行する。そして、画面構成情報比較処理においてユーザが行ったプログラム修正前後の各画面構成情報で差異となる部品情報への関連付けの操作内容を記録してテストスクリプトのデータの変換を行う。
また、操作対象画面のデータを検出できなかった場合にはユーザに対して新規操作対象画面に対する操作を促し、ユーザが修正後の操作対象アプリケーションに対して行った新規操作対象画面での操作内容を記録してテストスクリプトのデータの変換を行う。
このため、修正前の操作対象アプリケーション115において作成した既存のテストスクリプトファイルを直接編集したり修正後の操作対象アプリケーション115に対して改めて作成することなく、変換実行処理により自動的にテストスクリプトの修正が可能となる。
また、プログラム修正による操作対象画面の画面構成情報の変更に対しては、画面構成情報の関連付けを行わせる関係補正画面を出現させることにより、ユーザが直接スクリプトを編集するよりも各画面構成情報で差異となる部品情報への関連付けの操作を視覚的に行いやすくなる。
さらに、テストスクリプト変換装置101の変換実行処理中に既存テストスクリプトに存在しないメッセージウィンドウ等の新規操作対象画面が出現した場合も、その部分のユーザの操作内容を記録することで、記録内容を補正テストスクリプトに盛り込むことができる。
以上より、修正前の操作対象アプリケーション115に対する既存のテストスクリプトを変換実行することで、アプリケーションのライフサイクルを通じて同じテストスクリプトを流用することができる。その結果、テストスクリプトのカスタマイズに対するユーザの時間と労力を節約して、作業量を軽減し、かつ効率的に修正後の操作対象アプリケーション115に対するテストスクリプトを用意することが可能となる。
(他の実施の形態)
上述の実施の形態においては、プログラム修正前後の各画面構成情報を関連付けるための関係補正画面において、操作対象画面内の部品を分類クラスごとに部品連番の昇順で表示していたが、これに限られず、ユーザが視覚的に画面内の部品関係を比較し判断しやすくなるのであれば、操作対象画面内の部品を部品連番ごと、キャプションの内容ごとに応じて他の昇順または比較配列等の表示方法によって表示してもよい。
また、上述の実施の形態においては、テストスクリプト解析手段110によりテストスクリプト全体のデータを1行毎に分割していたが、2行または5行等の複数行毎に分割して分割したそれぞれのデータを読み込むこととしてもよい。
また、上述の実施の形態におけるテストスクリプト変換装置101によるテストスクリプトの変換処理は、GUIアプリケーション等の操作対象アプリケーション115に対するユーザの操作に基づいて作成されたテストスクリプトに限られず、機器や物品を生産する工場で作業を行う作業用ロボット等の産業用機器において、一連の作業を実行させるための作業内容を記録して作成された作業記録データ等のソフトウェアでのプログラム修正に利用することも可能である。
操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを変換するテストスクリプト変換装置に関し、特に、操作対象アプリケーションの修正にしたがって変換するテストスクリプト処理プログラムにおいて利用することが可能である。
本実施の形態におけるテストスクリプト処理プログラムの概略構成を示すブロック図である。 本実施の形態におけるテストスクリプト処理プログラムのテストスクリプト変換実行処理を示すフローチャートである。 本実施の形態におけるテストスクリプト処理プログラムの画面構成情報比較処理を示すフローチャートである。 本実施の形態におけるテストスクリプト変換装置のテストスクリプトの記述例を示す説明図である。 本実施の形態におけるテストスクリプト処理プログラムのスクリプトコマンドを示す説明図である。 本実施の形態におけるテストスクリプト処理プログラムのプログラムエンハンス前の画面構成情報を示す構成図である。 本実施の形態におけるテストスクリプト処理プログラムのプログラムエンハンス後の画面構成情報を示す構成図である。 本実施の形態におけるテストスクリプト処理プログラムの画面構成情報比較処理において出現する関係補正画面のイメージ図である。 本実施の形態におけるテストスクリプト処理プログラムの変換実行処理で変換されたテストスクリプトファイルを示す説明図である。
符号の説明
101 テストスクリプト変換装置
102 記録処理手段
103 操作記録部
104 変換処理手段
105 操作検証部
106 再生処理手段
107 操作実行部
108 テストスクリプトファイル
109 テストスクリプトファイル(補正版)
110 テストスクリプト解釈手段
111 画面構成比較手段
112 画面構成比較部
113 画面構成情報ファイル(現在)
114 画面構成情報ファイル(過去)
115 操作対象アプリケーション
116 変換情報ログファイル

Claims (6)

  1. 操作対象アプリケーションに対するユーザの操作に基づいて作成されたテストスクリプトを、前記操作対象アプリケーションの修正にしたがって変換するテストスクリプト変換装置が実行するテストスクリプト処理プログラムにおいて、
    前記テストスクリプト内の命令が操作対象画面の切り替えを命令している切替命令である場合に、この操作対象画面のデータを修正後の操作対象アプリケーションを実現するプログラム内から検出する画面検出処理と、
    ユーザの操作に応じた、前記画面検出手段が検出した操作対象画面のデータを構成する部品情報を関連付けるための部品指示情報に基づいて前記テストスクリプト内の切替命令のデータを変換する命令変換処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
  2. 請求項1に記載のテストスクリプト処理プログラムにおいて、
    前記テストスクリプト内のデータを1行毎に分割する分割処理と、
    前記分割手段が分割した前記テストスクリプト内の1行毎のデータを解析し、操作対象画面の切り替えを命令している切替命令であるか否かを判定する命令判定処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
  3. 請求項1に記載のテストスクリプト処理プログラムにおいて、
    前記命令変換処理は、
    前記画面検出処理で検出した操作対象画面のデータに対応する前記操作対象アプリケーションにおける第2の操作対象画面のデータと前記画面検出処理で検出した操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較する画面比較処理を含むことを特徴とするテストスクリプト処理プログラム。
  4. 請求項1に記載のテストスクリプト処理プログラムにおいて、
    前記修正後の操作対象アプリケーションにおいて新たに出現する新規操作対象画面に対する操作を促す新規画面操作指示メッセージをユーザに対して表示する新規画面操作指示表示処理と、
    前記新規画面操作指示表示処理で表示した新規画面操作指示メッセージに従ってユーザが当該新規操作対象画面に対して行った操作内容を記録する新規画面操作記録処理と、
    前記新規画面操作記録処理で記録したユーザの操作内容に基づいて前記テストスクリプト内のデータを変換する新規画面変換処理とをテストスクリプト変換装置に実行させることを特徴とするテストスクリプト処理プログラム。
  5. 請求項3に記載のテストスクリプト処理プログラムにおいて、
    前記画面比較処理は、
    前記画面検出処理で検出した操作対象画面のデータおよび第2の操作対象画面のデータを操作対象画面を構成する部品情報に基づいて比較するための操作対象比較画面をユーザに対して表示する比較画面表示処理と、
    前記比較画面表示処理で表示したユーザが行った両操作対象画面間で差異となる部品情報への関連付けの操作内容を記録する部品操作記録処理とを含むことを特徴とするテストスクリプト処理プログラム。
  6. 請求項5に記載のテストスクリプト処理プログラムにおいて、
    前記画面比較処理は、
    前記部品操作記録手段が記録した部品情報への関連付けの操作内容を再現実行する部品操作再現処理と、
    前記部品操作再現処理で再現実行した操作内容を含む部品操作テストスクリプトのデータに基づいて前記テストスクリプト内の切替命令のデータを変換する部品操作変換処理とを含むことを特徴とするテストスクリプト処理プログラム。



















JP2005294307A 2005-10-07 2005-10-07 テストスクリプト処理プログラム Pending JP2007102654A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005294307A JP2007102654A (ja) 2005-10-07 2005-10-07 テストスクリプト処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005294307A JP2007102654A (ja) 2005-10-07 2005-10-07 テストスクリプト処理プログラム

Publications (1)

Publication Number Publication Date
JP2007102654A true JP2007102654A (ja) 2007-04-19

Family

ID=38029512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005294307A Pending JP2007102654A (ja) 2005-10-07 2005-10-07 テストスクリプト処理プログラム

Country Status (1)

Country Link
JP (1) JP2007102654A (ja)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009223568A (ja) * 2008-03-14 2009-10-01 Toshiba Corp シナリオ生成装置及びプログラム
JP2010039901A (ja) * 2008-08-07 2010-02-18 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
JP2010165267A (ja) * 2009-01-19 2010-07-29 Hitachi Software Eng Co Ltd 回帰テスト自動実行システム
KR100975508B1 (ko) * 2007-12-28 2010-08-11 엔에이치엔(주) 프로그램의 모듈의 동적 변경 방법 및 시스템
WO2010116586A1 (ja) * 2009-03-30 2010-10-14 株式会社野村総合研究所 動作検証装置、動作検証方法、および動作検証システム
JP2010237841A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
JP2011164784A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164786A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164787A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証システム
JP2011164783A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164788A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法、および動作検証プログラム
JP2011164785A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
KR101505438B1 (ko) 2008-11-19 2015-03-25 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
CN107480056A (zh) * 2017-07-31 2017-12-15 北京云测信息技术有限公司 一种软件测试方法和装置
JP2018092361A (ja) * 2016-12-02 2018-06-14 日本電信電話株式会社 テストスクリプト修正装置及びテストスクリプト修正プログラム
JP2018092362A (ja) * 2016-12-02 2018-06-14 日本電信電話株式会社 テストスクリプト修正装置及びテストスクリプト修正プログラム
JP2019079426A (ja) * 2017-10-26 2019-05-23 株式会社東芝 プラント監視システムの試験支援装置、その試験支援方法、及びその試験支援プログラム
JP2019101538A (ja) * 2017-11-29 2019-06-24 日本電信電話株式会社 テストスクリプト修正装置及びプログラム
JP2021015481A (ja) * 2019-07-12 2021-02-12 富士通株式会社 情報処理プログラム、情報処理方法、及び情報処理装置

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100975508B1 (ko) * 2007-12-28 2010-08-11 엔에이치엔(주) 프로그램의 모듈의 동적 변경 방법 및 시스템
JP2009223568A (ja) * 2008-03-14 2009-10-01 Toshiba Corp シナリオ生成装置及びプログラム
JP2010039901A (ja) * 2008-08-07 2010-02-18 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
KR101505438B1 (ko) 2008-11-19 2015-03-25 (주)링크제니시스 재활용도를 높일 수 있는 gui 테스트 자동화 시스템 및 그 방법
JP2010165267A (ja) * 2009-01-19 2010-07-29 Hitachi Software Eng Co Ltd 回帰テスト自動実行システム
WO2010116586A1 (ja) * 2009-03-30 2010-10-14 株式会社野村総合研究所 動作検証装置、動作検証方法、および動作検証システム
JP2010237841A (ja) * 2009-03-30 2010-10-21 Nomura Research Institute Ltd 動作検証装置および動作検証プログラム
CN102227716B (zh) * 2009-03-30 2014-01-01 株式会社野村综合研究所 动作验证装置、动作验证方法、以及动作验证系统
US11580011B2 (en) 2009-03-30 2023-02-14 Nomura Research Institute, Ltd. Operation verifying apparatus, operation verifying method and operation verifying system
US10860463B2 (en) 2009-03-30 2020-12-08 Nomura Research Institute, Ltd. Operation verifying apparatus, operation verifying method and operation verifying system
US10346288B2 (en) 2009-03-30 2019-07-09 Nomura Research Institute, Ltd. Operation verifying apparatus, operation verifying method and operation verifying system
US9495280B2 (en) 2009-03-30 2016-11-15 Nomura Research Institute, Ltd. Operation verifying apparatus, operation verifying method and operation verifying system
CN102227716A (zh) * 2009-03-30 2011-10-26 株式会社野村综合研究所 动作验证装置、动作验证方法、以及动作验证系统
JP2011164784A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164785A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164788A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法、および動作検証プログラム
JP2011164783A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2011164787A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証システム
JP2011164786A (ja) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd 動作検証装置、動作検証方法および動作検証プログラム
JP2018092361A (ja) * 2016-12-02 2018-06-14 日本電信電話株式会社 テストスクリプト修正装置及びテストスクリプト修正プログラム
JP2018092362A (ja) * 2016-12-02 2018-06-14 日本電信電話株式会社 テストスクリプト修正装置及びテストスクリプト修正プログラム
CN107480056A (zh) * 2017-07-31 2017-12-15 北京云测信息技术有限公司 一种软件测试方法和装置
JP2019079426A (ja) * 2017-10-26 2019-05-23 株式会社東芝 プラント監視システムの試験支援装置、その試験支援方法、及びその試験支援プログラム
JP7020863B2 (ja) 2017-10-26 2022-02-16 株式会社東芝 プラント監視システムの試験支援装置、その試験支援方法、及びその試験支援プログラム
JP2019101538A (ja) * 2017-11-29 2019-06-24 日本電信電話株式会社 テストスクリプト修正装置及びプログラム
JP2021015481A (ja) * 2019-07-12 2021-02-12 富士通株式会社 情報処理プログラム、情報処理方法、及び情報処理装置

Similar Documents

Publication Publication Date Title
JP2007102654A (ja) テストスクリプト処理プログラム
JP4295775B2 (ja) Guiテスト支援システム及びテスト支援用アプリケーションプログラム
JP5067328B2 (ja) 評価装置、評価方法およびプログラム
US8429612B2 (en) Graphical user interface (GUI) noise reduction in a cognitive control framework
US10019346B2 (en) Generating software test script from video
CN111078519A (zh) 异常监控行为回溯的方法、装置和电子设备
JP2012103786A (ja) テスト支援装置、制御方法、及びプログラム
JP2011108157A (ja) プラント監視用マンマシン装置
JP2005266954A (ja) 操作情報記録・再生装置
US20100262598A1 (en) User interface recognition device and user interface recognition method
WO2007118271A1 (en) A method and system and product for conditioning software
CN114897296A (zh) Rpa流程标注方法、执行过程回放方法及存储介质
JP5677924B2 (ja) テスト自動化システム
JP2010122959A (ja) テスト支援システム、方法、及び、プログラム
JP2013143044A (ja) プログラム、情報処理方法、および情報処理装置
JP5344220B2 (ja) 測定装置および測定装置の操作方法
JP4692316B2 (ja) 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP2001282578A (ja) プログラムテスト支援装置、方法、および該方法に係るプログラムを記憶した記憶媒体
US20060277510A1 (en) Verification support device, verification support method, and computer product
US20090273605A1 (en) Operation Checking Method in Information System, Operation Checking Program Therefor, Recording Medium, and Operation Checking System
JP5330302B2 (ja) 操作記録プログラム及び装置
JP2004362495A (ja) エラーログ情報解析支援方法及び実施装置並びに処理プログラム
JP4894602B2 (ja) 修正対象ファイル検索装置と修正対象ファイル検索方法および修正対象ファイル検索プログラム
JP2005284926A (ja) マクロスクリプト処理プログラム
JP6739599B1 (ja) 情報処理プログラム、情報処理方法、及び情報処理装置