(57)【特許請求の範囲】
【請求項１】
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶部と、
前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶部と、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込部と、
前記評価対象記憶部と前記評価内容記憶部を読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示部と、
前記表示部に表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力部と、
評価手順に沿って前記第１評価対象識別情報と前記選択入力部によって入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義部と、
を備えることを特徴とするソフトウェア試験装置。
【請求項２】
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶部と、
前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶部と、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込部と、
前記評価対象記憶部と前記評価内容記憶部を読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義部と、
を備え、
前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、
前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、
前記手順定義部は、
前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入することを特徴とするソフトウェア試験装置。
【請求項３】
前記評価対象識別情報には、プログラム部品の種別を示す部品種別情報と当該プログラム部品に対して予め定められた名前を示す情報とが含まれることを特徴とする請求項１又は請求項２に記載のソフトウェア試験装置。
【請求項４】
前記手順定義部は、画面をキャプチャするプログラム言語を、前記評価手順に挿入することを特徴とする請求項１から請求項３のいずれか一項に記載のソフトウェア試験装置。
【請求項５】
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、
前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、
前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示ステップと、
前記表示ステップにおいて表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力ステップと、
評価手順に沿って前記第１評価対象識別情報と前記選択入力ステップにおいて入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、
を有することを特徴とするソフトウェア試験方法。
【請求項６】
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、
前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、
前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、
を有し、
前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、
前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、
前記手順定義ステップにおいて、
前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入する
ことを特徴とするソフトウェア試験方法。
【請求項７】
コンピュータに、
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、
前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、
前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示ステップと、
前記表示ステップにおいて表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力ステップと、
評価手順に沿って前記第１評価対象識別情報と前記選択入力ステップにおいて入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、
を実行させるためのソフトウェア試験用プログラム。
【請求項８】
コンピュータに、
評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、
前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、
前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、
評価対象記憶ステップと前記評価内容記憶ステップを読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、
を実行させるためのソフトウェア試験用プログラムであって、
前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、
前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、
前記手順定義ステップにおいて、
前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、
前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入する
ことを特徴とするソフトウェア試験用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラムに関する。
【背景技術】
【０００２】
従来、ソフトウェア開発において、ソフトウェア試験の自動化用の試験シナリオ（スクリプト）は、設計工程、製造工程、及び試験工程の各工程のうち、試験工程に入った段階で作成される。試験スクリプトは、プログラミングによって作成されるか、従来の一般的なソフトウェア試験方式であるキャプチャ＆リプレイ方式によって作成される。試験スクリプトは、従来、試験工程、すなわち、実際に試験対象のソフトウェアが製造されたタイミングで、製造されたソフトウェアの実行画面を読み取る（キャプチャする）ことによって、作成される。
特許文献１に記載の発明では、ソフトウェア自動試験装置は、自動操作プログラムにより試験対象のアプリケーションプログラムを自動操作しながら、これと並行して該アプリケーションプログラムの操作画面の更新の有無をスクリーンキャプチャプログラムにより監視する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１０８７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
キャプチャ＆リプレイ方式によるソフトウェア試験では、製造されたソフトウェアの実行画面を読み取ることによって、ソフトウェアが実装した通りに動作するかについての確認はできるが、その実装が本来、当初より設計していたソフトウェア仕様に即しているかについての確認はできない場合がある。また、プログラミングによって試験スクリプトを作成する方式では、ソフトウェアの自動化試験のテストケースを作成する作業者が、プログラミングスキル、及び自動実行エンジンのコマンドの知識を有していることが求められる。また、従来のソフトウェア試験方式では、試験項目に付随する項目、すなわち、本来設計したソフトウェアとして実現したいことに付随して、コマンドを実行するタイミングの調整や、試験の実施内容の証跡を残すための画面キャプチャ取得、及び応答時間測定等の手順を作成するために、作業者が専門の高度なスキルを有していることが求められる。したがって、作業者が有するスキルレベルによって、作成された試験スクリプトの品質にバラつきが生じ得る。
【０００５】
本発明は上記の点に鑑みてなされたものであり、ソフトウェア試験自動化用の試験シナリオを、ソフトウェアが製造される前の設計段階から、自然言語によって作成できるようにすることができるソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラムを提供する。また、設計書を元に試験シナリオを作成することで、当初より設計した仕様の通りに製造されているかを試験することができ、また、作業者のスキルに依存しない均一な品質で試験スクリプトを作成することができるソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラムを提供する。
【課題を解決するための手段】
【０００６】
（１）本発明は上記の課題を解決するためになされたものであり、本発明の一態様としては、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶部と、前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶部と、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込部と、前記評価対象記憶部と前記評価内容記憶部を読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示部と、前記表示部に表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力部と、評価手順に沿って前記第１評価対象識別情報と前記選択入力部によって入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義部と、を備えることを特徴とするソフトウェア試験装置である。
【０００７】
（２）また、本発明の一態様としては、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶部と、前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶部と、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込部と、前記評価対象記憶部と前記評価内容記憶部を読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義部と、を備え、前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、前記手順定義部は、前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入することを特徴とするソフトウェア試験装置である。
【０００８】
（３）また、本発明の一態様としては、前記評価対象識別情報には、プログラム部品の種別を示す部品種別情報と当該プログラム部品に対して予め定められた名前を示す情報とが含まれることを特徴とする（１）又は（２）に記載のソフトウェア試験装置である。
【０００９】
（４）また、本発明の一態様としては、前記手順定義部は、画面をキャプチャするプログラム言語を、前記評価手順に挿入することを特徴とする（１）から（３）のいずれか一項に記載のソフトウェア試験装置である。
【００１０】
（５）また、本発明の一態様としては、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示ステップと、前記表示ステップにおいて表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力ステップと、評価手順に沿って前記第１評価対象識別情報と前記選択入力ステップにおいて入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、を有することを特徴とするソフトウェア試験方法である。
【００１１】
（６）また、本発明の一態様としては、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、を有し、前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、前記手順定義ステップにおいて、前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入することを特徴とするソフトウェア試験方法である。
（７）また、本発明の一態様としては、コンピュータに、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、前記評価対象に対する複数の操作内容情報のそれぞれについて、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、前記評価対象記憶ステップと前記評価内容記憶ステップを読み出し、前記評価対象に対応する複数の前記第１操作内容情報を表示する表示ステップと、前記表示ステップにおいて表示された複数の前記第１操作内容情報から前記第１操作内容情報を選択するユーザ入力を受け付ける選択入力ステップと、評価手順に沿って前記第１評価対象識別情報と前記選択入力ステップにおいて入力された前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、を実行させるためのソフトウェア試験用プログラムである。
（８）また、本発明の一態様としては、コンピュータに、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて記憶する評価対象記憶ステップと、前記評価対象に対する操作内容情報について、前記第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて記憶する評価内容記憶ステップと、前記第１評価対象識別情報と前記第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込む読込ステップと、評価対象記憶ステップと前記評価内容記憶ステップを読み出し、評価手順に沿って前記第１評価対象識別情報と前記第１操作内容情報を、前記評価手順に沿った前記第２評価対象識別情報と前記第２操作内容情報に変換する手順定義ステップと、を実行させるためのソフトウェア試験用プログラムであって、前記操作内容情報には、ウインドウを新たに開くウインドウ生成操作を示す情報が含まれ、前記評価対象には、前記ウインドウ生成操作によって開かれたウインドウ内の前記評価対象が含まれ、前記手順定義ステップにおいて、前記ウインドウ生成操作の前に、開いているウインドウを識別する操作前ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記ウインドウ生成操作の後に、開いているウインドウを識別する操作後ウインドウ識別情報を取得するウインドウ情報取得操作を挿入し、前記操作後ウインドウ識別情報に存在して、前記操作前ウインドウ識別情報に存在しないウインドウ識別情報を、前記ウインドウ生成操作によって開かれたウインドウを示すウインドウ識別情報として設定するプログラムを挿入することを特徴とするソフトウェア試験用プログラムである。
【発明の効果】
【００１２】
本発明によれば、ソフトウェア試験自動化用の試験シナリオを、自然言語によって作成することができる。また、代表的な試験実行命令を、プルダウン形式の自然言語で提供することで、シナリオ作成者（作業者）のプログラミングスキルに依存せず、試験スクリプトの品質を保つことができる。
また、試験スクリプトを自動で生成することで、試験スクリプトのプログラミングミスを防止することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係るソフトウェア試験装置１の構成の一例を示すブロック図である。
【図２】本発明の実施形態に係るソフトウェア試験装置１のリスト記憶部１３３が記憶する試験項目リストの一例を示す概略図である。
【図３】本発明の実施形態に係るソフトウェア試験装置１の手順定義部１３２によるソフトウェア試験手順の定義の一例を示す概略図である。
【図４】本発明の実施形態に係るソフトウェア試験装置１の手順定義画面の一例を示す概略図である。
【図５】本発明の実施形態に係るソフトウェア試験装置１の手順定義画面の一例を示す概略図である。
【図６】本発明の実施形態に係るソフトウェア試験装置１のＤＢアクセス情報設定画面ｐｐ０１の一例を示す概略図である。
【図７】本発明の実施形態に係るソフトウェア試験装置１の比較カラム情報設定画面ｐｐ０２の一例を示す概略図である。
【図８】本発明の実施形態に係るソフトウェア試験装置１の手順定義部１３２によるソフトウェア試験手順の定義の一例を示す概略図である。
【図９】本発明の実施形態に係るソフトウェア試験装置１のテストケース生成部１３４が生成するテストケースの一例を示す概略図である。
【図１０】本発明の実施形態に係るソフトウェア試験装置１のスクリプト実行部１４２が生成する画面項目検証画面の一例を示す概略図である。
【図１１】本発明の実施形態に係るソフトウェア試験装置１のスクリプト実行部１４２による試験スクリプト実行の流れの一例を示す概略図である。
【図１２】本発明の実施形態に係るソフトウェア試験装置１の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら説明する。
（実施形態）
まず始めに、本発明の実施形態に係るソフトウェア試験装置１の概要を説明する。
図１は、本発明の実施形態に係るソフトウェア試験装置１の構成の一例を示すブロック図である。
【００１５】
実施形態に係るソフトウェア試験装置１は、ソフトウェア試験を自動化するため、試験シナリオ（試験スクリプト）を作成する装置である。また、ソフトウェア試験装置１は、作成した試験シナリオ（試験スクリプト）に従って、ソフトウェア試験を自動実行し、試験結果を出力する装置である。
なお、ソフトウェア試験とは、ソフトウェアが当初の設計どおりに作られているか否か、及びソフトウェアが正常に動作や表示をするか否か、を確認するための試験である。
実施形態に係るソフトウェア試験装置１は、ソースコード解析部１１と、画面仕様書生成部１２と、手順書作成部１３と、自動実行部１４と、バッチファイル１５とを含んで構成される。
【００１６】
ソースコード解析部１１は、ソフトウェア試験の対象であるソフトウェアによってブラウザに表示される画面のソースコードを読み込む。例えば、ソースコードは、ＨＴＭＬ形式で記述される。ソースコード解析部１１は、読み込んだソースコードを解析して、画面を構成する画面構成部品を特定し、特定した各画面構成部品についてソフトウェア試験に必要な情報を抽出する。例えば、ソフトウェア試験に必要な情報とは、各画面構成部品の「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等である。例えば、ソースコード上に、「ＩＤ属性」が存在しない場合は、「ＸＰａｔｈ」情報を代替情報としてソースコードから抽出する。
ソースコード解析部１１は、抽出したソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）を、画面仕様書生成部１２へ出力する。
【００１７】
なお、「項目名」とは、画面構成部品に対し自然言語等によって名付けられた任意の名称である。「ＩＤ属性」とは、画面構成部品を一意に特定するための識別子である。例えば、ＨＴＭＬ形式で記述されたソースコードにおいては、画面構成部品を示す「ｉｎｐｕｔ」や「ｓｅｌｅｃｔ」等のタグに付与する「ｉｄ＝“ＩＤ名”」という記述である。「部品種別」とは、画面構成部品の種類を示す。例えば、「部品種別」は「ボタン」や「テキストボックス」等である。「画面ＩＤ」とは、試験対象の画面構成部品が存在する画面を特定するための識別子である。「ＸＰａｔｈ」は、ＨＴＭＬソースコード上のタグの場所を相対位置で表した情報である。
【００１８】
画面仕様書生成部１２は、画面設計書を読み込む。画面仕様書生成部１２は、読み込んだ画面設計書からソフトウェア試験に必要な情報（例えば、各画面構成部品の「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）を抽出する。
また、画面仕様書生成部１２は、ソースコード解析部からソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）の一覧を取得する。
【００１９】
なお、基本的には、画面設計書の中に必要な情報、すなわち、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」が含まれている場合は、画面仕様書生成部１２は画面設計書を読み込む。また、画面設計書の中に必要な情報が含まれていない、または、画面仕様書が存在しない場合は、画面仕様書生成部１２は、ソースコード解析部１１から「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」の一覧を取得する。
【００２０】
画面仕様書生成部１２は、様々な様式の設計書、及び様々な画面ソースコード解析結果を、手順書作成部１３が読み込むことができる記述形式に変換する。
画面仕様書生成部１２は、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」の一覧を、手順書作成部１３での読み込みが可能な画面仕様書として出力する。
【００２１】
手順書作成部１３は、画面仕様書生成部１２から、ソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）の一覧をユーザ任意のタイミングで取得する。
手順書作成部１３は、「部品種別」と「実行／検証内容」とが対応付けられたリストである試験項目リストを記憶している。「実行／検証内容」とは、ソフトウェアの動作や表示などを示す項目である。例えば、「実行／検証内容」とは、「クリックする」、または「値を選択する」、または「値を設定する」などである。
手順書作成部１３は、取得した「項目名」とともに、取得した「部品種別」に対応付けられた「実行／検証内容」のリストを、ユーザに提示する。手順書作成部１３は、「項目名」毎に「実行／検証内容」をユーザに選択させる。また、例えば「値を設定する」というような「実行／検証内容」については、必要に応じて、ユーザに値を設定させる。
以上により、手順書作成部１３は、「項目名」毎に「実行／検証内容」が指定されたソフトウェア試験手順書を作成する。
【００２２】
ソフトウェア試験手順書が作成された後、ユーザから手順書作成部１３へ、テストケースを出力する指示がなされ得る。テストケースを出力する指示がなされた場合、手順書作成部１３は、ソフトウェア試験手順書に、以下のようなコマンドを生成することによってテストケースを生成する。
手順書作成部１３は、作成した手順書の中の、選択された「実行／検証内容」と「部品種別」との組み合わせに基づいて、その組み合わせに付随して必要となるコマンドを抽出する。コマンドは、予め手順書作成部１３の中に記憶されている。例えば、コマンドは、試験対象のソフトウェアを操作する操作コマンドだけでなく、その操作コマンドに付随して、試験スクリプトを正常に動作させるために必要となるコマンドを実行するためのタイミングを指定すること、または、試験の証跡を残すために必要な画面キャプチャを取ること、等を命令することを示す記述である。手順書作成部１３は、抽出したコマンドを、対応する「実行／検証内容」に合わせて、一連の検証内容をテストケースに追記する。
手順書作成部１３は、生成したテストケースをバッチファイル１５として、出力する。ユーザは、テストケースのバッチファイル１５を実行することで、自動実行部１４へ入力する。
手順書作成部１３からテストケースのバッチファイル１５を出力することで、ユーザは、任意のタイミング、任意の回数、テストケースの実行が可能となる。このように、手順書作成部１３は、生成したテストケースをバッチファイルとして作成しておくため、同一の試験を再度実施するような場合にも、ユーザは再度ソフトウェア試験手順書を作成する必要がない。したがって、ソフトウェア試験の実施効率が向上する。
【００２３】
自動実行部１４は、ユーザによってバッチファイル１５が実行されることによって、起動する。または、バッチファイル１５がタスクマネージャー等に登録されることによって起動する。自動実行部１４は、起動すると、手順書作成部１３から出力されたテストケースを取得する。自動実行部１４は、取得したテストケースを実行する。テストケースが実行されることによって、ソフトウェア試験がなされる。
ソフトウェア試験が終了すると、自動実行部１４は、結果ファイルと画面キャプチャとを出力する。
【００２４】
以上、本発明の実施形態に係るソフトウェア試験装置１の概要を説明した。
以下、ソフトウェア試験装置１の機能構成毎に、詳細に説明する。
【００２５】
（手順書作成部の構成）
以下に、本発明の実施形態に係るソフトウェア試験装置１の手順書作成部１３の構成について説明する。
図１に図示するように、ソフトウェア試験装置１の手順書作成部１３は、画面仕様書読込部１３１と、手順定義部１３２と、リスト記憶部１３３と、テストケース生成部１３４と、によって構成される。
【００２６】
画面仕様書読込部１３１は、画面仕様書生成部１２より出力された、画面仕様書を取得する。画面仕様書読込部１３１は、取得した画面仕様書から画面構成部品毎の「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」を抽出する。画面仕様書読込部１３１は、抽出した画面構成部品毎のソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）を手順定義部１３２へ出力する。
【００２７】
リスト記憶部１３３は、「部品種別」と、「実行／検証内容」と、「生成コマンド」とが対応付けられた試験項目リストを予め記憶する。
図２は、本発明の実施形態に係るソフトウェア試験装置１のリスト記憶部１３３が記憶する試験項目リストの一例を示す概略図である。
図２に示す試験項目リストは、「部品種別」と、「生成コマンド」と、複数の「実行／検証内容」とが対応付けられた２次元の表形式のデータである。なお、図２に示す試験項目リストは、試験項目リストの一部分である。試験項目リストは、図２に図示されている行数及び列数以上の行数及び列数が含まれる。しかしながら、説明を簡易にするため、以下の説明においては、試験項目リストのデータは図２に示すものが全てであるものとする。
【００２８】
図２に示す試験項目リストにおいて、例えば、「部品種別」が「ボタン」である列の値が「○」になっている「実行／検証内容」は、「をクリックする（画面ロード無）」及び「をクリックする（画面ロード有）」の２つである。すなわち、ソフトウェアの画面構成部品である「ボタン」に対するソフトウェア試験手順は、２種類存在することを意味する。例えば、ソフトウェア試験の対象である「部品種別」が「ボタン」である場合において、「実行／検証内容」として「をクリックする（画面ロード無）」が選択された場合には、ボタンをクリックしたときのソフトウェアの動作を確認するためのソフトウェア試験手順が定義されたことを意味する。
【００２９】
なお、「画面ロード無」とは、ボタンがクリックされた時に、ソフトウェアが画面の表示を更新する動作を伴なわないことを意味する。なお、「画面ロード有」は、上記の場合とは逆に、ボタンがクリックされた時に、ソフトウェアが画面の表示を更新する動作を伴なうことを意味する。「画面ロード有」と「画面ロード無」とを区別している理由は、画面の表示の更新を伴なう「画面ロード有」の場合には「画面ロード無」の場合と比べて、ボタンがクリックされてから、クリックされた結果が画面に表示されるまでに、より時間を要するためである。「画面ロード有」が定義された場合には、ボタンがクリックされてから、一定の時間を経過した後に、クリックされた結果の確認がなされることが求められる。
【００３０】
再び図１に戻って、本発明の実施形態に係るソフトウェア試験装置１の手順書作成部１３の構成について説明する。
【００３１】
手順定義部１３２は、画面仕様書読込部１３１から「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」の一覧を取得する。手順定義部１３２は、取得した「部品種別」に対応付けられた「実行／検証内容」及び「生成コマンド」のリストをリスト記憶部１３３から取得する。
手順定義部１３２は、ディスプレイ（図示せず）にソフトウェア試験手順を定義するための手順定義画面を表示する。手順定義部１３２は、手順定義画面において、リスト記憶部１３３から取得した「実行／検証内容」のリストを表示する。それにより、ユーザは、各ソフトウェア試験手順毎の「実行／検証内容」を選択し得る。
【００３２】
以下に、手順定義部１３２が行うソフトウェア試験手順の定義について説明する。
図３は、本発明の実施形態に係るソフトウェア試験装置１の手順定義部１３２によるソフトウェア試験手順の定義の一例を示す概略図である。
図３（Ａ）に示すテーブルの各行は、それぞれ１つのソフトウェア試験手順を示す。
ユーザは、この各行の各項目について、値を選択、または値を入力することによって、各ソフトウェア試験手順を定義する。ユーザが各ソフトウェア試験手順を定義することによって、ソフトウェア試験手順書が作成される。
【００３３】
図３（Ａ）の左列の「画面項目定義ｏｒメッセージ」の欄は、手順書作成部１３が、画面設計書から抽出した情報、またはソースコード解析部から取得した情報を構成する「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」に基づいて生成される。
例えば、「●●（ボタン）」は、上記の「項目名」の情報に基づいて生成される。なお、項目名「●●」のソフトウェア画面構成部品の部品種別は「ボタン」である。
【００３４】
図３（Ａ）に図示するように、左列「画面項目定義ｏｒメッセージ」の欄の値が「●●（ボタン）」である行の、中列「実行／検証内容」の欄の値は、「をクリックする（画面ロード無）」である。手順定義部１３２は、「部品種別」が「ボタン」であることに基づいて、リスト記憶部１３３の試験項目リストから、「ボタン」に対応する「実行／検証内容」を取得する。「ボタン」に対応する「実行／検証内容」は、図２に図示するように、「をクリックする（画面ロード無）」または「をクリックする（画面ロード有）」である。
【００３５】
すなわち、図３（Ａ）の「項目定義ｏｒメッセージ」の欄で指定された内容が「●●（ボタン）」であり、その「部品種別」が「ボタン」であることに基づいて、「実行／検証内容」の欄には、「をクリックする（画面ロード無）」と「をクリックする（画面ロード有）」との２種類の選択肢がユーザに提示される。図３（Ａ）は、ユーザが「をクリックする（画面ロード無）」を選択した状態を示す。
【００３６】
また、図３（Ａ）に図示するように、左列「画面項目定義ｏｒメッセージ」の欄の値が「ウインドウＩＤ」である行の、中列「実行／検証内容」の欄の値は、「が次のｗｉｎｄｏｗＩＤ値であること」である。手順定義部１３２は、「ウインドウＩＤ」に対応する「実行／検証内容」を、リスト記憶部１３３の試験項目リストから取得する。手順定義部１３２は、取得した「実行／検証内容」のリストを提示する。そして、図３（Ａ）は、ユーザが「が次のｗｉｎｄｏｗＩＤ値であること」を選択した状態を示す。また、ユーザは「ウインドウＩＤ」に対応する「値」欄に、正しいウインドウ名を入力することができる。すなわち、このソフトウェア試験手順の定義は、ソフトウェア画面構成部品であるウインドウの「ウインドウＩＤ」が、ユーザによって定義された正しいウインドウ名になっているかを確認するためのソフトウェア試験手順の定義であることを示す。なお、本発明の実施形態に係るソフトウェア試験装置１においては、この「ウインドウＩＤ」の項目は任意の入力項目である。入力されなかった場合の動作は後述する。
【００３７】
図３（Ａ）のように、ユーザにより、自然言語（第１言語）によって、ソフトウェア試験手順の定義がなされると、手順定義部１３２は、自然言語による定義を、自動実行部１４が実行可能な記述形式による定義（試験スクリプト）に変換する。なお、図３（Ａ）の例における自然言語（第１言語）による定義とは、例えば、「●●（ボタン）」及び「をクリックする（画面ロード無）」である。すなわち、図３（Ａ）の例における自然言語（第１言語）とは、日本語である。
図３（Ｂ）は、図３（Ａ）に示す自然言語によるソフトウェア試験手順の定義を、試験スクリプトに変換した場合の例を示す図である。
図３（Ｂ）に図示する「ｃｌｉｃｋ，ｉｄ＝ｘｘｘ」は、図３（Ａ）に図示する「●●（ボタン）」及び「をクリックする（画面ロード無）」を、試験スクリプトに変換したものである。
【００３８】
図３（Ｂ）に図示する「ｃｌｉｃｋ，ｉｄ＝ｘｘｘ」の中の「ｃｌｉｃｋ」は、自然言語（第１言語）である「をクリックする（画面ロード無）」がプログラム言語へ変換されたものである。図２の試験項目リストに図示するように、「実行／検証内容」の値が「をクリックする（画面ロード無）」であるときの「生成コマンド」は「ｃｌｉｃｋ」である。なお、例えば、図３の例において、「をクリックする（画面ロード有）」がユーザによって定義されていたならば、「ｃｌｉｃｋＡｎｄＷａｉｔ」に変換される。
【００３９】
図３（Ｂ）に図示する「ｃｌｉｃｋ，ｉｄ＝ｘｘｘ」の中の「ｉｄ＝ｘｘｘ」は、「●●（ボタン）」に紐づく「ＩＤ属性」である。「ＩＤ属性」は、例えばアルファベットによる記述等のコンピュータプログラムが認識可能な記述形式（第２言語）で、ソフトウェアのソースコードの製作者によってソースコード上に定義されたものである。上述したように、手順定義部１３２は、「ＩＤ属性」を、画面仕様書読込部１３１から、「項目名」、「部品種別」、及び「画面ＩＤ」とともに取得する。この「ｉｄ＝ｘｘｘ」の定義によって、ソフトウェア試験の対象のボタンが、ソフトウェアの画面の中のどのボタンなのかが一意に特定される。
【００４０】
また、図３（Ｂ）に図示する「ｓｅｌｅｃｔＷｉｎｄｏｗ，ウインドウ名」は、図３（Ａ）に図示する「ウインドウＩＤ」を、自動実行部１４が実行可能な記述形式による定義に変換したものである。これは、指定したウインドウ名が付けられたウインドウへ、アクティブウインドウを切り替えることを示す試験スクリプトである。なお、アクティブウインドウとは、例えば、パソコンの操作画面内に同時に複数のウインドウを表示できるようなマルチウインドウの環境において、ユーザによる入力や操作の対象となっているウインドウのことである。
【００４１】
手順定義部１３２は、テストケースを出力することを示すユーザからの指示を受け付けると、作成したソフトウェア試験手順書（例えば、図３（Ｂ）に示す試験スクリプトによって構成されるソフトウェア試験手順書）を、自動実行部１４のテストケース生成部１３４へ出力する。
【００４２】
テストケース生成部１３４は、手順定義部１３２から取得したソフトウェア試験手順書に含まれる試験スクリプトに、さらに、次のようなソフトウェア試験手順の定義（コマンド）を付加する。テストケース生成部１３４は、さらに、定義された「項目名」及びその「部品種別」と、定義された「実行／検証内容」との組み合わせに基づいて、その組み合わせに付随して必要となるコマンドを付加する。例えば、組み合わせに付随して必要となる定義とは、各ソフトウェア試験手順を実行するタイミングを指定するコマンド、及び画面キャプチャを取得することを指示するコマンド、等である。なお、一般的なソフトウェア試験においては、正しくソフトウェア試験が行われたことを示すエビデンス（証跡）を残すために、適切なタイミングで画面キャプチャを取得することが求められる。
【００４３】
図３（Ｃ）は、手順定義部１３２によって変換された図３（Ｂ）に示す定義に、テストケース生成部１３４が、さらに、付随して必要となるコマンドを付加した場合の例を示す図である。
【００４４】
図３（Ｃ）に図示するように、テストケース生成部１３４は、まず、「ｃｌｉｃｋ，ｉｄ＝ｘｘｘ」の定義の前に、「ｓｅｌｅｃｔＷｉｎｄｏｗ，＠ｓａｖｅＨａｎｄｌｅ！」というコマンドを付加する。このコマンドは、現在開いているウインドウ情報を取得して、保存することを命令するコマンドである。
【００４５】
また、テストケース生成部１３４は、「ｓｅｌｅｃｔＷｉｎｄｏｗ」の定義に続けて、「＠ａｕｔｏＳｅｌｅｃｔ！，＄ｃｈｉｌｄＷｉｎｄｏｗＩｄ＿００１」というコマンドを付加する。このコマンドを付加したことによって、次に示すようなソフトウェア試験手順の定義に変換される。まず、ウインドウ情報を再取得して、再取得したウインドウ情報と、上記の「ｓｅｌｅｃｔＷｉｎｄｏｗ，＠ｓａｖｅＨａｎｄｌｅ！」のコマンドによって取得したウインドウ情報と、を比較する。比較することによって、新しいウインドウを特定する。次に、検出したウインドウにフォーカスを切り替える。次に、切り替えたウインドウのウインドウ情報を、指定した変数「＄ｃｈｉｌｄＷｉｎｄｏｗＩｄ＿００１」に保持する。
【００４６】
図３（Ｂ）に図示する定義においては、「ｓｅｌｅｃｔＷｉｎｄｏｗ」のあとに「ウインドウ名」を明示的に指定する必要があった。しかしながら、ウインドウ名が不明な場合には、このソフトウェア試験手順の定義を作成することができない。
図３（Ｃ）に図示するように、テストケース生成部１３４は、「ｓｅｌｅｃｔＷｉｎｄｏｗ」の定義に続けて、「＠ａｕｔｏＳｅｌｅｃｔ！，＄ｃｈｉｌｄＷｉｎｄｏｗＩｄ＿００１」というコマンドを付加することによって、切り替えたウインドウの「ウインドウ名」が不明でも、自動的にウインドウ名を取得し、そのウインドウ名を変数に指定する。以上により、本発明の実施形態に係るソフトウェア試験装置１は、切り替えたウインドウの「ウインドウ名」を明示的に指定しなくても、テストケースを実行することができる。
【００４７】
また、テストケース生成部１３４は、「ｃａｐｔｕｒｅＥｎｔｉｒｅＰａｇｅＳｃｒｅｅｎｓｈｏｔ，ｘｘｘｘｘ」というコマンドを付加する。このコマンドは、画面キャプチャを取得することを命令するコマンドである。
以上のように、テストケース生成部１３４は、付随して必要となるコマンドを自動的に付加する。
テストケース生成部１３４は、手順定義部１３２から取得したソフトウェア試験手順書にコマンドを付加することによって生成したテストケースを、自動実行部１４のテストケース読込部１４１へ出力する。
【００４８】
以上、説明したように、本発明の実施形態に係るソフトウェア試験装置１の手順書作成部１３は、自然言語（日本語）で定義されたソフトウェア試験手順の定義と、自動実行部１４が実行可能な記述形式による定義（試験スクリプト）と、を対応付けるデータベースを備える。それによって、ソフトウェア試験装置１の手順書作成部１３は、自然言語（日本語）で定義されたソフトウェア試験手順の定義から、試験スクリプトを生成することができる。
【００４９】
（手順定義画面におけるソフトウェア試験手順の定義）
次に、ユーザがソフトウェア試験手順を定義する際の、手順定義画面について説明する。
図４は、本発明の実施形態に係るソフトウェア試験装置１の手順定義画面の一例を示す概略図である。
図４に示す手順定義画面には、プルダウンメニューｐ０１と、プルダウンメニューｐ０２と、が表示されている。プルダウンメニューとは、ソフトウェアの操作画面において、メニューから項目を選択する方式の一つである。例えば、メニューのタイトル部分にマウスカーソルをあわせてマウスのボタンをクリックすると、そこから選択項目の一覧が引き出されたように垂れ下がってくる表示方法のことである。
【００５０】
図４において、プルダウンメニューｐ０１には、手順定義部１３２が画面仕様書読込部１３１から取得した「項目名」が表示される。ユーザが、プルダウンメニューｐ０１にマウスカーソルを合わせて、マウスのボタンをクリックすると、「項目名」の一覧が引き出されたように垂れ下がって表示される。図４に示すプルダウンメニューｐ０１は、表示された「項目名」一覧の中から、ユーザが「●●（ボタン）」を選択した状態であることを示す。
ユーザが、上記のように「項目名」を選択した後、プルダウンメニューｐ０２にマウスカーソルを合わせて、マウスのボタンをクリックすると、プルダウンメニューｐ０１で選択された「項目名」に対応する「部品種別」に対応付けられた「実行／検証内容」の一覧が引き出されたように垂れ下がって表示される。なお、図４は、この時点における手順定義画面の状態を示したものである。
【００５１】
プルダウンメニューｐ０２に表示される「実行／検証内容」の一覧は、手順定義部１３２が、リスト記憶部１３３から取得するデータに基づいて生成される。
例えば、図４に示すように、プルダウンメニューｐ０１において「●●（ボタン）」がユーザによって選択される。手順定義部１３２は、画面仕様書読込部１３１から取得したソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」等）が紐付られた情報に基づいて、「●●（ボタン）」の「部品種別」が「ボタン」であることを認知する。手順定義部１３２は、「部品種別」が「ボタン」であることに基づいて、「ボタン」に対応する「実行／検証内容」の一覧を、リスト記憶部１３３に記憶された試験項目リストから取得する。
【００５２】
図２に示す試験項目リストにおいて、「部品種別」が「ボタン」である列の値が「○」になっている「実行／検証内容」は、「をクリックする（画面ロード無）」及び「をクリックする（画面ロード有）」の２つである。したがって、手順定義部１３２はこの２つの「実行／検証内容」の情報からなる一覧を取得して、取得した一覧を図４に示すプルダウンメニューｐ０２において表示させる。
【００５３】
以上、説明したように、本発明の実施形態に係るソフトウェア試験装置１の手順定義部１３２は、プルダウンメニューにより選択されたソフトウェア試験の試験項目（「項目名」）に応じて、試験項目に予め対応付けられた命令（「実行／検証内容」）の候補をプルダウンメニューでユーザに選択させる。そして、手順定義部１３２は、選択された命令（「実行／検証内容」）に基づいて、試験スクリプトを生成する。
プルダウンメニューによる選択に基づいて試験スクリプトを生成するため、ソフトウェア試験装置１の手順定義部１３２は、均一的な記述レベルによって品質が確保されたソフトウェア試験手順書、及び試験スクリプトを生成することができる。
【００５４】
（自動実行部の構成）
次に、本発明の実施形態に係るソフトウェア試験装置１の自動実行部１４の構成について説明する。
図１に図示するように、ソフトウェア試験装置１の自動実行部１４は、テストケース読込部１４１と、スクリプト実行部１４２と、コマンド記憶部１４３と、結果出力部１４４と、結果格納部１４５と、によって構成される。
【００５５】
テストケース読込部１４１は、手順書作成部１３のテストケース生成部１３４から、テストケースを取得する。ここで、ユーザによってバッチファイル１５が実行されることにより、テストケースを実行する命令がなされ得る。または、タスクマネージャー等に登録されることによって自動的に実行ファイルが起動することにより、任意のタイミング、任意の回数テストケースを実行する命令がなされ得る。
テストケースを実行する命令がなされた場合、テストケース読込部１４１は、取得したテストケースをスクリプト実行部１４２へ出力する。その場合、テストケース読込部１４１は、テストケースを、所望のブラウザの形式（例えば、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）、ＦｉｒｅＦｏｘ（登録商標）、またはＧｏｏｇｌｅＣｈｒｏｍｅ（登録商標）、等）に合わせた記述へ変換した後、スクリプト実行部１４２へ出力する。
【００５６】
スクリプト実行部１４２は、取得したテストケースに記述された試験スクリプトを順に実行する。
なお、実行する試験スクリプトには、外部サーバへアクセスすることを要する試験スクリプトが含まれる場合がある。例えば、ソフトウェアが、外部サーバが有するデータベースから取得した情報を、自らのソフトウェアの画面に表示させるような処理を含むとき、その取得した情報が正しく表示されるかをチェックするような場合である。このような、外部サーバのデータベースへのアクセスを伴なうテストケースについての説明は、後述する。
なお、スクリプト実行部１４２は、取得したテストケースに記述されていないコマンドを、コマンド記憶部１４３から取得して、テストケースにそのコマンドを追加することもできる。
【００５７】
スクリプト実行部１４２は、テストケースに記述された試験スクリプトの実行が終了すると、すなわち、ソフトウェア試験が終了すると、実行結果を示す結果ファイル、及び画面キャプチャを結果格納部１４５へ出力する。
結果ファイルには、ソフトウェア試験手順毎に、「試験番号」と、「手順実行結果」と、「処理時間」と、「画面キャプチャファイル名」と、「トータルの実行結果」（例えば、時間、手順件数、結果が正常であった件数、及び結果が異常であった件数、等）と、が含まれる。
【００５８】
なお、結果が異常であったソフトウェア試験項目が存在する場合には、結果出力部１４４は、出力する結果ファイルのファイル名に「ＮＧ」等の文言を付与するようにしてもよい。その場合、ユーザは、結果ファイルを開かなくても、結果が異常であったソフトウェア試験項目が存在することを知ることができる。
また、結果ファイル内においても、結果が異常であったソフトウェア試験項目、及びその実行結果を示す文字を、色を変えて（例えば、赤字で）表示するようにしてもよい。その場合、ユーザは、結果ファイルの中で、結果が異常であったソフトウェア試験項目を容易に識別することができる。
【００５９】
（外部サーバのデータベースへのアクセスを伴なうテストケースの実行について）
以下に、外部サーバのデータベースへのアクセスを伴なうテストケースの実行について説明する。
図５は、本発明の実施形態に係るソフトウェア試験装置１の手順定義画面の一例を示す概略図である。
外部サーバのデータベースへアクセスし、その結果を確認するソフトウェア試験を行う場合、ユーザは、例えば図５に図示するような手順定義画面のプルダウンメニューｐ０３によって、「ＤＢアクセス」を選択する。「ＤＢアクセス」が選択されると、図６に示すようなＤＢアクセス情報設定画面ｐｐ０１がポップアップ表示される。なお、ＤＢは、ｄａｔａｂｅｓｅ（データベース）の略である。
【００６０】
図６は、本発明の実施形態に係るソフトウェア試験装置１のＤＢアクセス情報設定画面ｐｐ０１の一例を示す概略図である。
ＤＢアクセス情報設定画面ｐｐ０１において、ユーザは、アクセスする外部サーバ及びデータベースの情報を入力し、アクセス設定をする。設定する項目は、例えば図６に図示するような、「サーバ名」、「ポート番号」、「ＤＢ名」、「ＤＢ接続用ＩＤ」、「（ＤＢ接続用）パスワード」、「ＳＱＬ文」、及び「ＳＱＬ実行に伴う処理内容」等である。例えば、図６においては、それぞれ「１９２．１１１．２２２．３３３」、「９９９９」、「ｔｅｓｔ」、「ｄｂｕｓｅｒ」、「ｕｓｅｒ２０１５」、「ｓｅｌｅｃｔ  ｉｔｅｍ１  ｆｒｏｍ  ｗｈｅｒｅ  ｉｔｅｍｉｄ＝’０１２３４５’」、及び「結果を変数に格納して比較処理を行う。比較する数：１、画面ＩＤ＝１Ｋ１００」と設定されている。
【００６１】
上記の設定の入力がなされ、ＤＢアクセス情報設定画面ｐｐ０１の右下のほうに配置された「ＯＫ」ボタンがクリックされると、図７に示すような比較カラム情報設定画面ｐｐ０２がポップアップ表示される。
【００６２】
図７は、本発明の実施形態に係るソフトウェア試験装置１の比較カラム情報設定画面ｐｐ０２の一例を示す概略図である。
比較カラム情報設定画面ｐｐ０２において、ユーザは、ソフトウェア試験対象の画面を実行することによって画面に表示される結果と、データベースへアクセスすることによって取得する結果とを比較するための設定をする。例えば、図７に図示するように、比較カラム情報設定画面ｐｐ０２において、ユーザは、「カラム名」、「レコード番号」、「比較対象の画面項目定義」、及び「画面項目の比較位置」を設定する。例えば、図７においては、それぞれ「ｉｔｅｍ１」、「１」、「１８＿１８（テキストボックス）」、及び「＄｛ＣＯＭＰ＿ＤＡＴＡ｝」と設定されている。
【００６３】
上記の設定の入力がなされ、比較カラム情報設定画面ｐｐ０２の右下のほうに配置された「ＯＫ」ボタンがクリックされると、ＤＢアクセス情報設定画面ｐｐ０１及び比較カラム情報設定画面ｐｐ０２において入力された設定情報に基づいて、図８に示すようなソフトウェア試験手順の定義（試験スクリプト）が生成される。
【００６４】
図８は、本発明の実施形態に係るソフトウェア試験装置１の手順定義部１３２によるソフトウェア試験手順の定義の一例を示す概略図である。
手順定義部１３２は、テストケースを出力することを示すユーザからの指示を受け付けると、作成したソフトウェア試験手順書（例えば、図８に示すソフトウェア試験手順の定義によって構成されるソフトウェア試験手順書）を、自動実行部１４のテストケース生成部１３４へ出力する。
テストケース生成部１３４は、手順定義部１３２から取得したソフトウェア試験手順の定義に、さらに、コマンドを付加する。それにより、図９に図示するようなテストケースが生成される。
【００６５】
図９は、本発明の実施形態に係るソフトウェア試験装置１のテストケース生成部１３４が生成するテストケースの一例を示す概略図である。
なお、説明を容易にするため、図９に示すテストケースの中の各試験スクリプト（コマンド）の左側に番号を付している。例えば、「１」番の番号が付与された１番目の試験スクリプト（コマンド）は、「ｅｃｈｏ，□ＪＤＢＣ設定（ＰｏｓｔｇｒｅＳＱＬ），，，」である。
図９に示す、１、６、８、１０、１２、１４、及び１６番目の試験スクリプト（コマンド）は、操作をログに出力しソフトウェア試験の実行記録を残すための、テストケース生成部１３４によって付加されたコマンドである。
【００６６】
２、３、４、５、及び７番目の試験スクリプトは、外部サーバのデータベースへ接続するための試験スクリプトである。
２番目の試験スクリプトは、外部サーバのデータベースへの接続に使用するライブラリを指定することを示す。各種のライブラリは、自動実行部１４のコマンド記憶部１４３に予め記憶されている。３番目の試験スクリプトは、外部サーバのデータベースの接続パラメータ（ＵＲＬ）を指定することを示す。４番目の試験スクリプトは、外部サーバのデータベースの接続パラメータ（接続ユーザ名）を指定することを示す。５番目の試験スクリプトは、外部サーバのデータベースの接続パラメータ（パスワード）を指定することを示す。７番目の試験スクリプトは、外部サーバのデータベースへ接続することを示す。
【００６７】
９番目の試験スクリプトは、図６に示すＤＢアクセス情報設定画面ｐｐ０１において指定されたＳＱＬ文に従って、外部サーバのデータベースを検索することを示す。また、９番目の試験スクリプトは、検索結果を取得し、指定された保存名称で保存することを示す。
１１番目の試験スクリプトは、外部サーバのデータベースへ接続を切断することを示す。
１３番目の試験スクリプトは、データベースの検索結果の保存先から、列及び行で指定した特定の位置データを取り出し、変数（＄ＣＯＭＰ＿ＤＡＴＡ）に格納することを示す。
１５番目の試験スクリプトは、変数（＄ＣＯＭＰ＿ＤＡＴＡ）に格納したデータベース情報を表示することを示す。
【００６８】
１７番目の試験スクリプトは、画面項目の内容と、１３番目の試験スクリプトにおいて格納されたデータベース情報とを比較する。例えば、画面項目の内容とは、図１０に図示するような内容である。
図１０は、本発明の実施形態に係るソフトウェア試験装置１のスクリプト実行部１４２が生成する画面項目検証画面の一例を示す概略図である。
【００６９】
以上において説明した試験スクリプトの実行の流れを図１１に示す。
図１１は、本発明の実施形態に係るソフトウェア試験装置１のスクリプト実行部１４２による試験スクリプト実行の流れの一例を示す概略図である。
まず、スクリプト実行部１４２は、外部サーバのデータベースに接続する（ステップｓｔ０１）。次に、スクリプト実行部１４２は、接続した外部サーバのデータベースに対し、検索実行させる命令（例えば、ＳＱＬ文）を送信する（ステップｓｔ０２）。外部サーバのデータベースは、受信した命令に基づいて検索実行をする。外部サーバのデータベースは、検索結果をスクリプト実行部１４２へ送信する（ステップｓｔ０３）。
【００７０】
スクリプト実行部１４２は、受信した検索結果を、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  ｒｅａｄ／ｗｒｉｔｅ  Ｍｅｍｏｒｙ；読み書き可能なメモリ）等の一時記憶領域（図示せず）に保存する（ステップｓｔ０４）。なお、受信した検索結果のデータ量が多い場合等においては、スクリプト実行部１４２は、検索結果のデータを、一時記憶領域にではなく自動実行部１４の外部の記憶装置に保存するようにしてもよい（ステップｓｔ０５）。なお、スクリプト実行部１４２は、検索結果のデータを外部の記憶装置に保存する場合、検索結果のデータをＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ；カンマ区切り）形式のデータに変換してから保存するようにしてもよい。
【００７１】
スクリプト実行部１４２は、保存した検索結果のデータから、指定された特定の位置のデータを取り出し、変数（＄ＣＯＭＰ＿ＤＡＴＡ）へ格納する（ステップｓｔ０７）。図１１に図示するように、例えば、スクリプト実行部１４２は、保存した検索結果のデータから、２行目かつ２列目に位置するデータである「山田」を変数（＄ＣＯＭＰ＿ＤＡＴＡ）へ格納する。
スクリプト実行部１４２は、変数（＄ＣＯＭＰ＿ＤＡＴＡ）に格納したデータである「山田」と、表示された画面項目の内容である「山田」とを比較して、双方のデータが一致していることを確認する。以上により、スクリプト実行部１４２は、ソフトウェア試験対象であるソフトウェアの画面に表示される画面項目の内容が正しいことを検証することができる。
なお、図８及び図９には図示していないが、図５のプルダウンメニューｐ０３において「ＤＢアクセス」選択された場合、試験対象のソフトウェアの画面に上記の画面項目の内容（例えば、「山田」）を表示させるための試験スクリプトも生成される。
【００７２】
以上、説明したように、本発明の実施形態に係るソフトウェア試験装置１の自動実行部１４は、外部サーバが有するデータベースからデータを取得することを伴なう試験項目の試験を実施する場合において、試験対象のソフトウェアが外部サーバから取得して画面に表示したデータと、自動実行部１４が外部サーバから取得したデータと、を比較する。それにより、外部サーバへの２種類のアクセス手段に基づいて、それぞれのデータ取得結果を比較できるため、ソフトウェア試験装置１はより信頼性の高いソフトウェア試験の試験結果を得ることができる。
【００７３】
（ソースコード解析部１１の説明）
次に、ソースコード解析部１１が行うソースコード解析について説明する。
上述したように、試験対象であるソフトウェアの画面設計書の中に、ソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」）が含まれていない、または、画面仕様書が存在しない場合には、画面仕様書生成部１２は、ソースコード解析部１１からソフトウェア試験に必要な情報を取得する。
以下に、ソースコード解析部１１が、画面のソースコードを解析し、ソフトウェア試験に必要な情報を取得する場合について説明する。
【００７４】
まず、ソースコード解析部１１は、画面のソースコードを解析することを示すユーザからの命令等に基づいて、画面のソースコードの解析を実行開始する。
ソースコード解析部１１は、例えば、画面のソースコードの解析を、プログラミング言語が有する関数を用いて行う。例えば、プログラミング言語が有する関数とは、Ｊａｖａｓｃｒｉｐｔの「ｇｅｔＥｌｅｍｅｎｔｓＢｙＴａｇＮａｍｅ（）」という関数である。
関数「ｇｅｔＥｌｅｍｅｎｔｓＢｙＴａｇＮａｍｅ（）」は、ＨＴＭＬ形式で記述されたソースコードから、タグ名に関する「Ｅｌｅｍｅｎｔオブジェクト」を取得する関数である。
「Ｅｌｅｍｅｎｔオブジェクト」とは、ＨＴＭＬ形式で記述されたソースコードの中にあるｆｏｒｍ要素内で配置されるエレメント（要素）を集めたオブジェクトである。このＥｌｅｍｅｎｔオブジェクトは、「Ｂｕｔｔｏｎ」、「Ｃｈｅｃｋｂｏｘ」、「ＦｉｌｅＵｐｌｏａｄ」、「Ｈｉｄｄｅｎ」、「Ｐａｓｓｗｏｒｄ」、「Ｒａｄｉｏ、Ｒｅｓｅｔ」、「Ｔｅｘｔ」、「Ｔｅｘｔａｒｅａ」、「Ｓｕｂｍｉｔ」、「Ｓｅｌｅｃｔ」、及び「Ｏｐｔｉｏｎ」等の各種のオブジェクトを含む。
【００７５】
ソースコード解析部１１は、関数「ｇｅｔＥｌｅｍｅｎｔｓＢｙＴａｇＮａｍｅ（）」によって取得した「Ｅｌｅｍｅｎｔオブジェクト」の各エレメント（要素）に対し、各エレメントの属性情報（例えば、ａｔｔｒｉｂｕｔｅプロパティ等）から、各画面構成部品の「位置情報（例えば、ＩＤ属性、ＸＰａｔｈ）」、「部品種別」、及び「表示状態」等の情報を取得する。ソースコード解析部１１は、取得した情報を、例えばＣＳＶ形式による記述形式にしてポップアップ画面やクリップボードインターフェースへ出力する。
ソースコード解析部１１が出力する書式は、例えば、「名称（項目名）、位置情報（ＩＤ属性、ＸＰａｔｈ等）、部品種別、表示状態」のような書式である。例えば、ソースコード解析部１１は、「ワード検索、ｉｎｐｕｔｗｏｒｄ、テキストボックス、〇」という情報を出力する。
【００７６】
なお、ソースコード解析部１１は、「位置情報（ＩＤ属性、ＸＰａｔｈ等）」を、例えば、以下の情報から取得する。ＩＤ属性の場合、ソースコード解析部１１は、各エレメントにおけるｉｄ属性の値を、「位置情報」とする。各エレメントにおけるｉｄ属性の値がない場合には、各エレメントの「ｎｏｄｅＴｙｐｅ」、または「ｐａｒｅｎｔＮｏｄｅ」等を利用した「ｓｉｂｌｉｎｇ情報」からＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）における位置（ＸＰａｔｈ）を計算し、「位置情報」とする。
【００７７】
なお、ソースコード解析部１１は、例えば、以下の条件に基づいて「表示状態」の値を決定する。
ソースコード解析部１１は、取得した各エレメントの親のタグのｓｔｙｌｅ属性に「ＤＩＳＰＬＡＹ：ＮＯＮＥ」という記述がある場合、及び取得した各エレメントの親のタグのｔｙｐｅ属性に「ｈｉｄｄｅｎ」という記述がある場合には、「表示状態」の値を「×」とする。「×」は「非表示」を意味する。
ソースコード解析部１１は、取得した各エレメントのｉｎｐｕｔタグ、またはｓｅｌｅｃｔタグ等にｄｉｓａｂｌｅ属性がある場合には、「表示状態」の値を「□」とする。「□」は「表示・非活性」を意味する。
ソースコード解析部１１は、上記の「非表示」及び「表示・非活性」以外の場合には、「表示状態」の値を「〇」とする。「〇」は「表示・活性」を意味する。
【００７８】
ソースコード解析部１１は、試験対象のソフトウェアが表示する画面のソースコードに含まれる画面構成部品を全て解析した後、解析した結果を、ＣＳＶ形式で記述されたテキストファイル、またはクリップボードインターフェースへ出力する。
【００７９】
また、ソースコード解析部１１は、画面のソースコードに含まれる画面構成部品を全て解析するだけでなく、指定された画面構成部品のみを解析（以下、部分解析という）することもできる。
部分解析を行う場合、例えば、ソースコード解析部１１は、Ｊａｖａｓｃｒｉｐｔの「ｅｌｅｍｅｎｔｓＦｒｏｍＰｏｉｎｔ」という関数を用いる。「ｅｌｅｍｅｎｔｓＦｒｏｍＰｏｉｎｔ」は、マウスカーソルの位置に対するエレメントのＥｌｅｍｅｎｔオブジェクトを取得する関数である。
【００８０】
ソースコード解析部１１は、関数「ｅｌｅｍｅｎｔｓＦｒｏｍＰｏｉｎｔ」によって取得したＥｌｅｍｅｎｔオブジェクトの各エレメント（要素）に対し、各エレメントの属性情報（例えば、ａｔｔｒｉｂｕｔｅプロパティ等）から、ソフトウェア試験に必要な情報（例えば、各画面構成部品の「位置情報（例えば、ＩＤ属性、ＸＰａｔｈ）」、「部品種別」、及び「表示状態」等）を取得する。ソースコード解析部１１は、取得した情報を、例えばＣＳＶ形式による記述形式にしてポップアップ画面やクリップボードインターフェースへ出力する。
なお、「位置情報（ＩＤ属性、ＸＰａｔｈ等）」の取得方法、及び「表示状態」の値を決定する条件については、上述した画面のソースコードに含まれる画面構成部品を全て解析する場合と同様である。
【００８１】
画面仕様書生成部１２は、ソースコード解析部１１が、ＣＳＶ形式によるテキストデータ、またはクリップボードインターフェースに出力したデータ等を取得する。画面仕様書生成部１２が取得するデータには、ソフトウェア試験に必要な情報（例えば、「項目名」、「ＩＤ属性（または、ＸＰａｔｈ）」、「部品種別」、「画面ＩＤ」、及び「表示状態」等）が含まれる。
なお、画面仕様書生成部１２は、生成する画面仕様書上において、「表示状態」の値が「×」である画面構成部品の部分に網掛けを施すように記載するようにしてもよい。それにより、ユーザはその画面構成部品が非表示の状態であることを容易に認知することができる。
なお、画面仕様書生成部１２は、「位置情報（例えば、ＩＤ属性、ＸＰａｔｈ）」に基づいてＨＴＭＬ画面上でその画面構成部品の位置を明確に表示することができる他のツール（または、機能）等連携するようにしてもよい。それにより、ユーザは、ユーザは試験対象である画面構成部品の位置を容易に特定することができる。
【００８２】
以上、説明したように、本発明の実施形態に係るソフトウェア試験装置１のソースコード解析部１１は、画面（例えば、ブラウザ内）に表示される試験対象のソフトウェアのソースコード（例えば、ＨＴＭＬ形式のソースコード）を読み取り、各画面構成部品、及び各画面構成部品に対応するＩＤ属性情報（または、ＸＰａｔｈ情報）等を自動的に抽出し、抽出した情報を記憶することができる。
また、ソースコード解析部１１は、試験対象のソフトウェアの表示画面において、特定の画面構成部品が指定された場合、その画面構成部品のＩＤ属性情報（または、ＸＰａｔｈ情報）等を抽出し、抽出した情報を記憶することができる。
【００８３】
それにより、試験対象のソフトウェアの画面設計書からソフトウェア試験に必要な情報を得ることができない場合であっても、ソフトウェア試験装置１は、試験対象のソフトウェアの表示画面からソースコードを読み取って、ソフトウェア試験に必要な情報を得ることができる。
ソフトウェア試験に必要な情報を得ることができない場合とは、例えば、試験対象のソフトウェアの画面設計書の中にソフトウェア試験に必要な情報が記載されていなかったり、試験対象のソフトウェアの画面設計書そのものが無くなっていたりする場合である。また、ソフトウェア試験に必要な情報とは、例えば、「項目名」、「ＩＤ属性」、「部品種別」、及び「画面ＩＤ」である。
【００８４】
（ソフトウェア試験装置１の動作）
次に、ソフトウェア試験装置１の動作の流れについて説明する。
図１２は、本発明の実施形態に係るソフトウェア試験装置１の動作の一例を示すフローチャートである。
【００８５】
（ステップＳ１０１）まず、ソフトウェア試験の対象であるソフトウェアの画面設計書が存在する場合には、ステップＳ１０２へ進む。そうでない場合は、ステップＳ１０３へ進む。
【００８６】
（ステップＳ１０２）ソフトウェア試験の対象であるソフトウェアの画面設計書に必要な情報が記載されている場合には、ステップＳ１０３へ進む。そうでない場合は、ステップＳ１０４へ進む。
【００８７】
（ステップＳ１０３）ソースコード解析部１１は、試験対象であるソフトウェアが表示する画面のソースコードを解析する。ソースコード解析部１１は、ソースコードの解析結果を、画面仕様書生成部１２へ出力する。なお、解析結果とは、ソフトウェア試験に必要な情報、例えば、「項目名」、「ＩＤ属性（または、ＸＰａｔｈ）」、「部品種別」、及び「画面ＩＤ」等である。その後、ステップＳ１０４へ進む。
【００８８】
（ステップＳ１０４）画面仕様書生成部１２は、画面設計書を解析して抽出したデータ（例えば、「項目名」、「ＩＤ属性（または、ＸＰａｔｈ）」、「部品種別」、及び「画面ＩＤ」等）、または、ソースコード解析部１１から取得したソースコードの解析結果を示すデータを、手順書作成部１３が処理することができるデータ形式に変換する。画面仕様書生成部１２は、変換したデータによって構成される画面仕様書を生成する。そして、画面仕様書生成部１２は、変換したデータを手順書作成部１３へ出力する。その後、ステップＳ１０５へ進む。
【００８９】
（ステップＳ１０５）手順書作成部１３は、画面仕様書生成部１２から取得したデータに基づいて、手順定義画面を生成する。手順定義画面において、例えば、ソフトウェア試験装置１のユーザによって、各ソフトウェア試験手順が定義される。手順書作成部１３は、定義された各ソフトウェア試験手順を各試験スクリプトに変換し、ソフトウェア試験手順書を作成する。その後、ステップＳ１０６へ進む。
【００９０】
（ステップＳ１０６）ここで、ユーザ等によって、手順書作成部１３に対し、テストケースを生成する指示がなされ得る。テストケースを生成する指示がなされた場合、手順書作成部１３は、ソフトウェア試験手順書を、テストケース生成部１３４へ出力する。その後、ステップＳ１０７へ進む。そうでない場合は、ステップＳ１０６に留まる。
【００９１】
（ステップＳ１０７）テストケース生成部１３４は、ソフトウェア試験手順書を手順定義部１３２から取得する。テストケース生成部１３４は、取得したソフトウェア試験手順書に含まれる各試験スクリプトに付随して必要となるコマンドを、ソフトウェア試験手順書に付加する。それにより、テストケースが生成される。テストケース生成部１３４は、テストケースをバッチファイル１５として出力する。その後、ステップ１０８へ進む。
【００９２】
（ステップＳ１０８）ここで、ユーザ、またはタスクマネージャ等によって、テストケースを示すバッチファイル１５の実行がなされ得る。バッチファイル１５を実行する指示がなされた場合、ステップＳ１０９へ進む。そうでない場合は、ステップＳ１０８に留まる。
【００９３】
（ステップＳ１０９）自動実行部１４のテストケース読込部１４１はテストケースを読み込む。そして、テストケース読込部１４１はスクリプト実行部１４２へ読み込んだテストケースを出力する。スクリプト実行部１４２は、テストケースに含まれる試験スクリプトの実行を開始する。その後、ステップＳ１１０へ進む。
【００９４】
（ステップＳ１１０）スクリプト実行部１４２が実行する試験スクリプトが、外部サーバが有するデータベースへのアクセスを伴なう試験スクリプトであった場合、ステップＳ１１１へ進む。そうでない場合は、ステップＳ１１２へ進む。
【００９５】
（ステップＳ１１１）スクリプト実行部１４２は、試験対象のソフトウェアが外部サーバから取得して画面に表示したデータと、自動実行部１４が外部サーバから取得したデータと、を比較する。それにより、スクリプト実行部１４２は、外部サーバへの２種類のアクセス手段に基づいてそれぞれのデータ取得結果を比較することによって結果を検証する。その後、ステップＳ１１２へ進む。
【００９６】
（ステップＳ１１２）テストケースに含まれる試験スクリプトの実行が全て完了した場合には、ステップＳ１１３へ進む。そうでない場合は、ステップＳ１１０に戻り、まだ実行していない次の試験スクリプトを実行する。
【００９７】
（ステップＳ１１３）
スクリプト実行部１４２は、テストケースの実行結果を結果出力部１４４へ出力する。結果出力部１４４は、スクリプト実行部１４２から取得したテストケースの実行結果に基づいて、テストケースの実行結果を示す結果ファイル、及び画面キャプチャファイルを生成する。そして、結果出力部１４４は、生成した結果ファイル及び画面キャプチャファイルを、結果格納部１４５に格納する。
以上で、本フローチャートの処理を終了する。
【００９８】
以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００９９】
なお、上述した実施形態におけるソフトウェア試験装置１の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【０１００】
なお、ここでいう「コンピュータシステム」とは、ソフトウェア試験装置１に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１０１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【０１０２】
また、上述した実施形態におけるソフトウェア試験装置１、を、ＬＳＩ（Ｌａｒｇｅ Ｓｃａｌｅ Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現してもよい。ソフトウェア試験装置１の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【０１０３】
１・・・ソフトウェア試験装置、１１・・・ソースコード解析部、１２・・・画面仕様書生成部、１３・・・手順書作成部、１４・・・自動実行部、１５・・・バッチファイル、１３１・・・画面仕様書読込部、１３２・・・手順定義部、１３３・・・リスト記憶部、１３４・・・テストケース生成部、１４１・・・テストケース読込部、１４２・・・スクリプト実行部、１４３・・・コマンド記憶部、１４４・・・結果出力部、１４５・・・結果格納部、ｐ０１・・・プルダウンメニュー、ｐ０２・・・プルダウンメニュー、ｐ０３・・・プルダウンメニュー、ｐｐ０１・・・ＤＢアクセス情報設定画面、ｐｐ０２・・・比較カラム情報の設定画面
【要約】      （修正有）【課題】ソフトウェア試験の試験シナリオを自然言語により作成する。【解決手段】ソフトウェア試験装置１の手順書作成部１３は、画面仕様書読込部１３１と、手順定義部１３２と、リスト記憶部１３３を備える。リスト記憶部は、評価対象を識別する評価対象識別情報について、第１言語による第１評価対象識別情報と、第２言語による第２評価対象識別情報と、を対応付けて評価対象を記憶し、評価対象に対する操作内容情報について、第１言語による第１操作内容情報と、プログラム言語による第２操作内容情報と、を対応付けて評価内容を記憶する。画面仕様書読込部は、第１評価対象識別情報と第１操作内容情報とが、評価手順に沿って記載された仕様書を読み込み、手順定義部は、評価対象と評価内容をリスト記憶部から読み出し、評価手順に沿って第１評価対象識別情報と第１操作内容情報を、評価手順に沿った第２評価対象識別情報と第２操作内容情報に変換する。【選択図】図１【図１】
0005998238.tif 000002
【図２】
0005998238.tif 000003
【図３】
0005998238.tif 000004
【図４】
0005998238.tif 000005
【図５】
0005998238.tif 000006
【図６】
0005998238.tif 000007
【図７】
0005998238.tif 000008
【図８】
0005998238.tif 000009
【図９】
0005998238.tif 000010
【図１０】
0005998238.tif 000011
【図１１】
0005998238.tif 000012
【図１２】
0005998238.tif 000013