(57)【要約】【課題】入力操作を記録・再生する場合の入力操作の記録データの修正作業および再記録作業の省力化を可能にする。【解決手段】サーバ２に含まれるソフトウェアテスト支援装置１の画面情報取得部１２は、入力情報受信部１１が受信したテスト準備者の入力情報に基づいて、テスト対象アプリケーション３の入力画面の特定の時点の画像を表す画像情報およびコントロール情報を取得し、コントロール情報に基づいて画面記録情報を生成し、画像情報と画面記録情報とを対応付けて画面情報として画面情報記憶部１３に記憶させる。画面送信部１４は、テスト対象アプリケーション３の画面情報に含まれる画像情報からサムネイルを生成し、ユーザ端末６にサムネイルの一覧を表示させる。画面反映部１５は、入力情報受信部１１が受信したテスト実行者の入力情報に基づいて、選択されたサムネイルに対応する画面記録情報をテスト対象アプリケーション３の入力画面に反映する。【選択図】図１
2013137712.tif 000002
【特許請求の範囲】
【請求項１】
テスト準備者またはテスト実行者が入力した入力情報を取得する入力情報取得部と、
対象のアプリケーションの入力画面の特定の時点の画像を表す画像情報および前記アプリケーションの入力画面を構成するコントロールを示すコントロール情報を前記アプリケーションから取得し、前記コントロール情報に基づいて画面記録情報を生成して前記画像情報と前記画面記録情報とを対応付ける画面情報取得部と、
前記画像情報と前記画面記録情報とを対応付けた画面情報を記憶する画面情報記憶部と、
前記画面情報に含まれる前記画像情報からサムネイルを生成し、前記サムネイルの一覧を前記テスト実行者に提示する画面提示部と、
前記入力情報取得部が前記テスト実行者によって選択された前記サムネイルを示す前記入力情報を取得すると、前記選択されたサムネイルに対応する前記画面記録情報を前記アプリケーションの入力画面に反映する画面反映部と、
を備えるソフトウェアテスト支援装置。
【請求項２】
前記画面情報取得部は、
前記入力情報取得部が前記テスト準備者による記録指示を示す前記入力情報を取得すると、前記アプリケーションの入力画面の前記画像情報および前記コントロール情報を前記アプリケーションから取得し、前記コントロール情報に基づいて前記画面記録情報を生成して前記画像情報と前記画面記録情報とを対応付ける、
請求項１に記載のソフトウェアテスト支援装置。
【請求項３】
前記画面記録情報は、前記コントロールの名称を示すコントロール名と前記コントロールに入力された入力値と、を含み、
前記画面反映部は、前記アプリケーションの入力画面を構成する全ての前記コントロールについて、前記画面記録情報に一致する前記コントロール名があるか否かを判定し、一致する前記コントロール名がある場合には、前記画面記録情報の前記コントロール名に対応する前記入力値を前記アプリケーションに送信し、前記コントロール名が一致する前記コントロールに前記入力値を入力させる、
請求項１または２に記載のソフトウェアテスト支援装置。
【請求項４】
前記画面反映部は、
前記入力情報取得部が前記テスト準備者によって選択された前記サムネイルと、削除指示を示す前記入力情報を取得すると、前記選択されたサムネイルに対応する前記画面情報を前記画面情報記憶部から削除する、
請求項１ないし３のいずれか１項に記載のソフトウェアテスト支援装置。
【請求項５】
テスト準備者またはテスト実行者の入力を受け付けて入力情報をサーバに送信する入力部および前記サーバから受信した情報を出力する出力部を含むユーザ端末と、対象のアプリケーションおよびソフトウェアテスト対象装置を含む前記サーバと、で構成されるソフトウェアテスト支援システムであって、
前記ソフトウェアテスト対象装置は、
前記テスト準備者または前記テスト実行者が入力した前記入力情報を前記ユーザ端末から受信する入力情報受信部と、
前記アプリケーションの入力画面の特定の時点の画像を表す画像情報および前記アプリケーションの入力画面を構成するコントロールを示すコントロール情報を前記アプリケーションから取得し、前記コントロール情報に基づいて画面記録情報を生成して前記画像情報と前記画面記録情報とを対応付ける画面情報取得部と、
前記画像情報と前記画面記録情報とを対応付けた画面情報を記憶する画面情報記憶部と、
前記画面情報に含まれる前記画像情報からサムネイルを生成し、前記サムネイルの一覧を前記ユーザ端末に送信する画面送信部と、
前記入力情報受信部が前記テスト実行者によって選択された前記サムネイルを示す前記入力情報を受信すると、前記選択されたサムネイルに対応する前記画面記録情報を前記アプリケーションの入力画面に反映する画面反映部と、
を備えるソフトウェアテスト支援システム。
【請求項６】
テスト準備者またはテスト実行者の入力を受け付けてサーバに送信する入力部および前記サーバから受信した情報を出力する出力部を含むユーザ端末と、対象のアプリケーションおよびソフトウェアテスト対象装置を含む前記サーバと、で構成されるソフトウェアテスト支援システムにおいて、
前記ユーザ端末が実行する
前記テスト準備者の入力を受け付けて前記サーバに送信する第１入力ステップと、
前記ソフトウェアテスト対象装置が実行する
前記テスト準備者が入力した入力情報を前記ユーザ端末から受信する第１入力情報受信ステップと、
前記アプリケーションの入力画面の特定の時点の画像を表す画像情報および前記アプリケーションの入力画面を構成するコントロールを示すコントロール情報を前記アプリケーションから取得し、前記コントロール情報に基づいて画面記録情報を生成して前記画像情報と前記画面記録情報とを対応付ける画面情報取得ステップと、
前記画像情報と前記画面記録情報とを対応付けた画面情報を記憶する画面情報記憶ステップと、
前記画面情報に含まれる前記画像情報からサムネイルを生成し、前記サムネイルの一覧を前記ユーザ端末に送信する画面送信ステップと、
前記ユーザ端末が実行する
前記ソフトウェアテスト対象装置から受信した情報を出力する出力ステップと、
前記テスト実行者の入力を受け付けて前記サーバに送信する第２入力ステップと、
前記ソフトウェアテスト対象装置が実行する
前記テスト実行者が入力した入力情報を前記ユーザ端末から受信する第２入力情報受信ステップと、
前記第２入力情報受信ステップで前記テスト実行者によって選択された前記サムネイルを示す前記入力情報を受信すると、前記選択されたサムネイルに対応する前記画面記録情報を前記アプリケーションの入力画面に反映する画面反映ステップと、
を備えるソフトウェアテスト支援方法。
【請求項７】
コンピュータを、
テスト準備者またはテスト実行者が入力した入力情報を取得する入力情報取得部、
対象のアプリケーションの入力画面の特定の時点の画像を表す画像情報および前記アプリケーションの入力画面を構成するコントロールを示すコントロール情報を前記アプリケーションから取得し、前記コントロール情報に基づいて画面記録情報を生成して前記画像情報と前記画面記録情報とを対応付ける画面情報取得部、
前記画像情報と前記画面記録情報とを対応付けた画面情報を記憶する画面情報記憶部、
前記画面情報に含まれる前記画像情報からサムネイルを生成し、前記サムネイルの一覧を前記テスト実行者に提示する画面提示部、および、
前記入力情報取得部が前記テスト実行者によって選択された前記サムネイルを示す前記入力情報を取得すると、前記選択されたサムネイルに対応する前記画面記録情報を前記アプリケーションの入力画面に反映する画面反映部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションのソフトウェアテストを支援するソフトウェアテスト支援装置、ソフトウェアテスト支援システム、ソフトウェアテスト支援方法およびプログラムに関する。
【背景技術】
【０００２】
アプリケーションのソフトウェアテストにおいて、入力画面への同一のデータ入力作業がある場合、次回以降のデータ入力作業を省略するために、入力時のマウス操作やキーボード操作を記録（スクリプト作成）し、テスト実施時に入力操作を再生する方法がある。この方法により、テスト作業の省力化が可能となる。
【０００３】
特許文献１には、評価対象プログラムのＧＵＩ画面からＧＵＩ部品を取得して、これらを部品情報テーブルへ保存し、入力装置を介して評価対象プログラムのＧＵＩ画面が操作されたときに、その操作履歴データを記録する技術が開示されている。この技術では、操作者がＧＵＩ画面を表示して操作を行うと、操作内容が自動的に操作履歴データとして記録される。操作履歴データには、操作された順番で、ＧＵＩ部品ごとに選択したラジオボタンや入力された文字列を示す情報が記録される。
【０００４】
特許文献２には、ＧＵＩの画面情報から生成されたソースコードをテストするテストソースコードを生成し、ＧＵＩの画面情報からテストソースコードを実行する手順を定めたテストシナリオを生成し、テストシナリオに基づいて実行テストプログラムを実行し、ソースコードから生成された実行プログラムをテストするソフトウェア開発支援装置が開示されている。特許文献２のＧＵＩの画面情報は、ＧＵＩ部品の位置や大きさの情報から成るレイアウト情報とＧＵＩに関するイベントやアクションや状態の情報から成る状態遷移情報とを含み、マークアップ言語で記述されている。特許文献２の技術では、状態遷移情報を取得すると、状態遷移情報に基づいて、自動的にテストソースコードが生成される。
【０００５】
特許文献３には、所定機器に対するデータ入力操作を逐次検出し、その操作に対応する関数を操作内容ファイルに記録し、操作内容ファイルに記録された関数に応じてプログラムコードを設定することにより、所定機器に対して実行された一連の操作を再現するためのテストプログラムを生成する動作検証装置が開示されている。特許文献３の技術では、データ入力操作が行われると、操作を再現実行するためのログが自動的に生成される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１３４６７３号公報
【特許文献２】特開２００７−２１３２４９号公報
【特許文献３】特開２０１０−２３７８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら上記の手法では、特に大量のデータ入力を一度に行う場合、入力内容の変更や誤りがあると、入力操作の記録データを修正したり、入力操作の記録データを削除して再記録したりする作業が必要となり、データ入力操作に時間がかかる場合があった。
【０００８】
本発明は、上述のような事情に鑑みてなされたもので、入力操作を記録・再生する場合の入力操作の記録データの修正作業および再記録作業の省力化を目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点に係るソフトウェアテスト支援装置は、テスト準備者またはテスト実行者が入力した入力情報を取得する入力情報取得部と、対象のアプリケーションの入力画面の特定の時点の画像を表す画像情報およびアプリケーションの入力画面を構成するコントロールを示すコントロール情報をアプリケーションから取得し、コントロール情報に基づいて画面記録情報を生成して画像情報と画面記録情報とを対応付ける画面情報取得部と、画像情報と画面記録情報とを対応付けた画面情報を記憶する画面情報記憶部と、を備える。また、ソフトウェアテスト支援装置は、画面情報に含まれる画像情報からサムネイルを生成し、サムネイルの一覧をテスト実行者に提示する画面提示部と、入力情報取得部がテスト実行者によって選択されたサムネイルを示す入力情報を取得すると、選択されたサムネイルに対応する画面記録情報をアプリケーションの入力画面に反映する画面反映部と、を備える。
【発明の効果】
【００１０】
本発明によれば、入力操作を記録・再生する場合の入力操作の記録データの修正作業および再記録作業の省力化が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るソフトウェアテスト支援システムの構成例を示すブロック図である。
【図２】テスト対象アプリケーションの入力フォームの一例を示す図である。
【図３】ソフトウェアテスト支援装置の画面記録時の画面記録再生フォームの一例を示す図である。
【図４】画面記録情報の一例を説明する図である。
【図５】ソフトウェアテスト支援装置の画面再生時の画面記録再生フォームの一例を示す図である。
【図６】実施の形態に係る画面記録の流れを説明する図である。
【図７】実施の形態に係る画面再生の流れを説明する図である。
【図８】実施の形態に係るソフトウェアテスト支援装置の画面記録処理の動作の一例を示すフローチャートである。
【図９】実施の形態に係るソフトウェアテスト支援装置の画面記録情報生成処理の動作の一例を示すフローチャートである。
【図１０】実施の形態に係るソフトウェアテスト支援装置の画面再生処理の動作の一例を示すフローチャートである。
【図１１】実施の形態に係るソフトウェアテスト支援装置の画面記録情報反映処理の動作の一例を示すフローチャートである。
【図１２】実施の形態に係るサーバのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
本実施の形態では、ソフトウェアテストの対象のアプリケーションの入力画面にデータを入力し、データを入力した入力画面の記録を行うユーザをテスト準備者という。テスト準備者によって記録された入力画面の一覧を呼び出して選択し、入力画面を再生させるユーザをテスト実行者という。
【００１３】
以下に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。
【００１４】
図１は、本発明の実施の形態に係るソフトウェアテスト支援システムの構成例を示すブロック図である。実施の形態のソフトウェアテスト支援システム１００は、ソフトウェアテスト支援装置１およびテスト対象アプリケーション３を含むサーバ２と、テスト準備者およびテスト実行者が使用するユーザ端末６とから構成されている。ユーザ端末６とサーバ２とは、ネットワークを介して相互に通信可能である。
【００１５】
ユーザ端末６は、サーバ２の一部であるか、または附属の装置の場合がある。ユーザ端末６は代表して１台で図示するが、２台以上がネットワークに接続される場合や、テスト準備者が使用するユーザ端末とテスト実行者が使用するユーザ端末とが異なる場合がある。また、テスト準備者とテスト実行者とは、複数人である場合や同一人物である場合がある。
【００１６】
ユーザ端末６は、それぞれテスト準備者およびテスト実行者によるデータ入力を受け付け、入力情報をサーバ２に送信する入力部６１と、サーバ２から受け取った情報を出力する出力部６２とを備える。
【００１７】
サーバ２は、テスト対象アプリケーション３と、ソフトウェアテスト支援装置１とを備える。テスト対象アプリケーション３は、サーバ２のＯＳ（Operating System）があらかじめ記憶されたテスト対象アプリケーション３のプログラムを実行することにより実現する。テスト対象アプリケーション３は複数であってもよい。
【００１８】
テスト対象アプリケーション３およびソフトウェアテスト支援装置１は、テスト準備者またはテスト実行者による起動指示をユーザ端末６から受信すると起動し、それぞれ入力画面を示す情報をユーザ端末６に送信し、出力部６２に入力画面を表示させる。以下、便宜上、テスト対象アプリケーション３の入力画面を入力フォーム、ソフトウェアテスト支援装置１の入力画面を画面記録再生フォームと呼ぶ。テスト対象アプリケーション３およびソフトウェアテスト支援装置１は、テスト準備者またはテスト実行者による終了指示をユーザ端末６から受信すると終了する。
【００１９】
ソフトウェアテスト支援装置１は、入力情報受信部１１、画面情報取得部１２、画面情報記憶部１３、画面送信部１４および画面反映部１５を備える。
【００２０】
入力情報受信部１１は、ユーザ端末６から入力情報を受信する。入力情報受信部１１は、ユーザ端末６から受信した入力情報を画面情報取得部１２、画面送信部１４または画面反映部１５に送る。
【００２１】
画面情報取得部１２は、入力情報受信部１１から画面記録再生フォームに設けられた入力フォームの表示を要求する表示ボタンの押下を示す入力情報を受け取ると、テストアプリケーション３からユーザ端末６に表示している入力フォームの現時点の画像を表す画像情報を取得し、画面送信部１４に送る。画面情報取得部１２は、入力情報受信部１１から画面記録再生フォームに設けられた入力フォームの記録を要求する記録ボタンの押下を示す入力情報を受け取ると、テストアプリケーション３から現在ユーザ端末６に表示している入力フォームのコントロール情報を取得し、画面記録情報を生成する。
【００２２】
また、画面情報取得部１２は、画像情報と画面記録情報とを対応付けて画面情報として画面情報記憶部１３に記憶させる。コントロールとは、入力フォームを構成するＧＵＩ（Graphical User Interface）の部品である。コントロール情報とは、入力フォームを構成するＧＵＩの部品を示す情報である。画面記録情報の詳細は後述する。
【００２３】
画面情報記憶部１３は、画面情報取得部１２から受け取った画面情報を記憶する。また、画面情報記憶部１３は、画面記録再生フォームを示す情報を記憶する。
【００２４】
画面送信部１４は、ソフトウェアテスト支援装置１が起動すると、画面情報記憶部１３から画面記録再生フォームを示す情報を取得してユーザ端末６に送信し、画面記録再生フォームを表示させる。画面送信部１４は、画面情報取得部１２から入力フォームの画像情報を受け取ると画像情報をユーザ端末６に送信し、画面記録再生フォームに画像情報を表示させる。
【００２５】
また、画面送信部１４は、ソフトウェアテスト支援装置１が起動した際に、画面情報記憶部１３にテスト対象アプリケーション３の画面情報が存在する場合には該画面情報を取得し、画面情報に含まれる画像情報からサムネイルを生成する。サムネイルとは、多数の画像を一覧表示するために縮小された画像である。画面送信部１４は、生成したサムネイルを示す情報をユーザ端末６の出力部６２に送信し、画面記録再生フォームにサムネイルの一覧を表示させる。
【００２６】
画面反映部１５は、入力情報受信部１１から選択されたサムネイルと画面記録再生フォームに設けられた入力フォームの再生を要求する再生ボタンの押下とを示す入力情報を受け取ると、該サムネイルに対応する画面情報に含まれる画面記録情報を入力フォームに反映する。画面記録情報を入力フォームに反映する方法の詳細は後述する。
【００２７】
図２は、テスト対象アプリケーションの入力フォームの一例を示す図である。入力フォームは、入力フォームの名称を示す画面名４１と、コントロールの名称を示す文字列であるラベル４２と、テキストを入力するテキストボックス４３と、あらかじめ定義された選択肢をプルダウンで選択するコンボボックス４４と、あらかじめ定義された選択肢のうち１つのみを選択するラジオボタン４５と、あらかじめ定義された選択肢を選択するチェックボックス４６とのコントロールで構成される。入力フォームが１つの場合は、入力フォームの名称を示す画面名４１はなくてもよい。
【００２８】
以下、ソフトウェアテスト支援装置１において、入力フォームを記録する方法について説明する。
【００２９】
図３は、ソフトウェアテスト支援装置の画面記録時の画面記録再生フォームの一例を示す図である。画面記録再生フォームは、画面記録再生フォームの名称を示す画面名５１と、起動中の入力フォームの画像情報を表示するための表示ボタン５２と、起動中の入力フォームの画像情報を表示する表示領域５３と、表示領域５３に入力フォームの画像情報が表示されているテスト対象アプリケーション３の名称を示すアプリケーション名５４と、表示領域５３に表示中の入力フォームの画面情報を記録するための記録ボタン５５と、画面再生時に使用する再生ボタン５６と、表示領域５７とで構成される。再生ボタン５６および表示領域５７の詳細は後述する。なお、テスト対象アプリケーション３が１つの場合は、アプリケーション名５４はなくてもよい。また、画面記録再生フォームの名称を示す画面名５１はなくてもよい。
【００３０】
たとえば、「アプリケーションＡ」という名称のテスト対象アプリケーション３の画面名４１が「入力フォーム１」であって、テキストボックス４３に入力されたテキストが「ｔｅｘｔｆｉｌｅ」、コンボボックス４４で選択された選択肢が「ｗａｒｎｉｎｇ」、ラジオボタン４５で選択された選択肢は「Ｔｙｐｅ １」、チェックボックスで選択された選択肢が「Ｐｏｗｅｒ Ｏｎ」であるとする。ユーザ端末６に、このようなデータが入力された入力フォームが表示されている状態で、テスト準備者がソフトウェアテスト支援装置１を起動し、表示ボタン５２を押下すると、ユーザ端末６には、図３の例に示すような画面記録再生フォームが表示される。次に、テスト準備者が記録ボタン５５を押下すると、図４に示すような画面記録情報が生成され、入力フォームの画像情報と画面記録情報とが対応付けられて画面情報として記録される。
【００３１】
図４は、画面記録情報の一例を説明する図である。画面記録情報は、テスト対象アプリケーション３の名称を示すアプリケーション名４０１と、入力フォームの名称を示す画面名４０２と、コントロールの名称を示すコントロール名４０３と、コントロールの種類を示す種類名４０４と、コントロールに入力された値を示す入力値４０５で構成される。なお、テスト対象アプリケーション３が１つの場合は、アプリケーション名４０１はなくてもよい。また、入力フォームが１つの場合は、画面名４０２はなくてもよい。画面記録情報は、少なくともコントロールの名称を示すコントロール名４０３と、コントロールに入力された値を示す入力値４０５とで構成されればよい。
【００３２】
以下、ソフトウェアテスト支援装置１において、記録した入力フォームを再生する方法について説明する。
【００３３】
図５は、ソフトウェアテスト支援装置の画面再生時の画面記録再生フォームの一例を示す図である。テスト対象アプリケーション３が起動している状態（ユーザ端末６に入力フォームが表示されている状態）で、ソフトウェアテスト支援装置１を起動したときに、ソフトウェアテスト支援装置１の画面情報記憶部１３にテスト対象アプリケーション３の画面情報が記憶されていると、図５の例に示すように、表示領域５７に入力フォームの画像情報のサムネイルの一覧が表示される。なお、図３に示した画面記録時の画面記録再生フォームのように、画面情報記憶部１３にテスト対象アプリケーション３の画面情報が記憶されていない場合には、表示領域５７には何も表示されない。
【００３４】
テスト実行者がサムネイルの一覧から再生したい入力フォームのサムネイルを選択すると、サムネイルの外枠が太線になって選択されたことが表示され、サムネイルの名称を示すサムネイル名５８が表示される。選択されたことを表示する方法は、これに限らず、たとえば、点滅してもよいし、色を変化させてもよいし、表示領域５３に選択されたサムネイルに対応する画像情報を表示してもよい。サムネイルが選択された状態で、再生ボタン５６を押下すると、選択されたサムネイルに対応する画面記録情報が入力フォームに反映される。
【００３５】
ここで、画面記録および画面再生の流れを図６および図７を用いて説明する。
【００３６】
図６は、実施の形態に係る画面記録の流れを説明する図である。テスト準備者は、ユーザ端末６に起動指示を入力し、テスト対象アプリケーション３を起動する（ステップＡ１）。テスト対象アプリケーション３は、入力フォームをユーザ端末６に送信して表示させる（ステップＡ２）。テスト準備者は、ユーザ端末６に表示された入力フォームにデータ入力する（ステップＡ３）。
【００３７】
次に、テスト準備者は、ユーザ端末６に起動指示を入力し、ソフトウェアテスト支援装置１を起動する（ステップＡ４）。ソフトウェアテスト支援装置１は、画面記録再生フォームをユーザ端末６に送信して表示させる（ステップＡ５）。テスト準備者が画面記録再生フォームの表示ボタン５２を押下すると（ステップＡ６）、ソフトウェアテスト支援装置１は、テスト対象アプリケーション３から現在表示中の入力フォームの画像情報を取得して（ステップＡ７）、ユーザ端末６に送信し、画面記録再生フォームの表示領域５３に画像情報を表示させる（ステップＡ８）。
【００３８】
テスト準備者が画面記録再生フォームの記録ボタン５５を押下すると（ステップＡ９）、ソフトウェアテスト支援装置１は、テスト対象アプリケーション３から入力フォームのコントロール情報を取得し（ステップＡ１０）、コントロール情報から画面記録情報を生成する（ステップＡ１１）。ソフトウェアテスト支援装置１は、画面記録情報と画像情報とを対応付けて、画面情報として記憶する（ステップＡ１２）。画面記録情報と画像情報との対応付けは、たとえば、拡張子以外のファイル名を同一にする。
【００３９】
テスト準備者は、入力フォームへのデータ入力、画面記録再生フォームの表示ボタン５２の押下、記録ボタン５５の押下を繰り返す。これにより、ソフトウェアテスト支援装置１に、画像情報が記録され、蓄積される。テスト準備者は、ソフトウェアテストの準備が終了すると、ユーザ端末６に終了指示を入力し、テスト対象アプリケーション３およびソフトウェアテスト支援装置１を終了させる（ステップＡ１３、ステップＡ１４）。なお、テスト準備者は、テスト実行者であってもよく、ソフトウェアテストを行いながら、画面記録を実行してもよい。
【００４０】
図７は、実施の形態に係る画面再生の流れを説明する図である。テスト実行者は、ユーザ端末６に起動指示を入力し、テスト対象アプリケーション３を起動する（ステップＢ１）。テスト対象アプリケーション３は、入力フォームをユーザ端末６に送信して表示させる（ステップＢ２）。
【００４１】
次に、テスト実行者は、ユーザ端末６に起動指示を入力し、ソフトウェアテスト支援装置１を起動する（ステップＢ３）。ソフトウェアテスト支援装置１は、画面記録再生フォームをユーザ端末６に送信して表示させる（ステップＢ４）。ソフトウェアテスト支援装置１は、現在起動しているテスト対象アプリケーション３を特定し、その画面情報を呼び出す（ステップＢ５）。そして、ソフトウェアテスト支援装置１は、画面情報に含まれる画像情報から生成したサムネイルをユーザ端末６に送信し、画面記録再生フォームの表示領域５７にサムネイルの一覧を表示させる（ステップＢ６）。
【００４２】
テスト実行者が画面記録再生フォームの表示領域５７に表示されたサムネイルを選択し（ステップＢ７）、再生ボタン５６を押下すると（ステップＢ８）、ソフトウェアテスト支援装置１は、該サムネイルに対応する画面記録情報を入力フォームに反映させる（ステップＢ９）。テスト対象アプリケーション３は、画面記録情報を反映させた入力フォームをユーザ端末６に送信して表示させる（ステップＢ１０）。
【００４３】
テスト実行者は、画面記録再生フォームの表示領域５７に表示されたサムネイルの選択、再生ボタン５６の押下を繰り返す。これにより、テスト実行者が入力フォームに入力したいデータが逐次反映される。テスト実行者は、入力フォームに入力したいデータがサムネイルの一覧に存在しない場合は、入力フォームにデータ入力を行う。テスト実行者は、ソフトウェアテストが終了すると、ユーザ端末６に終了指示を入力し、テスト対象アプリケーション３およびソフトウェアテスト支援装置１を終了させる（ステップＢ１１、ステップＢ１２）。
【００４４】
図８は、実施の形態に係るソフトウェアテスト支援装置の画面記録処理の動作の一例を示すフローチャートである。ソフトウェアテスト支援装置１が起動すると、画面送信部１４は、画面情報記憶部１３から画面記録再生フォームを示す情報を取得し、ユーザ端末６に送信する（ステップＳ１１）。入力情報受信部１１は、表示ボタン５２の押下を示す入力情報を受信しない場合（ステップＳ１２；ＮＯ）、ステップＳ１２を繰り返す。入力情報受信部１１が表示ボタン５２の押下を示す入力情報を受信すると（ステップＳ１２；ＹＥＳ）、画面情報取得部１２は、テスト対象アプリケーション３から現在表示中の入力フォームの画像情報を取得する（ステップＳ１３）。画面送信部１４は、入力フォームの画像情報をユーザ端末６に送信する（ステップＳ１４）。
【００４５】
入力情報受信部１１は、記録ボタン５５の押下を示す入力情報を受信しない場合（ステップＳ１５；ＮＯ）、ステップＳ１５を繰り返す。入力情報受信部１１が記録ボタン５５の押下を示す入力情報を受信すると（ステップＳ１５；ＹＥＳ）、画面情報取得部１２は、画面記録情報生成処理を実行し（ステップＳ１６）、画面記録情報を生成する。画面情報取得部１２は、入力フォームの画像情報と画面記録情報とを対応付けて画面情報として画面情報記憶部１３に記録し（ステップＳ１７）、処理を終了する。
【００４６】
ここで、図８のステップＳ１６に定義された画面記録情報生成処理について説明する。
【００４７】
図９は、実施の形態に係るソフトウェアテスト支援装置の画面記録情報生成処理の動作の一例を示すフローチャートである。まず、画像情報取得部１２は、テスト対象アプリケーション３から現在表示中の入力フォームのコントロール情報を取得する（ステップＳ２１）。画像情報取得部１２は、テスト対象アプリケーション３のアプリケーション名４０１と、入力フォームの画面名４０２とを保存する（ステップＳ２２）。なお、前述のように、テスト対象アプリケーション３が１つの場合は、アプリケーション名４０１はなくてもよいし、入力フォームが１つの場合は、画面名４０２はなくてもよい。
【００４８】
画像情報取得部１２は、コントロール情報に含まれる全てのコントロールについて、ステップＳ２４〜ステップＳ３１を繰り返す（ステップＳ２３）。画像情報取得部１２は、着目するコントロールが、テキストボックスであるか否かを判定する（ステップＳ２４）。テキストボックスでなかった場合（ステップＳ２４；ＮＯ）、ステップＳ２６を実行する。テキストボックスであった場合（ステップＳ２４；ＹＥＳ）、コントロール名４０３とコントロールの種類名４０４（テキストボックス）と入力値４０５（テキスト値）とを保存する。（ステップＳ２５）。
【００４９】
画像情報取得部１２は、着目するコントロールが、コンボボックスであるか否かを判定する（ステップＳ２６）。コンボボックスでなかった場合（ステップＳ２６；ＮＯ）、ステップＳ２８を実行する。コンボボックスであった場合（ステップＳ２６；ＹＥＳ）、コントロール名４０３とコントロールの種類名４０４（コンボボックス）と入力値４０５（選択値）とを保存する。（ステップＳ２７）。
【００５０】
画像情報取得部１２は、着目するコントロールが、ラジオボタンであるか否かを判定する（ステップＳ２８）。ラジオボタンでなかった場合（ステップＳ２８；ＮＯ）、ステップＳ３０を実行する。ラジオボタンであった場合（ステップＳ２８；ＹＥＳ）、コントロール名４０３とコントロールの種類名４０４（ラジオボタン）と入力値４０５（選択値）とを保存する。（ステップＳ２９）。
【００５１】
画像情報取得部１２は、着目するコントロールが、チェックボックスであるか否かを判定する（ステップＳ３０）。チェックボックスでなかった場合（ステップＳ３０；ＮＯ）、ステップＳ２４に戻り、次のコントロールについてステップＳ２４〜ステップＳ３１を繰り返す。チェックボックスであった場合（ステップＳ３０；ＹＥＳ）、コントロール名４０３とコントロールの種類名４０４（チェックボックス）と入力値４０５（選択値）とを保存し（ステップＳ３１）、ステップＳ２４に戻り、次のコントロールについてステップＳ２４〜ステップＳ３１を繰り返す。画像情報取得部１２は、すべてのコントロールについて、ステップＳ２４〜ステップＳ３１の処理を実行すると、処理を終了する。
【００５２】
図１０は、実施の形態に係るソフトウェアテスト支援装置の画面再生処理の動作の一例を示すフローチャートである。ソフトウェアテスト支援装置１が起動すると、画面送信部１４は、画面情報記憶部１３から画面記録再生フォームを示す情報を取得し、ユーザ端末６に送信する（ステップＳ４１）。画面送信部１４は、現在起動しているテスト対象アプリケーション３の画面情報を画面情報記憶部１３から呼び出し（ステップＳ４２）、画面情報に含まれる画像情報からサムネイルを生成する（ステップＳ４３）。画面送信部１４は、サムネイルの一覧を示す情報をユーザ端末６に送信する（ステップＳ４４）。
【００５３】
画面反映部１５は、入力情報受信部１１が選択されたサムネイルを示す情報と、再生ボタン５６の押下とを示す入力情報を受信しない場合（ステップＳ４５；ＮＯ）、ステップＳ４５を繰り返す。入力情報受信部１１が選択されたたサムネイルを示す情報と、再生ボタン５６の押下とを示す入力情報を受信すると（ステップＳ４５；ＹＥＳ）、画面反映部１５は、画面記録情報反映処理を実行し（ステップＳ４６）、選択されたサムネイルに対応する画面記録情報を入力フォームに反映し、処理を終了する。
【００５４】
ここで、図１０のステップＳ４６に定義された画面記録情報反映処理について説明する。
【００５５】
図１１は、実施の形態に係るソフトウェアテスト支援装置の画面記録情報反映処理の動作の一例を示すフローチャートである。まず、画面反映部１５は、選択されたサムネイルに対応する画面記録情報のテスト対象アプリケーション３のアプリケーション名４０１と、入力フォームの画面名４０２から、テスト対象アプリケーション３とその入力フォームを特定する。前述のように、テスト対象アプリケーション３および入力フォームが１つの場合は、この特定処理は不要である。
【００５６】
画面反映部１５は、テスト対象アプリケーション３から入力フォームのフォーマットのコントロール情報（入力データなし）を取得する（ステップＳ５１）。画面反映部１５は、コントロール情報に含まれる全てのコントロールについて、ステップＳ５３およびステップＳ５４を繰り返す（ステップＳ５２）。
【００５７】
画面反映部１５は、着目するコントロールと一致するコントロール名が画面記録情報の中になかった場合（ステップＳ５３；ＮＯ）、ステップＳ５３に戻り、次のコントロールについてステップＳ５３およびステップＳ５４を繰り返す。着目するコントロールと一致するコントロール名が画面記録情報の中にあった場合（ステップＳ５３；ＹＥＳ）、画面記録情報内の一致したコントロール名に対応付けられた入力値をコントロール情報の該コントロールの入力値に設定し（ステップＳ５４）、ステップＳ５３に戻り、次のコントロールについてステップＳ５３およびステップＳ５４を繰り返す。なお、画面記録情報にコントロールの種類名４０４が含まれる場合には、ステップＳ５３の前に、着目するコントロールとコントロールの種類名が一致するか否かの判定を行って絞り込んでもよい。
【００５８】
画面反映部１５は、すべてのコントロールについて、ステップＳ５３およびステップＳ５４の処理を実行すると、入力値を設定したコントロール情報をテスト対象アプリケーション３に送信し（ステップＳ５５）、処理を終了する。テスト対象アプリケーション３は、受信したコントロール情報をユーザ端末６に送信し、入力値を入力フォームに反映させる。
【００５９】
なお、画面反映部１５は、画面記録情報内の一致したコントロール名に対応付けられた入力値を一致したコントロール名とともにテスト対象アプリケーション３に送信し、テスト対象アプリケーション３が画面反映部１５から受信した入力値をコントロール情報の該コントロールの入力値に設定してもよい。
【００６０】
以上説明したように実施の形態のソフトウェアテスト支援システム１００によれば、入力操作を記録・再生する場合の入力操作の記録データの修正作業および再記録作業の省力化することができ、効率の向上が期待できる。
【００６１】
本実施の形態では、テスト準備者は、データ入力後に画像情報を確認してから記録するので、入力の誤りに気づいた場合に、修正してから記録すればよい。また、テスト実行者も、記録された入力フォームをサムネイル（または、画像情報）で確認してから選択して再生するので、入力の誤りがある入力フォームを目視で排除することができる。したがって、テスト準備者は、記録後に入力の誤りに気づいても、記録された操作履歴のデータを修正したり、誤って記録された操作履歴を削除して再記録したりする作業をしなくてもよい。
【００６２】
上述の実施の形態では、テスト実行者が画面記録再生フォームの表示領域５７に表示された記録済みの入力フォームのサムネイルの一覧を閲覧する。しかし、これに限らず、テスト準備者がソフトウェアテストの準備を終えた後、記録済みの入力フォームのサムネイルの一覧を表示領域５７に表示させて、閲覧してもよい。また、このとき、入力の誤りがある記録済みの入力フォームなど、テスト準備者が削除したい画面情報がある場合には、そのサムネイルを選択可能にし、選択したサムネイルに対応する画面情報を削除する指示をソフトウェアテスト支援装置１に送信する削除ボタンを画面記録再生フォームに設けるとよい。この場合、ソフトウェアテスト支援装置１の入力情報受信部１１が、選択されたサムネイルと削除ボタンの押下とを示す入力情報を受け取ると、画面情報取得部１２は、該サムネイルに対応する画面情報を画面情報記憶部１３から削除する。
【００６３】
また、本実施の形態では、本発明をソフトウェアテストに適用した。しかし、これに限らず、アプリケーションの入力画面へのデータ入力の繰り返しが必要な作業であれば、本発明を適用することができる。
【００６４】
図１２は、本発明の実施の形態に係るサーバのハードウェア構成の一例を示すブロック図である。サーバ２は、図１２に示すように、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７を備える。主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７はいずれも内部バス３０を介して制御部３１に接続されている。
【００６５】
制御部３１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部３３に記憶されている制御プログラム３９に従って、テスト対象アプリケーション３と、ソフトウェアテスト支援装置１の画面情報取得部１２、画面送信部１４および画面反映部１５の各処理を実行する。
【００６６】
主記憶部３２はＲＡＭ（Random-Access Memory）等から構成され、外部記憶部３３に記憶されている制御プログラム３９をロードし、制御部３１の作業領域として用いられる。
【００６７】
外部記憶部３３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、テスト対象アプリケーション３およびソフトウェアテスト支援装置１の処理を制御部３１に行わせるためのプログラムをあらかじめ記憶し、また、制御部３１の指示に従って、このプログラムが記憶するデータを制御部３１に供給し、制御部３１から供給されたデータを記憶する。画面情報記憶部１３は、外部記憶部３３に構成される。
【００６８】
操作部３４はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス３０に接続するインタフェース装置から構成されている。テスト準備者およびテスト実行者がサーバ２に直接情報を入力する場合は、操作部３４を介して、入力された情報が制御部３１に供給される。図１のユーザ端末６がサーバ２に含まれる構成では、操作部３４が入力部６１の場合がある。
【００６９】
表示部３５は、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などから構成され、テスト準備者およびテスト実行者がサーバ２に直接情報を入力する場合は、操作画面を表示する。図１のユーザ端末６がサーバ２に含まれる構成では、表示部３５が出力部６２の場合がある。
【００７０】
入出力部３６は、シリアルインタフェースまたはパラレルインタフェースから構成されている。入出力部３６は、ユーザ端末６がサーバ２に附属する装置の場合は、それと接続する。
【００７１】
送受信部３７は、ネットワークに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはＬＡＮ（Local Area Network）インタフェースから構成されている。送受信部３７は、ネットワークを介して、ユーザ端末６に接続する。送受信部３７は、テスト対象アプリケーション３と、ソフトウェアテスト支援装置１の入力情報受信部１１および画面送信部１４として機能する。
【００７２】
図１に示すソフトウェアテスト支援装置１の入力情報受信部１１、画面情報取得部１２、画面情報記憶部１３、画面送信部１４および画面反映部１５の処理は、制御プログラム３９が、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７などを資源として用いて処理することによって実行する。
【００７３】
その他、前記のハードウェア構成やフローチャートは一例であり、任意に変更および修正が可能である。
【００７４】
制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６、送受信部３７、内部バス３０などから構成されるソフトウェアテスト支援装置１の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するソフトウェアテスト支援装置１を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでソフトウェアテスト支援装置１を構成してもよい。
【００７５】
また、ソフトウェアテスト支援装置１の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００７６】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板（BBS, Bulletin Board System）に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【符号の説明】
【００７７】
１  ソフトウェアテスト支援装置
２  サーバ
３  テスト対象アプリケーション
６  ユーザ端末
１１  入力情報受信部
１２  画面情報取得部
１３  画面情報記憶部
１４  画面送信部
１５  画面反映部
３１  制御部
３２  主記憶部
３３  外部記憶部
３４  操作部
３５  表示部
３６  入出力部
３７  送受信部
３９  制御プログラム
４１  画面名
４２  ラベル
４３  テキストボックス
４４  コンボボックス
４５  ラジオボタン
４６  チェックボックス
５１  画面名
５２  表示ボタン
５３  表示領域
５４  アプリケーション名
５５  記録ボタン
５６  再生ボタン
５７  表示領域
６１  入力部
６２  出力部
１００  ソフトウェアテスト支援システム
４０１  アプリケーション名
４０２  画面名
４０３  コントロール名
４０４  種類名
４０５  入力値
【図１】
2013137712.tif 000003
【図２】
2013137712.tif 000004
【図３】
2013137712.tif 000005
【図４】
2013137712.tif 000006
【図５】
2013137712.tif 000007
【図６】
2013137712.tif 000008
【図７】
2013137712.tif 000009
【図８】
2013137712.tif 000010
【図９】
2013137712.tif 000011
【図１０】
2013137712.tif 000012
【図１１】
2013137712.tif 000013
【図１２】
2013137712.tif 000014