(57)【要約】【課題】試験工数や試験操作時間を低減することのできる回帰試験シナリオ生成装置を得る。【解決手段】遠隔操作コマンド記録部２０２は、試験対象プログラムに対して以前に行われた試験時のＧＵＩ操作における操作コマンドの情報を記録する。ウィンドウ情報記録部２０１は、試験対象プログラムが実行されている場合のアクティブウィンドウまたはアクティブウィンドウの親ウィンドウの情報を、試験対象プログラムの操作対象ウィンドウの情報として記録する。試験シナリオ生成部２０３は、遠隔操作コマンド記録部２０２とウィンドウ情報記録部２０１で記録された情報を元に、操作対象ウィンドウへの操作コマンドの情報を記録した試験シナリオを生成する。【選択図】図２
2015158897.tif 000002
【特許請求の範囲】
【請求項１】
試験対象プログラムに対して以前に行われた試験時のグラフィカルユーザインタフェース操作における操作コマンドの情報を記録する操作コマンド記録部と、
前記試験対象プログラムが実行されている場合のアクティブウィンドウまたはアクティブウィンドウの親ウィンドウの情報を、前記試験対象プログラムの操作対象ウィンドウの情報として記録するウィンドウ情報記録部と、
前記操作コマンド記録部と前記ウィンドウ情報記録部で記録された情報を元に、前記操作対象ウィンドウへの操作コマンドの情報を記録した試験シナリオを生成する試験シナリオ生成部とを備えた回帰試験シナリオ生成装置。
【請求項２】
前記試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、当該クライアントからの遠隔操作に応じて前記試験対象プログラムへの操作を行うサーバとを備え、
前記サーバは、前記操作コマンド記録部と前記ウィンドウ情報記録部と前記試験シナリオ生成部を有し、
前記操作コマンド記録部は、前記以前に行われた試験時のグラフィカルユーザインタフェース操作における遠隔操作コマンドを記録し、
前記ウィンドウ情報記録部は、前記操作対象ウィンドウの座標と当該操作対象ウィンドウがアクティブである時間を含む情報を記録することを特徴とする請求項１記載の回帰試験シナリオ生成装置。
【請求項３】
前記ウィンドウ情報記録部は、前記操作コマンド記録部が前記遠隔操作コマンドの情報を受信するタイミングで前記操作対象ウィンドウの情報を記録することを特徴とする請求項２記載の回帰試験シナリオ生成装置。
【請求項４】
前記試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、当該クライアントからの遠隔操作に応じて前記試験対象プログラムへの操作を行うサーバとを備え、
前記サーバは、前記操作対象ウィンドウの情報として前記操作対象ウィンドウの座標と当該操作対象ウィンドウがアクティブである時間を含む情報を記録するウィンドウ情報記録部を備え、
前記クライアントは、
前記試験時のグラフィカルユーザインタフェース操作における遠隔操作コマンドを記録する遠隔操作コマンド記録部と、
前記遠隔操作コマンド記録部と前記ウィンドウ情報記録部で記録された情報を元に、前記試験シナリオを生成する試験シナリオ生成部とを備えたことを特徴とする請求項１記載の回帰試験シナリオ生成装置。
【請求項５】
前記ウィンドウ情報記録部は、前記クライアントから遠隔操作コマンドを受信するタイミングで前記操作対象ウィンドウの情報の記録を行うことを特徴とする請求項４記載の回帰試験シナリオ生成装置。
【請求項６】
前記ウィンドウ情報記録部は、一定時間周期で前記操作対象ウィンドウの情報の記録を行うことを特徴とする請求項２または請求項４記載の回帰試験シナリオ生成装置。
【請求項７】
試験シナリオ生成部は、前記操作対象ウィンドウの座標範囲内であり、かつ、当該操作対象ウィンドウがアクティブである時間内の操作を当該操作対象ウィンドウへの操作コマンドとして前記試験シナリオを生成することを特徴とする請求項２から請求項６のうちのいずれか１項記載の回帰試験シナリオ生成装置。
【請求項８】
前記試験対象プログラムがポインティングデバイスの操作のみのアプリケーションである場合、前記試験シナリオ生成部は、前記ポインティングデバイスの操作状態ではなく、かつ、前記操作対象ウィンドウの座標内に前記ポインティングデバイスのポインタが位置しない期間のコマンドは不要データとして試験シナリオから除外することを特徴とする請求項７記載の回帰試験シナリオ生成装置。
【請求項９】
前記試験シナリオ生成部は、ポインティングデバイスのポインタのダウンとアップ以外の操作コマンドを不要データとして試験シナリオから除外することを特徴とする請求項７記載の回帰試験シナリオ生成装置。
【請求項１０】
前記試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、当該クライアントからの遠隔操作に応じて前記試験対象プログラムへの操作を行うサーバとを備え、
前記クライアントは、
前記操作コマンド記録部と、
前記試験シナリオ生成部と、
前記グラフィカルユーザインタフェース操作記録時と前記グラフィカルユーザインタフェース操作再生時の画面のキャプチャ画像を格納するキャプチャ画面記録メモリと、
前記グラフィカルユーザインタフェース操作時のネットワークコマンドの情報を保存するネットワークコマンド記録メモリと、
前記グラフィカルユーザインタフェース操作記録時と前記グラフィカルユーザインタフェース操作再生時における、前記操作対象ウィンドウの情報、前記ネットワークコマンドの情報、前記キャプチャ画像をそれぞれ比較し、前記グラフィカルユーザインタフェース操作記録時と前記グラフィカルユーザインタフェース操作再生時における位置ずれと操作速度ずれのうち少なくとも一方の情報を出力する応答比較部とを備えた請求項１記載の回帰試験シナリオ生成装置。
【請求項１１】
前記サーバは、前記ウィンドウ情報記録部とネットワークコマンド記録部を有し、
前記クライアントは、前記ウィンドウ情報記録部の情報を保存するウィンドウ情報記録メモリと、前記ネットワークコマンド記録部の情報を保存するネットワークコマンド記録メモリとを備え、
前記ウィンドウ情報記録部は、前記操作対象ウィンドウの座標と当該操作対象ウィンドウがアクティブである時間を含む情報を記録し、
前記ネットワークコマンド記録部は、前記ネットワークコマンド受信時に当該ネットワークコマンドとその受信時刻を前記ネットワークコマンドの情報として記録し、
前記試験シナリオ生成部は、前記ウィンドウ情報記録部の情報として前記ウィンドウ情報記録メモリに保存された情報を用いて前記試験シナリオの生成を行うことを特徴とする請求項１０記載の回帰試験シナリオ生成装置。
【請求項１２】
前記応答比較部は、前記グラフィカルユーザインタフェース操作記録時と前記グラフィカルユーザインタフェース操作再生時の、同時刻または周辺時刻の前記操作対象ウィンドウ情報、前記ネットワークコマンドの情報、前記キャプチャ画像を比較し、ポインティングデバイス位置のずれと、前記グラフィカルユーザインタフェース操作記録時と前記グラフィカルユーザインタフェース操作再生時の操作速度のずれのうち、少なくとも一方のずれを検出することを特徴とする請求項１０または請求項１１記載の回帰試験シナリオ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、以前に行われた試験時のＧＵＩ（グラフィカルユーザインタフェース）操作に基づいてソフトウェア開発の回帰試験のシナリオを生成する回帰試験シナリオ生成装置に関するものである。
【背景技術】
【０００２】
ソフトウェア開発やシステム開発において、操作履歴の確認・利用は容易でない。その解決手段として、アプリケーションの制御（起動、終了等）、画面の変化、リモート操作を操作履歴ファイルに記録し、また、操作履歴をユーザニーズに合わせて複数の端末に分散させて保存する方法が、例えば特許文献１で提案されていた。これにより、操作量や操作履歴データの低減が可能となる。また、例えば特許文献２に記載されるように、画面記録とマウス操作やキー操作等のイベントを組み合わせた操作シナリオの作成方法が提案されていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−９１９１４号公報
【特許文献２】特開２００９−２２３５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ソフトウェア開発の回帰試験において、例えば初回試験時のＧＵＩ操作を記録し、再生することによって、回帰試験の工数を削減することができる。しかしながら、このとき、従来では、初回試験時の操作において、試験対象のプログラムに関する操作以外の操作を繰り返し再生してしまうといったことがあり、試験工数や試験操作時間の低減化の妨げとなっていた。
【０００５】
この発明は上記のような課題を解決するためになされたもので、試験工数や試験操作時間を低減することのできる回帰試験シナリオ生成装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る回帰試験シナリオ生成装置は、試験対象プログラムに対して以前に行われた試験時のグラフィカルユーザインタフェース操作における操作コマンドの情報を記録する操作コマンド記録部と、試験対象プログラムが実行されている場合のアクティブウィンドウまたはアクティブウィンドウの親ウィンドウの情報を、試験対象プログラムの操作対象ウィンドウの情報として記録するウィンドウ情報記録部と、操作コマンド記録部とウィンドウ情報記録部で記録された情報を元に、操作対象ウィンドウへの操作コマンドの情報を記録した試験シナリオを生成する試験シナリオ生成部とを備えたものである。
【発明の効果】
【０００７】
この発明の回帰試験シナリオ生成装置は、操作対象ウィンドウへの操作コマンドの情報を記録した試験シナリオを生成するようにしたので、試験工数や試験操作時間を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の回帰試験シナリオ生成装置のシステム構成を示す説明図である。
【図２】この発明の実施の形態１による回帰試験シナリオ生成装置を示す構成図である。
【図３】この発明の実施の形態１による回帰試験シナリオ生成装置のコマンド記録の説明図である。
【図４】この発明の実施の形態１による回帰試験シナリオ生成装置のウィンドウ情報記録の説明図である。
【図５】この発明の実施の形態１による回帰試験シナリオ生成装置のＶＮＣコマンド記録において不要データの削除を示す説明図である。
【図６】この発明の実施の形態１による回帰試験シナリオ生成装置のポインタ位置がアクティブウィンドウ内でない場合のデスクトップ画面の一例を示す説明図である。
【図７】この発明の実施の形態１による回帰試験シナリオ生成装置の動作を示すフローチャートである。
【図８】この発明の実施の形態２による回帰試験シナリオ生成装置を示す構成図である。
【図９】この発明の実施の形態２による回帰試験シナリオ生成装置の試験シナリオ作成時にウィンドウ情報を一括送信する場合の動作を示すフローチャートである。
【図１０】この発明の実施の形態２による回帰試験シナリオ生成装置のＶＮＣコマンド記録時にウィンドウ情報をその都度送信する場合の動作を示すフローチャートである。
【図１１】この発明の実施の形態３による回帰試験シナリオ生成装置を示す構成図である。
【図１２】この発明の実施の形態３による回帰試験シナリオ生成装置ウィンドウ情報記録の説明図である。
【図１３】この発明の実施の形態３による回帰試験シナリオ生成装置のネットワークコマンド情報記録の説明図である。
【図１４】この発明の実施の形態３による回帰試験シナリオ生成装置の位置ずれ及び操作速度記録メモリ１０９への記録形式を示す説明図である。
【図１５】この発明の実施の形態３による回帰試験シナリオ生成装置の操作記録編集時にウィンドウ情報とネットワークコマンドを一括送信する場合の動作を示すフローチャートである。
【図１６】この発明の実施の形態３による回帰試験シナリオ生成装置の操作記録編集時にウィンドウ情報取得時またはネットワークコマンド取得時にウィンドウ情報またはネットワークコマンドを送信する場合の動作を示すフローチャートである。
【図１７】この発明の実施の形態３による回帰試験シナリオ生成装置の操作再生時に逐次ネットワークコマンド、ウィンドウ情報、キャプチャ画面を比較する場合の動作を示すフローチャートである。
【図１８】この発明の実施の形態３による回帰試験シナリオ生成装置の操作再生終了後にネットワークコマンド、ウィンドウ情報、キャプチャ画面を比較する場合の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
実施の形態１．
図１は、実施の形態１における回帰試験シナリオ生成装置のシステム構成を示している。
本システムでは、クライアント１と、サーバ２と、試験ツール３をＬＡＮで接続する。実施の形態１では、遠隔操作システムとして、ＶＮＣ（Virtual Network Computing）を使用する。ＶＮＣのコマンドはＲＦＢ（Remote Frame Buffer）プロトコルで記述されるため、遠隔操作システムとして、ＶＮＣを使用すると、Windows（登録商標）、Linux（登録商標）等のマルチプラットフォームで使用することができる。
【００１０】
サーバ２では、ＶＮＣサーバを起動し、クライアント１でＶＮＣビューワを起動し、クライアント１からサーバ２に対して遠隔操作を行う。クライアント１からサーバ２に対して遠隔操作を行うと、更新されたサーバ２の画面のフレームバッファがクライアント１に送信され、クライアント１の画面が更新される。実施の形態１では、この遠隔操作システムを使用して、試験操作シナリオを記録・自動生成・再生を行う。
【００１１】
図２は、実施の形態１の回帰試験シナリオ生成装置の構成図であり、クライアント１とサーバ２と試験ツール３とからなる。
図２に示すように、サーバ２は、ウィンドウ情報記録部２０１と、遠隔操作コマンド記録部（操作コマンド記録部）２０２と、試験シナリオ生成部２０３と、ウィンドウ情報記録メモリ２０４と、遠隔操作コマンド記録メモリ２０５と、シナリオ記録メモリ２０６を備えている。ウィンドウ情報記録部２０１は、試験対象プログラムが実行されている場合のアクティブウィンドウまたはアクティブウィンドウの親ウィンドウの情報である操作対象ウィンドウの座標とアクティブである時間を含む情報をウィンドウ情報として記録する処理部であり、ウィンドウ情報記録メモリ２０４は、このウィンドウ情報を記録するための記憶部である。遠隔操作コマンド記録部２０２は、試験時のＧＵＩ操作における遠隔操作コマンドとコマンド送信時刻を記録する処理部であり、遠隔操作コマンド記録メモリ２０５は、この遠隔操作コマンドとコマンド送信時刻を記録するための記憶部である。試験シナリオ生成部２０３は、ウィンドウ情報記録メモリ２０４と遠隔操作コマンド記録メモリ２０５に記録された情報を元に、試験シナリオを生成する処理部であり、シナリオ記録メモリ２０６は、生成された試験シナリオを記録するための記憶部である。
【００１２】
なお、クライアント１、サーバ２および試験ツール３は、それぞれコンピュータを用いて構成され、サーバ２におけるウィンドウ情報記録部２０１〜試験シナリオ生成部２０３は、それぞれの機能に対応したソフトウェアをＣＰＵが実行することで実現されている。
また、ウィンドウ情報記録メモリ２０４〜シナリオ記録メモリ２０６は、ハードディスク装置や半導体メモリといった記憶装置内に設けられている。
【００１３】
次に、実施の形態１の回帰試験シナリオ生成装置の動作について説明する。
クライアント１からサーバ２に対して遠隔操作を行うと、クライアント１から送信されたＶＮＣコマンド（マウスポインタの位置情報、クリック情報、キー押し下げ情報、フレームバッファの更新要求等）がサーバ２で受信される、サーバ２では、このＶＮＣコマンドを遠隔操作コマンド記録部２０２で記録し、遠隔操作コマンド記録メモリ２０５に操作データとしての操作コマンドが保存される。
遠隔操作コマンド記録メモリ２０５にＶＮＣコマンドを記録する形式は、例えば、図３のようにしてもよい。図３では、コマンド番号とＲＦＢプロトコルで記述されるＲＦＢプロトコルとサーバ２において、ＶＮＣコマンドを受信する時刻を記述している。
【００１４】
ウィンドウ情報記録部２０１では、サーバ２のアクティブウィンドウ、アクティブウィンドウの親ウィンドウの位置・ウィンドウ名・ウィンドウハンドルで構成されるウィンドウ情報と、マウス位置と、ウィンドウ情報を取得した時刻を記録し、ウィンドウ情報記録メモリ２０４に、ウィンドウ情報とウィンドウ情報を取得した時刻が保存される。
ウィンドウ情報記録メモリ２０４にウィンドウ情報、ウィンドウ情報を取得した時刻を記録する形式は、例えば、図４のようにしてもよい。図４では、サーバ２のアクティブウィンドウ、アクティブウィンドウの親ウィンドウの位置・ウィンドウ名・ウィンドウハンドルで構成されるウィンドウ情報と、ウィンドウ情報を取得した時刻を記述している。
【００１５】
サーバ２において、ウィンドウ情報は、クライアント１からＶＮＣコマンドを受信したタイミングで取得する。あるいは、１ミリ秒毎等、周期的にウィンドウ情報の取得を行ってもよい。
【００１６】
試験ツール３において、ユーザが試験対象プログラムを登録すると、登録された試験対象プログラムのウィンドウ名、ウィンドウハンドルがサーバ２内の試験シナリオ生成部２０３に送信される。
試験ツール３において、試験操作シナリオの編集を開始すると、試験シナリオ生成部２０３は、遠隔操作コマンド記録メモリ２０５からＶＮＣコマンドとサーバ２におけるその受信時刻、ウィンドウ情報記録メモリ２０４からウィンドウ情報とウィンドウ情報を取得した時刻を記録したデータを取得し、シナリオ編集処理を行う。
シナリオ編集処理では、記録したＶＮＣコマンドにおいて、試験ツール３で登録した試験対象プログラムに関連する操作を抽出し、その抽出したコマンドをシナリオとして、シナリオ記録メモリ２０６に記録する。
【００１７】
具体的なシナリオ編集処理は、例えば、図５のようにウィンドウ情報において、アクティブウィンドウ又はアクティブウィンドウの親ウィンドウが、試験対象プログラムに該当する区間を求め、それ以外の区間のＶＮＣコマンド情報を不要データとして削除することによって行う。図５において、区間５０１，５０２は、試験対象プログラムがアクティブであり、ＶＮＣコマンド記録の枠内は試験対象プログラムについての操作記録を示している。また、枠内の太線で示す操作５０３は対象ウィンドウの座標内の操作データであり、細線で示す操作５０４は対象ウィンドウの座標内には入っていない操作データであるとする。実施の形態１では、このような操作５０４のＶＮＣコマンド情報を不要データとして削除する。
このようにシナリオ編集処理を行うことによって、試験対象プログラム以外のプログラムへの操作等の試験に不要な操作を省いて再生することができ、回帰試験時間を短縮する効果がある。
【００１８】
さらに、キー操作をしないアプリケーションが試験対象プログラムであり、ウィンドウ情報において、図６のサーバ画面に示すように、マウスポインタの位置がアクティブウィンドウの外にある場合、そのウィンドウ情報に対応するＶＮＣコマンド情報を不要データとして削除してもよい。なお、図６中、画面６０１がサーバ画面における全画面を示し、ウィンドウ６０２が試験対象プログラムのウィンドウを示している。
また、マウスポインタのダウンとアップ以外のマウスムーブに関する操作コマンドを不要データとして削除してもよい。すなわち、この場合、クリック以外のカーソルの無駄な動きを削除することで、操作シナリオを短くすることができる。
【００１９】
図７は、実施の形態１の回帰試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ１０１で、試験ツール３において、試験対象プログラムを登録する。
サーバ２では、ウィンドウ情報記録部２０１と遠隔操作コマンド記録部２０２による記録処理（ステップＳＴ１０９）を行う。ステップＳＴ１０９では、試験ツール３から記録終了メッセージを受信するまでクライアント１から受信したＶＮＣコマンドと、クライアント１からＶＮＣコマンド受信時に取得するサーバ２のウィンドウ情報を記録する（ステップＳＴ１０２〜ＳＴ１０４）。ステップＳＴ１０２で記録終了メッセージを受信すると、サーバ２において、ＶＮＣコマンド記録とウィンドウ情報記録を出力し（ステップＳＴ１０５，ＳＴ１０６）、試験シナリオ生成部２０３による試験シナリオの作成（ステップＳＴ１１０）を行う。ステップＳＴ１１０では、処理対象が記録データ末尾に到達するまで、ウィンドウ情報記録と、ステップＳＴ１０１で登録した試験対象プログラムのウィンドウ情報とを照合する（ステップＳＴ１０７，ＳＴ１０８）。ステップＳＴ１０７において処理対象が記録データ末尾に到達したら、その照合結果から、ＶＮＣコマンド記録において不要なデータを発見・削除し、その、不要データ削除を行ったＶＮＣコマンド記録を試験シナリオとして出力する（ステップＳＴ１１１）。
【００２０】
このように、実施の形態１では、ソフトウェア開発において、回帰試験の初回ＧＵＩ操作記録から不要データを削除、操作シナリオを作成し、自動再生することによって、試験時間や操作手順を削減することができ、試験工数を削減することができる。また、ＶＮＣはマルチプラットフォームで動作するので、Windows、Linux、Android（登録商標）等のＯＳで適用することが可能である。
【００２１】
以上説明したように、実施の形態１の回帰試験シナリオ生成装置によれば、試験対象プログラムに対して以前に行われた試験時のグラフィカルユーザインタフェース操作における操作コマンドの情報を記録する操作コマンド記録部と、試験対象プログラムが実行されている場合のアクティブウィンドウまたはアクティブウィンドウの親ウィンドウの情報を、試験対象プログラムの操作対象ウィンドウの情報として記録するウィンドウ情報記録部と、操作コマンド記録部とウィンドウ情報記録部で記録された情報を元に、操作対象ウィンドウへの操作コマンドの情報を記録した試験シナリオを生成する試験シナリオ生成部とを備えたので、試験工数や試験操作時間を低減することができる。
【００２２】
また、実施の形態１の回帰試験シナリオ生成装置によれば、試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、クライアントからの遠隔操作に応じて試験対象プログラムへの操作を行うサーバとを備え、サーバは、操作コマンド記録部とウィンドウ情報記録部と試験シナリオ生成部を有し、操作コマンド記録部は、以前に行われた試験時のグラフィカルユーザインタフェース操作における遠隔操作コマンドを記録し、ウィンドウ情報記録部は、操作対象ウィンドウの座標と操作対象ウィンドウがアクティブである時間を含む情報を記録するようにしたので、サーバ内でＧＵＩ操作・ウィンドウ情報記録、操作シナリオ生成を行うため、サーバを改造することで容易に実装が可能である。
【００２３】
また、実施の形態１の回帰試験シナリオ生成装置によれば、ウィンドウ情報記録部は、操作コマンド記録部が遠隔操作コマンドの情報を受信するタイミングで操作対象ウィンドウの情報を記録するようにしたので、操作コマンドの情報と操作対象ウィンドウの情報を確実に記録することができる。
【００２４】
また、実施の形態１の回帰試験シナリオ生成装置によれば、ウィンドウ情報記録部は、一定時間周期で操作対象ウィンドウの情報の記録を行うようにしたので、操作対象ウィンドウの情報を容易かつ確実に記録することができる。
【００２５】
また、実施の形態１の回帰試験シナリオ生成装置によれば、試験シナリオ生成部は、操作対象ウィンドウの座標範囲内であり、かつ、操作対象ウィンドウがアクティブである時間内の操作を操作対象ウィンドウへの操作コマンドとして試験シナリオを生成するようにしたので、操作対象ウィンドウへの操作コマンドのみを含む試験シナリオを確実に生成することができる。
【００２６】
また、実施の形態１の回帰試験シナリオ生成装置によれば、試験対象プログラムがポインティングデバイスの操作のみのアプリケーションである場合、試験シナリオ生成部は、ポインティングデバイスの操作状態ではなく、かつ、操作対象ウィンドウの座標内にポインティングデバイスのポインタが位置しない期間のコマンドは不要データとして試験シナリオから除外するようにしたので、操作対象ウィンドウへの操作コマンドのみを含む試験シナリオを確実に生成することができる。
【００２７】
また、実施の形態１の回帰試験シナリオ生成装置によれば、試験シナリオ生成部は、ポインティングデバイスのポインタのダウンとアップ以外の操作コマンドを不要データとして試験シナリオから除外するようにしたので、操作対象ウィンドウへの操作コマンドのみを含む試験シナリオを確実に生成することができる。
【００２８】
実施の形態２．
実施の形態２は、クライアント側で試験シナリオを生成する回帰試験シナリオ生成装置の例である。
図８は、実施の形態２の回帰試験シナリオ生成装置を示す構成図である。
実施の形態２のクライアント１ａは、遠隔操作コマンド記録部１０１と、試験シナリオ生成部１０２と、ウィンドウ情報記録メモリ１０３と、遠隔操作コマンド記録メモリ１０４と、シナリオ記録メモリ１０５を備えている。また、サーバ２ａは、ウィンドウ情報記録部２０１を備えている。
【００２９】
クライアント１ａにおける遠隔操作コマンド記録部１０１は、遠隔操作コマンドとコマンド送信時刻を遠隔操作コマンド記録メモリ１０４に記録する処理部である。試験シナリオ生成部１０２は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４に記録された情報を元に、試験シナリオを生成する処理部である。また、サーバ２ａにおけるウィンドウ情報記録部２０１は、実施の形態１のウィンドウ情報記録部２０１と同様に、操作対象ウィンドウの情報として操作対象ウィンドウの座標とアクティブである時間を含む情報を記録する処理部であり、そのウィンドウ情報を、クライアント１ａのウィンドウ情報記録メモリ１０３に出力するよう構成されている。
【００３０】
次に、実施の形態２の回帰試験シナリオ生成装置の動作について説明する。
クライアント１ａからサーバ２ａに対して遠隔操作を行うと、クライアント１ａからＶＮＣコマンド（マウスポインタの位置情報、クリック情報、キー押し下げ情報、フレームバッファの更新要求）をサーバ２ａに送信するとき、そのＶＮＣコマンドをクライアント１ａ内部の遠隔操作コマンド記録部１０１で記録し、遠隔操作コマンド記録メモリ１０４にＧＵＩ操作データが保存される。ここで、遠隔操作コマンド記録メモリ１０４にＶＮＣコマンドを記録する形式は、例えば、実施の形態１と同様に、図３のようにしてもよい。なお、図８において、クライアント１ａからサーバ２ａへのデータの流れを示す矢印は省略している。
【００３１】
サーバ２ａのウィンドウ情報記録部２０１では、サーバ２ａのアクティブウィンドウ、アクティブウィンドウの親ウィンドウの位置・ウィンドウ名・ウィンドウハンドルで構成されるウィンドウ情報と、マウス位置と、ウィンドウ情報を取得した時刻を記録し、記録された情報は、クライアント１ａのウィンドウ情報記録メモリ１０３に、ウィンドウ情報とウィンドウ情報を取得した時刻が保存される。ここで、ウィンドウ情報記録メモリ１０３にウィンドウ情報、ウィンドウ情報を取得した時刻を記録する形式は、例えば、実施の形態１と同様に、図４のようにしてもよい。
【００３２】
サーバ２ａのウィンドウ情報記録部２０１において、ウィンドウ情報は、クライアント１ａからＶＮＣコマンドを受信したタイミングで取得する。あるいは、１ミリ秒ごと等、周期的にウィンドウ情報の取得を行ってもよい。
【００３３】
試験シナリオ生成時、あるいは、ウィンドウ情報取得時にサーバ２ａ内のウィンドウ情報記録部２０１から、クライアント１ａ内のウィンドウ情報記録メモリ１０３にウィンドウ情報を送信する。例えば、ウィンドウ情報記録部２０１において、クライアント１ａからＶＮＣコマンドを受信したタイミングで取得したウィンドウ情報をサーバ２ａ内の図示しない一時メモリに保存しておき、遠隔操作コマンド記録メモリ１０４において、ＶＮＣコマンドファイルが試験シナリオ生成部１０２に出力されるタイミングでクライアント１ａ内のウィンドウ情報記録メモリ１０３にウィンドウ情報を一括送信してもよい。
【００３４】
あるいは、ウィンドウ情報記録部２０１において、１ミリ秒ごと等、周期的に取得したウィンドウ情報を図示しない一時メモリに保存しておき、遠隔操作コマンド記録メモリ１０４において、ＶＮＣコマンドファイルが試験シナリオ生成部１０２に出力されるタイミングでクライアント１ａ内のウィンドウ情報記録メモリ１０３にウィンドウ情報を一括送信してもよい。
【００３５】
あるいは、サーバ２ａがＶＮＣコマンドを受信するタイミングでウィンドウ情報記録部２０１において、ウィンドウ情報を取得し、その都度、逐次、クライアント１ａのウィンドウ情報記録メモリ１０３に送信してもよい。
【００３６】
試験ツール３において、ユーザが試験対象プログラムを登録すると、登録された試験対象プログラムのウィンドウ名、ウィンドウハンドルがクライアント１ａ内の試験シナリオ生成部１０２に送信される。
試験ツール３において、試験操作シナリオの編集を開始すると、試験シナリオ生成部１０２は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４からＶＮＣコマンドとサーバ２ａにおけるその受信時刻、ウィンドウ情報とウィンドウ情報を取得した時刻を記録したデータを取得し、シナリオ編集処理を行う。
【００３７】
シナリオ編集処理では、記録したＶＮＣコマンドにおいて、試験ツール３で登録した試験対象プログラムに関連する操作を抽出し、その抽出したコマンドをシナリオとして、シナリオ記録メモリ１０５に記録する。具体的なシナリオ編集処理は、実施の形態１と同様の手順で行う。
【００３８】
図９は、実施の形態２において、操作記録編集時にウィンドウ情報を一括送信する場合の回帰試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ２０１で、試験ツール３において、試験対象プログラムを登録する。
サーバ２ａとクライアント１ａで、記録処理（ステップＳＴ２１０）を行う。ステップＳＴ２１０では、試験ツール３から記録終了メッセージを受信するまで、クライアント１ａの遠隔操作コマンド記録部１０１で、サーバ２ａに送信するＶＮＣコマンドを記録する（ステップＳＴ２０２〜ＳＴ２０３）。サーバ２ａのウィンドウ情報記録部２０１では、一定周期ごと、あるいは、ＶＮＣコマンド受信時に、ウィンドウ情報を記録する（ステップＳＴ２０４）。試験ツール３からステップＳＴ２０２で記録終了メッセージを受信すると、クライアント１ａにおいてＶＮＣコマンド記録を出力し（ステップＳＴ２０５）、また、サーバ２ａにおいてウィンドウ情報記録を出力する（ステップＳＴ２０６）。サーバ２ａからクライアント１ａにウィンドウ情報記録を送信し（ステップＳＴ２０７）、クライアント１ａの試験シナリオ生成部１０２で試験シナリオの作成（ステップＳＴ２１１）を行う。ステップＳＴ２１１では、処理対象が記録データ末尾に到達するまで、ウィンドウ情報記録と、ステップＳＴ２０１で登録した試験対象プログラムのウィンドウ情報を照合する（ステップＳＴ２０８〜ＳＴ２０９）。処理対象が記録データ末尾に到達したら、その照合結果から、ＶＮＣコマンド記録において不要なデータを発見・削除し、その、不要データ削除を行ったＶＮＣコマンド記録を試験シナリオとして出力する（ステップＳＴ２１２）。
【００３９】
図１０は、実施の形態２において、ウィンドウ情報取得時にウィンドウ情報を送信する場合の回帰試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ３０１で、試験ツール３において、試験対象プログラムを登録する。
サーバ２ａとクライアント１ａで、記録処理（ステップＳＴ３１０）を行う。ステップＳＴ３１０では、試験ツール３から記録終了メッセージを受信するまで、クライアント１ａの遠隔操作コマンド記録部１０１で、サーバ２ａに送信するＶＮＣコマンドを記録する（ステップＳＴ３０２〜ＳＴ３０３）。サーバ２ａのウィンドウ情報記録部２０１では、一定周期ごと、あるいは、ＶＮＣコマンド受信時にウィンドウ情報をクライアント１ａに送信し（ステップＳＴ３０４）、記録する（ステップＳＴ３０５）。試験ツール３からステップＳＴ３０２で記録終了メッセージを受信すると、クライアント１ａにおいてＶＮＣコマンド記録とウィンドウ情報記録を出力し（ステップＳＴ３０６、ＳＴ３０７）、クライアント１ａの試験シナリオ生成部１０２で試験シナリオの作成（ステップＳＴ３１１）を行う。ステップＳＴ３１１では、処理対象が記録データ末尾に到達するまで、ウィンドウ情報記録と、ステップＳＴ３０１で登録した試験対象プログラムのウィンドウ情報を照合する（ステップＳＴ３０８〜ＳＴ３０９）。処理対象が記録データ末尾に到達したら、その照合結果から、ＶＮＣコマンド記録において不要なデータを発見・削除し、その、不要データ削除を行ったＶＮＣコマンド記録を試験シナリオとして出力する（ステップＳＴ３１２）。
【００４０】
以上説明したように、実施の形態２の回帰試験シナリオ生成装置によれば、試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、クライアントからの遠隔操作に応じて試験対象プログラムへの操作を行うサーバとを備え、サーバは、操作対象ウィンドウの情報として操作対象ウィンドウの座標と操作対象ウィンドウがアクティブである時間を含む情報を記録するウィンドウ情報記録部を備え、クライアントは、試験時のグラフィカルユーザインタフェース操作における遠隔操作コマンドを記録する遠隔操作コマンド記録部と、遠隔操作コマンド記録部とウィンドウ情報記録部で記録された情報を元に、試験シナリオを生成する試験シナリオ生成部とを備えたので、試験工数や試験操作時間を低減することができると共に次のような効果がある。すなわち、サーバ側で多くのモジュールが搭載されているとき、回帰試験シナリオ生成装置の実装方法として、クライアント側を改造する方が望ましい場合がある。このような場合、実施の形態２では、サーバ側の小規模な改造とクライアントの改造で容易に本発明の回帰試験シナリオ生成装置を実装することが可能である。
【００４１】
また、実施の形態２の回帰試験シナリオ生成装置によれば、ウィンドウ情報記録部は、クライアントから遠隔操作コマンドを受信するタイミングで操作対象ウィンドウの情報の記録を行うようにしたので、操作対象ウィンドウの情報を確実に記録することができる。
【００４２】
実施の形態３．
実施の形態３は、クライアント側で試験シナリオを作成し、サーバ側の端末を操作記録時と再生時で変更することによって、ＯＳ（オペレーティングシステム）やブラウザ、Ｊａｖａ（登録商標）等の更新時のアプリケーションの試験を行う回帰試験シナリオ生成装置である。
【００４３】
図１１は、実施の形態３の回帰試験シナリオ生成装置を示す構成図である。
実施の形態３の回帰試験シナリオ生成装置のクライアント１ｂは、遠隔操作コマンド記録部１０１と、試験シナリオ生成部１０２と、ウィンドウ情報記録メモリ１０３と、遠隔操作コマンド記録メモリ１０４と、シナリオ記録メモリ１０５と、ネットワークコマンド記録メモリ１０６と、キャプチャ画面記録メモリ１０７と、応答比較部１０８と、位置ずれ及び操作速度記録メモリ１０９を備えている。また、サーバ２ｂは、ウィンドウ情報記録部２０１と、ネットワークコマンド記録部２０７を備えている。
【００４４】
クライアント１ｂにおける遠隔操作コマンド記録部１０１は、遠隔操作コマンドとコマンド送信時刻を遠隔操作コマンド記録メモリ１０４に記録する処理部である。キャプチャ画面記録メモリ１０７には、キャプチャ画面とその時刻が記録される。キャプチャ画面を取得するタイミングは、例えば、１秒ごとにしてもよい。あるいは、画面が変化した瞬間にキャプチャ画面を取得するようにしてもよい。試験シナリオ生成部１０２は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４に記録された情報を元に、試験シナリオを生成する処理部である。応答比較部１０８は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４とネットワークコマンド記録メモリ１０６とキャプチャ画面記録メモリ１０７に記録された情報を元に、ＧＵＩ操作記録時のウィンドウ情報、ネットワークコマンド、キャプチャ画面と、ＧＵＩ操作再生時のウィンドウ情報、ネットワークコマンド、キャプチャ画面とを比較して、操作記録時と操作再生時のマウス等のポインティングデバイスの位置ずれや操作速度のずれを検出し、その結果を位置ずれ及び操作速度記録メモリ１０９に記録する処理部である。
【００４５】
サーバ２ｂにおけるウィンドウ情報記録部２０１は、実施の形態１、２のウィンドウ情報記録部２０１と同様に、操作対象ウィンドウの情報として操作対象ウィンドウの座標とアクティブである時間やサーバ上で起動しているウィンドウの座標を含む情報を記録する処理部であり、そのウィンドウ情報を、クライアント１ｂのウィンドウ情報記録メモリ１０３に出力するよう構成されている。ネットワークコマンド記録部２０７は、ｈｔｔｐコマンド等のサーバで受信したネットワークコマンドを記録する処理部であり、そのネットワークコマンドを、クライアント１ｂのネットワークコマンド記録メモリ１０６に出力するよう構成されている。
【００４６】
次に、実施の形態３の試験シナリオ生成装置の動作について説明する。
クライアント１ｂからサーバ２ｂに対して遠隔操作を行うと、クライアント１ｂからＶＮＣコマンド（マウスポインタの位置情報、クリック情報、キー押し下げ情報、フレームバッファの更新要求）をサーバ２ｂに送信するとき、そのＶＮＣコマンドをクライアント１ｂ内部の遠隔操作コマンド記録部１０１で記録し、遠隔操作コマンド記録メモリ１０４にＧＵＩ操作データが保存される。ここで、遠隔操作コマンド記録メモリ１０４にＶＮＣコマンドを記録する形式は、例えば、実施の形態１と同様に、図３のようにしてもよい。なお、図１１において、クライアント１ｂからサーバ２ｂへのデータの流れを示す矢印は省略している。
【００４７】
サーバ２ｂのウィンドウ情報記録部２０１では、サーバ２ｂのアクティブウィンドウ、アクティブウィンドウの親ウィンドウの位置・ウィンドウ名・ウィンドウハンドル、アクティブウィンドウの子ウィンドウの位置・ウィンドウ名・ウィンドウハンドルで構成されるウィンドウ情報と、マウス位置と、ウィンドウ情報を取得した時刻を記録し、また、クライアント１ｂのウィンドウ情報記録メモリ１０３に、ウィンドウ情報とウィンドウ情報を取得した時刻を保存する。ここで、ウィンドウ情報記録メモリ１０３にウィンドウ情報、ウィンドウ情報を取得した時刻を記録する形式は、例えば、図１２のようにしてもよい。
【００４８】
サーバ２ｂのネットワークコマンド記録部２０７では、サーバ２ｂが受信するｈｔｔｐコマンド等のネットワークコマンドと、ネットワークコマンドを受信した時刻を記録し、記録された情報は、クライアント１ｂのネットワークコマンド記録メモリ１０６に、ネットワークコマンドとネットワークコマンドを取得した時刻が保存される。図１３は、ネットワークコマンドとネットワークコマンドを取得した時刻を記録する形式を表している。
【００４９】
サーバ２ｂのウィンドウ情報記録部２０１において、ウィンドウ情報は、クライアント１ｂからＶＮＣコマンドを受信したタイミングで取得する。あるいは、１ミリ秒ごと等、周期的にウィンドウ情報の取得を行ってもよい。
【００５０】
試験ツール３において、ユーザが試験対象プログラムを登録すると、登録された試験対象プログラムのウィンドウ名、ウィンドウハンドルがクライアント１ｂ内の試験シナリオ生成部１０２に送信される。
試験ツール３において、試験操作シナリオの編集を開始すると、試験シナリオ生成部１０２は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４からＶＮＣコマンドとサーバ２ｂにおけるその受信時刻、ウィンドウ情報とウィンドウ情報を取得した時刻を記録したデータを取得し、シナリオ編集処理を行う。
【００５１】
初回操作を記録する場合、ウィンドウ情報取得時にクライアント１ｂ内のウィンドウ情報記録メモリ１０３にウィンドウ情報を送信する。その方式及びタイミングは実施の形態２と同様にしてもよい。
【００５２】
初回操作記録後に操作を再生する場合、ウィンドウ情報取得時にクライアント１ｂ内のウィンドウ情報記録メモリ１０３にウィンドウ情報を送信する。例えば、サーバ２ｂがＶＮＣコマンドを受信するタイミングでウィンドウ情報記録部２０１において、ウィンドウ情報を取得し、その都度、逐次、クライアント１ｂのウィンドウ情報記録メモリ１０３に送信してもよい。あるいは、再生終了後にウィンドウ情報を一括でクライアント１ｂのウィンドウ情報記録メモリ１０３に送信してもよい。
【００５３】
サーバ２ｂのネットワークコマンド記録部２０７において、ネットワークコマンドは、ネットワークコマンドを受信したタイミングで取得する。
初回操作を記録する場合、ネットワークコマンド受信時にクライアント１ｂ内のネットワークコマンド記録メモリ１０６にネットワークコマンドを送信する。その方式及びタイミングはウィンドウ情報をサーバ２ｂからクライアント１ｂのウィンドウ情報記録メモリ１０３に送出するときと同様にしてもよい。
【００５４】
初回操作記録後に操作を再生する場合、ネットワークコマンド受信時にクライアント１ｂ内のネットワークコマンド記録メモリ１０６にネットワークコマンドを送信する。例えば、サーバ２ｂがＶＮＣコマンドを受信するタイミングでネットワークコマンド記録部２０７において、ネットワークコマンドを取得し、その都度、逐次、クライアント１ｂのネットワークコマンド記録メモリ１０６に送信してもよい。あるいは、再生終了後にネットワークコマンドを一括でクライアント１ｂのネットワークコマンド記録メモリ１０６に送信してもよい。
【００５５】
試験シナリオ生成部１０２におけるシナリオ編集処理では、記録したＶＮＣコマンドにおいて、試験ツール３で登録した試験対象プログラムに関連する操作を抽出し、その抽出したコマンドをシナリオとして、シナリオ記録メモリ１０５に記録する。具体的なシナリオ編集処理は、実施の形態１と同様の手順で行う。
【００５６】
操作記録後に、操作の再生を開始すると、応答比較部１０８は、ウィンドウ情報記録メモリ１０３と遠隔操作コマンド記録メモリ１０４、ネットワークコマンド記録メモリ１０６からネットワークコマンドとサーバ２ｂにおけるその受信時刻、ウィンドウ情報記録メモリ１０３から、ウィンドウ情報とウィンドウ情報を取得した時刻、キャプチャ画面記録メモリ１０７からキャプチャ画面とキャプチャ画面を取得した時刻を取得し、操作記録時と操作再生時との比較を行うことによって、操作記録時と再生時の画面上のオブジェクトやアイコンのずれや、プログラムやネットワークの応答速度などの時間的なずれによって正常に操作が再生されない場合と画面上のオブジェクトやアイコンのずれや、プログラムやネットワークの応答速度などの時間的なずれが生じた時刻を検出する。
【００５７】
操作記録時と操作再生時の、ネットワークコマンドとサーバ２ｂにおけるその受信時刻、ウィンドウ情報とウィンドウ情報を取得した時刻、キャプチャ画面とキャプチャ画面を取得した時刻による、正常に再生されない場合の検出を行う方法について説明する。
まず、操作記録時と操作記録後の操作再生時の同時刻のネットワークコマンド、ウィンドウ情報、キャプチャ画面を比較する。操作開始時刻を０としたときの、同時刻のネットワークコマンドとウィンドウ情報が一致しているかどうかを判定する。同時刻のキャプチャ画面については、完全一致しているかどうか、あるいは類似度の差分が閾値以下であるかどうかを判定してもよい。これを各時刻について行う。
【００５８】
次に、操作再生時の各時刻の、ネットワークコマンドとサーバ２ｂにおけるその受信時刻、ウィンドウ情報とウィンドウ情報を取得した時刻、キャプチャ画面とキャプチャ画面を取得した時刻について、操作記録時の該当時刻と周辺時刻の、ネットワークコマンドとサーバ２ｂにおけるその受信時刻、ウィンドウ情報とウィンドウ情報を取得した時刻、キャプチャ画面とキャプチャ画面を取得した時刻との比較を行う。比較の方法は同時刻のときと同様でよい。また、操作再生処理時に、現在時刻のデータを同時刻の操作記録時のものと逐次比較してもよい。あるいは、操作再生処理終了後に一括で操作再生時と操作記録時のデータを比較してもよい。
【００５９】
Ｗｅｂアプリケーションやブラウザの試験を行う際、ネットワークコマンドによる比較を行うことによって、Ｗｅｂページが遷移したかどうかを確認することができる。これによって、例えば、操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれを検出することができる。この場合、操作再生時のＷｅｂページの遷移のタイミングが操作記録時のタイミングより遅いと以降のマウスクリックやキー操作が失敗してしまう可能性がある。したがって、操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれを検出することで、操作再生時の再生速度の調整が必要な部分を検出することができる。操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれの検出は、例えば、操作再生時のネットワークコマンドと操作記録時の同一のネットワークコマンドの時刻のずれが閾値以上である場合に、Ｗｅｂページの遷移のタイミングがずれていると判定してもよい。
【００６０】
あるいは、操作記録時と操作再生時でＯＳやブラウザのバージョンが異なる場合、アイコンやメッセージウィンドウ、Ｗｅｂページ内のボタンや入力フォームなどのオブジェクトの位置がずれ、操作再生時にマウスクリックが正常に再現されない場合がある。このとき、操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれを検出することで、アイコンやメッセージウィンドウ、Ｗｅｂページ内のボタンや入力フォームなどのオブジェクトの位置がずれ、操作再生時にマウスクリックが正常に再現されない現象を検出することができる。Ｗｅｂページ内のボタンや入力フォームなどのオブジェクトの位置がずれ、操作再生時にマウスクリックが正常に再現されない現象は、例えば、操作記録時に存在するネットワークコマンドが操作再生時に存在しない場合に、この現象が起こっていると判定してもよい。
【００６１】
また、ウィンドウ情報による比較を行うことによって、ボタンの押下やリンクのクリック等のイベントで発生する子ウィンドウや新しいウィンドウの起動のタイミングを検出することができる。ネットワークコマンドによる比較と同様に、操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれの検出やアイコンやメッセージウィンドウ、Ｗｅｂページ内のボタンや入力フォームなどのオブジェクトの位置ずれの検出を行うことができる。
【００６２】
さらに、操作記録時と操作再生時のキャプチャ画面を照合することによって、操作記録時と操作再生時の画面の変化が同様に起こっているかを判定することができる。例えば、ネットワークコマンドによる比較と同様に、操作記録時と再生時の同時刻、あるいは、周辺時刻の画像を比較して、操作再生時と操作記録時のＷｅｂページの遷移のタイミングのずれの検出やアイコンやメッセージウィンドウ、Ｗｅｂページ内のボタンや入力フォームなどのオブジェクトの位置ずれの検出を行うことができる。
【００６３】
ネットワークコマンド、ウィンドウ情報、キャプチャ画像の比較は、操作再生処理時に逐次行ってもよい。あるいは、操作再生処理終了後に一括で行ってもよい。逐次行う場合、操作再生処理中に位置ずれや操作速度のずれが生じていることを検出したとき、処理を途中で停止して、手動あるいは自動でマウスクリック位置や操作速度を調整して再生処理を再開することもできる。
【００６４】
位置ずれ及び操作速度記録メモリ１０９に記録する形式は、例えば、図１４のようにしてもよい。
【００６５】
図１５は、実施の形態３において、操作記録編集時にウィンドウ情報及びネットワークコマンドを一括送信する場合の初回操作記録時の試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ４０１で、試験ツール３において、試験対象プログラムを登録する。
サーバ２ｂとクライアント１ｂで、記録処理（ステップＳＴ４０９）を行う。ステップＳＴ４０９の記録処理では、試験ツール３から記録終了メッセージを受信するまで、クライアント１ｂの遠隔操作コマンド記録部１０１で、サーバ２ｂに送信するＶＮＣコマンドを記録する（ステップＳＴ４０２〜ＳＴ４０３）。また、サーバ２ｂのウィンドウ情報記録部２０１では、一定周期ごと、あるいは、ＶＮＣコマンド受信時に、ウィンドウ情報を記録する（ステップＳＴ４０４）。さらに、サーバ２ｂのネットワークコマンド記録部２０７では、一定周期ごと、あるいは、ネットワークコマンド受信時に、ネットワークコマンドを記録する（ステップＳＴ４０５）。
【００６６】
試験ツール３からステップＳＴ４０２で記録終了メッセージを受信すると、クライアント１ｂにおいて、遠隔操作コマンド記録部１０１から遠隔操作コマンド記録メモリ１０４へＶＮＣコマンド記録を出力し（ステップＳＴ４０６）、また、サーバ２ｂにおいて、ウィンドウ情報記録部２０１からウィンドウ情報記録を出力し（ステップＳＴ４０７）、遠隔操作コマンド記録部２０２からネットワークコマンド記録を出力する（ステップＳＴ４０８）。
【００６７】
サーバ２ｂからクライアント１ｂにウィンドウ情報記録、ネットワークコマンド記録を送信し（ステップＳＴ４１０）、これらをウィンドウ情報記録メモリ１０３とネットワークコマンド記録メモリ１０６に保存する。そして、試験シナリオ生成部１０２で試験シナリオの作成（ステップＳＴ４１３）を行う。ステップＳＴ４１３の試験シナリオ作成処理では、処理対象が記録データ末尾に到達するまで、ウィンドウ情報記録と、ステップＳＴ４０１で登録した試験対象プログラムのウィンドウ情報を照合する（ステップＳＴ４１１〜ＳＴ４１２）。処理対象が記録データ末尾に到達したら、その照合結果から、ＶＮＣコマンド記録において不要なデータを発見・削除し、その、不要データ削除を行ったＶＮＣコマンド記録を試験シナリオとして出力する（ステップＳＴ４１４）。
【００６８】
図１６は、実施の形態３において、ウィンドウ情報取得時またはネットワークコマンド取得時に、ウィンドウ情報またはネットワークコマンドを送信する場合の初回操作記録時の試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ５０１で、試験ツール３において、試験対象プログラムを登録する。
サーバ２ｂとクライアント１ｂで、記録処理（ステップＳＴ５１１）を行う。ステップＳＴ５１１の記録処理では、試験ツール３から記録終了メッセージを受信するまで、クライアント１ｂの遠隔操作コマンド記録部１０１で、サーバ２ｂに送信するＶＮＣコマンドを記録する（ステップＳＴ５０２〜ＳＴ５０３）。サーバ２ｂのウィンドウ情報記録部２０１では、一定周期ごと、あるいは、ＶＮＣコマンド受信時にウィンドウ情報をクライアント１ｂに送信し（ステップＳＴ５０４）、かつ、記録する（ステップＳＴ５０５）。また、サーバ２ｂのネットワークコマンド記録部２０７では、一定周期ごと、あるいは、ネットワークコマンド受信時にウィンドウ情報をクライアント１ｂに送信し（ステップＳＴ５０６）、かつ、記録する（ステップＳＴ５０７）。
【００６９】
試験ツール３からステップＳＴ５０２で記録終了メッセージを受信すると、クライアント１ｂにおいてＶＮＣコマンド記録、ウィンドウ情報記録、ネットワークコマンド記録を出力し（ステップＳＴ５０８、ＳＴ５０９、ＳＴ５１０）、クライアント１ｂの試験シナリオ生成部１０２で試験シナリオの作成（ステップＳＴ５１４）を行う。ステップＳＴ５１４の試験シナリオ作成処理では、処理対象が記録データ末尾に到達するまで、ウィンドウ情報記録と、ステップＳＴ５０１で登録した試験対象プログラムのウィンドウ情報を照合する（ステップＳＴ５１２〜ＳＴ５１３）。処理対象が記録データ末尾に到達したら、その照合結果から、ＶＮＣコマンド記録において不要なデータを発見・削除し、その、不要データ削除を行ったＶＮＣコマンド記録を試験シナリオとして出力する（ステップＳＴ５１５）。
【００７０】
図１７は、実施の形態３において、操作再生時に、逐次ネットワークコマンド、ウィンドウ情報、キャプチャ画面を比較する場合の試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップＳＴ６０１で、試験操作を開始する。サーバ２ｂとクライアント１ｂで、位置ずれと操作速度ずれの検出及び調整を行う（ステップＳＴ６０２〜ＳＴ６１１）。これらのステップでは、ステップＳＴ６０２で、試験ツール３から再生終了メッセージを受信するまで、クライアント１ｂの遠隔操作コマンド記録メモリ１０４からＶＮＣコマンドを読み込み、サーバ２ｂに送信する（ステップＳＴ６０３）ことによって再生処理を行い、その時刻のウィンドウ情報、ネットワークコマンド、キャプチャ画面のサーバ２ｂからクライアント１ｂへの送信及びクライアント１ｂの応答比較部１０８における照合を行う（ステップＳＴ６０４〜ＳＴ６０８）。
【００７１】
図１７では、ＶＮＣコマンドを送信する度に、応答比較部１０８でウィンドウ情報、ネットワークコマンド、キャプチャ画面の照合を行うようにしているが、これらの照合は、任意のタイミングで行ってよい。また、照合時に、位置ずれ、操作速度のずれを検出したら、その時点で再生処理を停止して、位置ずれや操作速度の補正を行い、再生を再開してもよい。試験ツール３からステップＳＴ６０２で再生終了メッセージを受信したら、ステップＳＴ６０９で、位置ずれと操作速度ずれ情報を位置ずれ及び操作速度記録メモリ１０９に出力する。位置ずれ及び操作速度記録メモリ１０９において、データの先頭から位置ずれ・操作速度ずれの箇所について、ユーザによる手動または自動で位置ずれ・操作速度ずれを調整し、位置ずれ及び操作速度記録メモリ１０９に時間や座標の補正量を記録する（ステップＳＴ６１０〜ＳＴ６１１）。ステップＳＴ６１２において、位置ずれ及び操作速度記録メモリ１０９に記録された時間・座標の補正量に応じて、再度操作再生処理を行う。
【００７２】
図１８は、実施の形態３において、操作再生処理終了後、ネットワークコマンド、ウィンドウ情報、キャプチャ画面を比較する場合の試験シナリオ生成装置の動作を示すフローチャートである。
先ず、ステップ７０１で、試験操作を開始する。サーバ２ｂとクライアント１ｂで、位置ずれと操作速度ずれの検出及び調整を行う（ステップＳＴ７０２〜ＳＴ７１０）。これらのステップにおいて、ステップＳＴ７０２で、試験ツール３から再生終了メッセージを受信するまで、クライアント１ｂの遠隔操作コマンド記録メモリ１０４からＶＮＣコマンドを読み込み、サーバ２ｂに送信することによって再生処理を行い、その時刻のウィンドウ情報、ネットワークコマンド、キャプチャ画面のサーバ２ｂからクライアント１ｂへの送信を行う（ステップＳＴ７０３〜ＳＴ７０６）。
【００７３】
試験ツール３からステップＳＴ７０２で再生終了メッセージを受信したら、応答比較部１０８は、操作記録時と再生時のウィンドウ情報、ネットワークコマンド、キャプチャ画面の照合を行い（ステップＳＴ７０７）、ステップＳＴ７０８で、位置ずれ・操作速度ずれ情報を位置ずれ及び操作速度記録メモリ１０９に出力する。位置ずれ及び操作速度記録メモリ１０９において、データの先頭から位置ずれ・操作速度ずれの箇所について、ユーザによる手動または自動で位置ずれ・操作速度ずれを調整し、位置ずれ及び操作速度記録メモリ１０９に時間や座標の補正量を記録する（ステップＳＴ７０９〜ＳＴ７１０）。ステップＳＴ７１１において、位置ずれ及び操作速度記録メモリ１０９に記録された時間・座標の補正量に応じて、再度操作再生処理を行う。
【００７４】
なお、上記実施の形態３では、位置ずれと操作速度ずれの両方を検出するようにしたが、いずれか一方だけであってもよい。
【００７５】
以上説明したように、実施の形態３の試験シナリオ生成装置によれば、試験対象プログラムを登録する試験ツールと、遠隔操作を行うクライアントと、クライアントからの遠隔操作に応じて試験対象プログラムへの操作を行うサーバとを備え、クライアントは、操作コマンド記録部と、試験シナリオ生成部と、グラフィカルユーザインタフェース操作記録時とグラフィカルユーザインタフェース操作再生時の画面のキャプチャ画像を格納するキャプチャ画面記録メモリと、グラフィカルユーザインタフェース操作時のネットワークコマンドの情報を保存するネットワークコマンド記録メモリと、グラフィカルユーザインタフェース操作記録時とグラフィカルユーザインタフェース操作再生時における、操作対象ウィンドウの情報、ネットワークコマンドの情報、キャプチャ画像をそれぞれ比較し、グラフィカルユーザインタフェース操作記録時とグラフィカルユーザインタフェース操作再生時における位置ずれと操作速度ずれのうち少なくとも一方の情報を出力する応答比較部とを備えたので、試験工数や試験操作時間を低減することができると共に次のような効果がある。操作記録時と操作再生時で、ＯＳやブラウザのバージョンが異なる等、実行する環境が異なる場合、ボタンや入力フォームなど、マウスクリックを行う対象の座標がずれてしまうことがある。このような場合でも、ウィンドウ情報、ネットワークコマンド、キャプチャ画面による座標のずれを検出して、操作の再生をその時点からやり直すことができる。また、操作再生時と操作記録時でネットワークの応答速度やアプリケーションの起動速度が異なることがある。このような場合でも、ウィンドウ情報、ネットワークコマンド、キャプチャ画面によって、ネットワークの応答速度やアプリケーションの起動速度のずれを検出して、操作の再生速度を調整することができる。
【００７６】
また、実施の形態３の試験シナリオ生成装置によれば、サーバは、ウィンドウ情報記録部とネットワークコマンド記録部を有し、クライアントは、ウィンドウ情報記録部の情報を保存するウィンドウ情報記録メモリと、ネットワークコマンド記録部の情報を保存するネットワークコマンド記録メモリとを備え、ウィンドウ情報記録部は、操作対象ウィンドウの座標と操作対象ウィンドウがアクティブである時間を含む情報を記録し、ネットワークコマンド記録部は、ネットワークコマンド受信時にネットワークコマンドとその受信時刻をネットワークコマンドの情報として記録し、試験シナリオ生成部は、ウィンドウ情報記録部の情報としてウィンドウ情報記録メモリに保存された情報を用いて試験シナリオの生成を行うようにしたので、サーバ側の小規模な改造とクライアントの改造で容易に本発明の回帰試験シナリオ生成装置を実装することが可能である。
【００７７】
また、実施の形態３の試験シナリオ生成装置によれば、応答比較部は、グラフィカルユーザインタフェース操作記録時とグラフィカルユーザインタフェース操作再生時の、同時刻または周辺時刻の操作対象ウィンドウ情報、ネットワークコマンドの情報、キャプチャ画像を比較し、ポインティングデバイス位置のずれと、グラフィカルユーザインタフェース操作記録時とグラフィカルユーザインタフェース操作再生時の操作速度のずれのうち、少なくとも一方のずれを検出するようにしたので、ポインティングデバイス位置のずれと操作速度のずれを容易かつ確実に検出することができる。
【００７８】
なお、実施の形態１〜３では、試験対象プログラムに対して以前に行われた試験として初回の試験時としたが、以前の任意の試験時の操作であってもよい。
【００７９】
また、ポインティングデバイスとして、マウス以外にも、操作のためのいずれかの座標を示すものであればどのようなポインティングデバイスであってもよい。
【００８０】
さらに、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００８１】
１，１ａ，１ｂ  クライアント、２，２ａ，２ｂ  サーバ、３  試験ツール、１０１，２０２  遠隔操作コマンド記録部、１０２，２０３  試験シナリオ生成部、１０３，２０４  ウィンドウ情報記録メモリ、１０４，２０５  遠隔操作コマンド記録メモリ、１０５，２０６  シナリオ記録メモリ、１０６  ネットワークコマンド記録メモリ、１０７  キャプチャ画面記録メモリ、１０８  応答比較部、１０９  位置ずれ及び操作速度記録メモリ、２０１  ウィンドウ情報記録部、２０７  ネットワークコマンド記録部。
【図１】
2015158897.tif 000003
【図２】
2015158897.tif 000004
【図３】
2015158897.tif 000005
【図４】
2015158897.tif 000006
【図５】
2015158897.tif 000007
【図６】
2015158897.tif 000008
【図７】
2015158897.tif 000009
【図８】
2015158897.tif 000010
【図９】
2015158897.tif 000011
【図１０】
2015158897.tif 000012
【図１１】
2015158897.tif 000013
【図１２】
2015158897.tif 000014
【図１３】
2015158897.tif 000015
【図１４】
2015158897.tif 000016
【図１５】
2015158897.tif 000017
【図１６】
2015158897.tif 000018
【図１７】
2015158897.tif 000019
【図１８】
2015158897.tif 000020