(57)【要約】【課題】ソースコードを解析せずに、業務システムの画面をテストするためのテストデータを効率的に作成できるようにすること。【解決手段】画面テストデータ作成装置１は、テスト対象画面へ遷移するために必要な方法を検出する第１処理部１９２と、第１処理部の検出結果とテストケースと業務システムに関する所定の情報１１０〜１４０とに基づいて、テスト対象画面へ遷移するために必要なデータを画面遷移用テストデータとして抽出する第２処理部１９３と、テストケースと所定の情報とに基づいて、テスト対象画面においてテストケースを実行するために必要なデータをテストケース実行用テストデータとして抽出する第３処理部１９４と、を備え、所定の情報には、業務システムに関する情報であって、業務システムのソースコード以外の情報が含まれている。【選択図】図１
2018063532.tif 000002
【特許請求の範囲】
【請求項１】
業務システムの画面をテストするためのテストデータを作成する画面テストデータ作成装置であって、
テストケースが設定されるテスト対象画面へ遷移するために必要な方法を検出する第１処理部と、
前記第１処理部の検出結果と前記テストケースと前記業務システムに関する所定の情報とに基づいて、前記テスト対象画面へ遷移するために必要なデータを画面遷移用テストデータとして抽出する第２処理部と、
前記テストケースと前記所定の情報とに基づいて、前記テスト対象画面において前記テストケースを実行するために必要なデータをテストケース実行用テストデータとして抽出する第３処理部と、を備え、
前記所定の情報には、前記業務システムに関する情報であって、前記業務システムのソースコード以外の情報が含まれている、
画面テストデータ作成装置。
【請求項２】
前記業務システムは、データを入力するデータ項目を持つ画面を複数備えており、
前記第３処理部は、前記テスト対象画面の持つデータ項目のうち、前記テストケースの設定されたデータ項目以外の他のデータ項目に対する所定の入力検査によりエラーであると判定されないように、前記他のデータ項目用にテストデータを生成する、
請求項１に記載の画面テストデータ作成装置。
【請求項３】
前記所定の情報には、前記業務システムの各画面に表示されるデータ項目を定義する画面項目定義情報、前記各画面間の遷移方法を定義する画面遷移定義情報、画面の表示構成を定義する画面表示構成定義情報、前記業務システムで使用するデータベースに登録された情報が含まれる、
請求項２に記載の画面テストデータ作成装置。
【請求項４】
前記第２処理部は、
前記テスト対象画面に遷移するために必要なデータ項目をテストデータ候補として抽出するテストデータ候補抽出部と、
前記抽出したテストデータ候補に入力値を設定する入力値設定部と、
前記設定した入力値が前記所定の入力検査でエラーであると判定されないように、前記所定の入力検査の種別と前記所定の情報とに基づいて前記入力値を修正する入力値修正部と、
前記テストデータ候補を所定の並び替え基準にしたがって並び替えることにより、前記画面遷移用テストデータを生成する並替部と、
を有する
請求項３に記載の画面テストデータ作成装置。
【請求項５】
前記第２処理部は、さらに、
前記入力値を修正した後で、前記テストデータ候補に前記入力値を設定したことにより新たに入力値の設定が必要となるデータ項目を抽出し、新たに抽出したデータ項目を前記テストデータ候補に追加する追加テストデータ候補抽出部を備える、
請求項４に記載の画面テストデータ作成装置。
【請求項６】
前記並替部は、前記テストデータ候補として抽出された各データ項目間の依存関係と、前記抽出された各データ項目の画面上の表示位置とに基づいて前記テストデータ候補を並び替えることにより、前記画面遷移用テストデータを生成する、
請求項４に記載の画面テストデータ作成装置。
【請求項７】
前記所定の入力検査は、
必須のデータ項目に値が設定されていること、
データ項目に入力された値が所定の形式を満たすこと、
データ項目に入力された値が前記データベースに記憶されている値であること、
関連する複数のデータ項目にそれぞれ入力された値が整合すること、
のうち少なくともいずれか一つを含む、
請求項２に記載の画面テストデータ作成装置。
【請求項８】
前記第３処理部は、
前記テストケースを実行するために必要なデータ項目をテストデータ候補として抽出するテストデータ候補抽出部と、
前記抽出したテストデータ候補に入力値を設定する入力値設定部と、
前記設定した入力値が前記所定の入力検査でエラーであると判定されないように、前記所定の入力検査の種別と前記所定の情報とに基づいて前記入力値を修正する入力値修正部と、
前記テストデータ候補を所定の並び替え基準にしたがって並び替えることにより、前記テストケース実行用テストデータを生成する並替部と、
を有する
請求項３〜７のいずれか一項に記載の画面テストデータ作成装置。
【請求項９】
前記第３処理部は、さらに、
前記入力値を修正した後で、前記テストデータ候補に前記入力値を設定したことにより新たに入力値の設定が必要となるデータ項目を抽出し、新たに抽出したデータ項目を前記テストデータ候補に追加する追加テストデータ候補抽出部を備える、
請求項８に記載の画面テストデータ作成装置。
【請求項１０】
前記並替部は、前記テストデータ候補として抽出された各データ項目間の依存関係と、前記抽出された各データ項目の画面上の表示位置とに基づいて前記テストデータ候補を並び替えることにより、前記テストケース実行用テストデータを生成する、
請求項８に記載の画面テストデータ作成装置。
【請求項１１】
計算機を用いて、業務システムの画面をテストするためのテストデータを作成する画面テストデータ作成方法であって、
前記計算機は、
テストケースが設定されるテスト対象画面への遷移するために必要な方法を検出する第１ステップと、
前記第１ステップの検出結果と前記テストケースと前記業務システムに関する所定の情報とに基づいて、前記テスト対象画面へ遷移するために必要なデータを画面遷移用テストデータとして抽出する第２ステップと、
前記テストケースと前記所定の情報とに基づいて、前記テスト対象画面において前記テストケースを実行するために必要なデータをテストケース実行用テストデータとして抽出する第３ステップと、を備え、
前記所定の情報には、前記業務システムに関する情報であって、前記業務システムのソースコード以外の情報が含まれている、
画面テストデータ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面テストデータ作成装置および方法に関する。
【背景技術】
【０００２】
例えば、ＢＭＰＳ（Bussiness Process management System）を用いて業務システムを開発する際には、仕様通りに各画面が動作するかを確認する必要がある。通常、業務システムは多数の画面を含んでおり、様々な条件の下で画面が切り替わるため、システム開発者が手動で画面動作を確認するのは困難である。
【０００３】
そこで、画面テストを自動的に実行することが考えられる。特許文献１には、画面遷移定義情報からテストケース生成の対象画面を取得し、対象画面を構成する画面構成情報からテスト対象カラムを取得し、データ定義情報からテスト対象カラムに対する制約を取得し、テスト対象カラムに対する制約とテストケーステンプレートをマッチングさせることでテストケースとテストデータとを生成する技術が開示されている。
【０００４】
他の従来技術として特許文献２には、検査対象プログラムの画面遷移と画面項目とプロパティとを読込み、プロパティごとに、その事前条件と事後条件通りに画面が表示されるかを確認することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６０３９０号公報
【特許文献２】特開２０１２-１１８８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では、画面遷移定義情報からテスト対象画面を取得するようになっているが、一般的に、画面遷移定義情報には画面遷移のための契機だけが記載されているため、テスト対象の画面に到達してテストケースを実行するための一連のテストデータを自動的に生成することは難しい。
【０００７】
特許文献２では、テストデータの自動生成について記載されているが、検査対象プログラムを駆動させてプログラム状態を遷移等させる必要がある。しかし、ＪＡＶＡ（登録商標）などのコンピュータプログラム言語を用いてソースコードを記述している場合には、そのソースコードを解析してテストデータを作成することもできる。
【０００８】
これに対し、検査対象プログラムが例えばいわゆるモデル駆動型の開発環境（Model-Driven Architecture、MDA）で作成されている場合は、画面テストのためにソースコードを解析するのは難しい。したがって、この場合は、ソースコードの解析結果をテストデータの自動生成に利用することができない。
【０００９】
本発明は上述の課題に鑑みてなされたもので、その目的は、業務システムの画面をテストするためのテストデータを効率的に作成することができるようにした画面テストデータ作成装置および方法を提供することにある。本発明のさらなる目的は、業務システムのソースコードを解析できない場合でも、業務システムの画面をテストするためのテストデータを作成することができるようにした画面テストデータ作成装置および方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明の一つの観点に従う画面テストデータ作成装置は、業務システムの画面をテストするためのテストデータを作成する画面テストデータ作成装置であって、テストケースが設定されるテスト対象画面へ遷移するために必要な方法を検出する第１処理部と、第１処理部の検出結果とテストケースと業務システムに関する所定の情報とに基づいて、テスト対象画面へ遷移するために必要なデータを画面遷移用テストデータとして抽出する第２処理部と、テストケースと所定の情報とに基づいて、テスト対象画面においてテストケースを実行するために必要なデータをテストケース実行用テストデータとして抽出する第３処理部と、を備え、所定の情報には、業務システムに関する情報であって、業務システムのソースコード以外の情報が含まれている。
【発明の効果】
【００１１】
本発明によれば、業務システムのソースコードを解析することなく、業務システムの画面をテストするためのテストデータを作成することができる。
【図面の簡単な説明】
【００１２】
【図１】画面テストデータ作成装置の機能構成を示す説明図。
【図２】画面テストデータ作成装置を含む情報処理システムの全体図。
【図３】画面テストデータ作成装置のハードウェア構成図。
【図４】システム開発装置のハードウェア構成図。
【図５】ディスクアレイ装置のハードウェア構成図。
【図６】画面項目定義の例。
【図７】画面遷移の模式図。
【図８】画面入力チェック定義の例。
【図９】データベースの例。
【図１０】「所定の入力検査」の例である入力チェック処理のフローチャート。
【図１１】テストケースの生成処理、テストデータの生成処理、およびテストケースを実行する処理をそれぞれ示すフローチャート。
【図１２】テスト対象画面への遷移に必要なテストデータを作成するステップの詳細を示すフローチャート。
【図１３】テストケース実行に必要なテストデータを作成するステップの詳細を示すフローチャート。
【図１４】テストデータを生成する手順１の説明図。
【図１５】テストデータを生成する手順２の説明図。
【図１６】テストデータを生成する手順４の説明図。
【図１７】テストデータを生成する手順５の説明図。
【図１８】テストデータを生成する手順６の説明図。
【図１９】テストデータを生成する手順７の説明図。
【図２０】手順７の他の説明図。
【図２１】手順７のさらに別の説明図。
【図２２】図２１に続く説明図。
【図２３】テストデータを生成する手順８の説明図。
【図２４】テストデータを生成する手順１０の説明図。
【図２５】テストデータを生成する手順１１の説明図。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。本実施形態では、後述のように、テスト対象である業務システムのソースコードを解析対象とせず、それ以外の情報に基づいて業務システムの画面をテストするためのテストデータを作成する。本実施形態では、業務システムの有する複数の画面のうち任意の画面をテスト対象画面として選択することができ、任意の出発元画面からテスト対象画面へ遷移してテストケースを実行するための一連のテストデータを自動的に作成する。
【実施例１】
【００１４】
図１〜図２５を用いて第１実施例を説明する。図１は、画面テストデータ作成装置１の機能構成を示す。図２は、画面テストデータ作成装置１を含む情報処理システムの全体を示す。
【００１５】
画面テストのためのテストデータを作成する画面テストデータ作成装置１は、テストケースにテストデータを入力してテストするテスト実行装置２に接続されている。画面テストデータ作成装置１とテスト実行装置２とを一つの計算機の中に設けてもよいし、または、それぞれ別々の計算機に設けてもよい。
【００１６】
画面テストデータ作成装置１は、テストデータ作成プログラム１９０を実行することにより、所定の機能１９１〜１９５を実現させる。所定の機能とは、例えば、テストケース取得部１９１、テスト対象画面への遷移方法特定部１９２、画面遷移用データ生成部１９３、テストケース実行用データ生成部１９４、テストデータ作成部１９５である。
【００１７】
先に画面テストデータ作成装置１の機能を説明し、次に画面テストデータ作成装置１の使用する情報について説明する。
【００１８】
テストケース取得部１９１は、手動または自動で事前に作成されたテストケースを取得する機能である。テストケースは、業務システムの持つ各画面の各データ項目について少なくとも一つ生成することができる。テストケースの設定された画面をテスト対象画面と呼ぶ。
【００１９】
「第１処理部」の例であるテスト対象画面への遷移方法特定部１９２は、任意の出発元画面から任意のテスト対象画面へ遷移するための方法を特定する機能である。以下、画面遷移方法特定部１９２と呼ぶことがある。出発元画面は、例えば、ログイン画面、メニュー画面などである。
【００２０】
「第２処理部」の例である画面遷移用データ生成部１９３は、出発元画面からテスト対象画面へ遷移するための画面遷移用テストデータを生成する機能である。画面遷移用データ生成部１９３は、テストデータ作成部１９５を用いることで、画面遷移用データを生成する。
【００２１】
「第３処理部」の例であるテストケース実行用データ生成部１９４は、テスト対象画面においてテストケースを実行するためのテストケース実行用テストデータを生成する機能である。テストケース実行用データ生成部１９４も、テストデータ作成部１９５を用いることで、テストケース実行用テストデータを生成する。
【００２２】
テストデータ作成部１９５は、所定の情報１１０〜１８０に基づいて、目的に応じたテストデータを作成する機能である。テストデータ作成部１９５は、機能１９５１〜１９５５を有する。
【００２３】
テストデータ候補抽出部１９５１は、各画面の各データ項目の中からテストデータの候補を抽出する機能である。以下、候補抽出部１９５１と呼ぶ場合がある。候補抽出部１９５１は、例えば、テストケースを実行するための前提条件に影響のあるデータ項目をテストデータ候補として抽出する。さらに候補抽出部１９５１は、例えば、入力が必須な項目として指定されているデータ項目をテストデータ候補として抽出する。さらに候補抽出部１９５１は、例えば、画面から画面へ遷移するための契機となるアクションを表示するための条件となっているデータ項目をテストデータ候補として抽出する。さらに候補抽出部１９５１は、例えば、抽出されたテストデータ項目を表示するための条件となっている他のデータ項目も、テストデータ候補として抽出する。
【００２４】
入力値設定部１９５２は、テストデータ候補に入力値を設定する機能である。入力値設定部１９５２は、テストデータ候補として抽出されたデータ項目に対してデータ型や入力文字数の上限値または下限値などの入力条件が設定されている場合、その入力条件を満たす値を自動生成し、そのデータ項目へ入力する。以下の説明では、データ項目に値を入力することを、データ項目にデータを入力すると表現する場合がある。
【００２５】
入力値修正部１９５３は、入力値を修正する機能である。入力値設定部１９５２は、入力値設定部１９５２の設定した入力値が入力チェックをパスするように（つまり入力エラーであると判定されないように）、入力値を必要に応じて修正する。入力値修正部１９５３は、テストデータ候補として抽出されたデータ項目に入力チェックが設定されている場合、データ項目に自動設定された入力値を入力チェックの種別に応じて修正する。
【００２６】
「所定の入力検査」としての入力チェックには、例えば、入力値が所定の形式にしたがって入力されているか、入力値がデータベース１８０に存在するか、入力値が他のデータ項目の入力値と整合するかなどがある。なお、「必須のデータ項目に何らかの値が入力されているか」も、入力チェックの一つである。しかし、この入力チェックは何らかの値が設定されていればよいため、修正する必要はない。
【００２７】
追加テストデータ候補抽出部１９５４は、テストデータ候補として抽出されたデータ項目に入力値を設定したことにより新たに入力値の設定が必要となるデータ項目をテストデータ候補として追加する機能である。
【００２８】
テストデータ候補並替部１９５５は、テストデータ候補を所定の並び替え基準にしたがって並び替える機能である。テストデータ候補並替部１９５５は、各テストデータ候補のデータ項目を、その画面上の位置関係と依存関係とに基づいて並び替える。
【００２９】
画面テストデータ作成装置１は、情報記憶部１００に記憶された各情報１１０〜１６０，１８０を利用することで、画面のテストデータ１７０を作成する。
【００３０】
情報記憶部１００は、例えば、画面項目定義情報１１０、画面遷移定義情報１２０、画面入力チェック定義情報１３０、Ｗｅｂ画面構成情報１４０、テストケース１５０、テストデータ候補１６０、テストデータ１７０、データベース１８０を記憶する。
【００３１】
画面項目定義情報１１０は、各画面に表示される一つ以上のデータ項目を定義する情報である。詳細は図６で後述する。画面項目定義情報１１０は、例えばデータ型、入力文字数（桁数）、必須データ項目であるか否かなどのように、データ項目に入力される値をチェックするための条件を一部含んで構成することができる。
【００３２】
画面遷移定義情報１２０は、画面間での遷移方法を定義する情報である。詳細は図７で後述する。
【００３３】
画面入力チェック定義情報１３０は、データ項目の入力値を検査するための条件を定義する情報である。詳細は図８で後述する。上述のように、入力値を検査するための条件の一部を画面項目定義情報１１０に記憶させてもよい。
【００３４】
Ｗｅｂ画面構成情報１４０は、画面の表示構成、つまり画面に表示されるウェブページのどこにどのようなデータ項目が配置されるか、どこにどのようなチェックボックスやボタンなどが配置されるかを定義する情報である。
【００３５】
テストケース１５０は、業務システムの各画面が仕様通りに表示されるかを確認するためのテストを記憶する情報である。テストケース１５０は手動で作成されてもよいし、自動的に作成されてもよい。
【００３６】
テストデータ候補１６０は、テストケースを実行するために使用するテストデータの候補である。テストデータ候補１６０について入力値の修正等が完了すると、テストデータ１７０として記憶される。
【００３７】
データベース１８０は、業務システムの使用するデータを記憶する。
【００３８】
テスト実行装置２は、テストケースにテストデータを入力し、予定通りの結果になるか確認する。テスト実行装置２は、画面入力チェック処理を実行するためのエラーチェック部２００を備えることができる。図１には、画面テストを説明するための簡単な例を示している。ここでは、画面Ｇ２がテスト対象画面である。画面Ｇ２において、「データ項目ｉ４に値ｖ４が設定された場合に所定のメッセージが表示されること」がテストケースであるとする。
【００３９】
画面Ｇ１にはデータ項目ｉ１，ｉ２が表示される。必須の項目であるデータ項目ｉ１には、必須の項目であることを示すためのマーク「＊」が表示されている。
【００４０】
テスト実行装置２が、データ項目ｉ１に値ｖ１を入力し、データ項目ｉ２に値ｖ２を入力してからボタンｂ１を操作すると、エラーチェック部２００は入力チェックｃ１を実行する。入力チェックｃ１は、例えば、必須項目ｉ１に値が入力されているか、各データ項目ｉ１，ｉ２の入力値ｖ１，ｖ２が所定形式（データ型、文字数等）に合致するか、値ｖ１，ｖ２のいずれかまたは両方がデータベース１８０に存在するか等を確認する。ボタンｂ１の操作は、入力チェックｃ１を開始する契機であるとともに、画面Ｇ１から画面Ｇ２へ遷移する契機でもある。
【００４１】
入力チェックｃ１をパスすると、画面Ｇ１から画面Ｇ２へ遷移する。テスト対象画面Ｇ２は、複数のデータ項目ｉ３，ｉ４を有する。テスト実行装置２は、データ項目ｉ３に値ｖ３を入力し、データ項目ｉ４に値ｖ４を入力してからボタンｂ２を操作する。これにより、エラーチェック部２００は入力チェックｃ２を実行する。さらにテスト実行装置２は、テストケースをテストし、所定のメッセージが表示されるか確認する。
【００４２】
図２を参照して情報処理システムの全体を説明する。情報処理システムは、例えば、画面テストデータ作成装置１と、テスト実行装置２と、システム開発装置３と、ディスクアレイ装置４（１），４（２）とを含む。
【００４３】
システム開発装置３は、ユーザＵ２が業務プログラム（業務システム）を開発するための計算機であり、ディスクアレイ装置４（２）を使用する。
【００４４】
画面テストデータ作成装置１は、システム開発装置３の開発する業務プログラムに含まれる画面の動作をテストするためのテストデータを作成する計算機であり、ディスクアレイ装置４（１）を使用する。テスト実行装置２は、予め用意されたテストケースを実行する計算機であり、ディスクアレイ装置４（１）を使用する。画面テストデータ作成装置１とテスト実行装置２とは、ユーザＵ１により操作される。
【００４５】
図２では、テスト実行装置２とシステム開発装置３とを通信ネットワークＣＮ１で接続し、画面テストデータ作成装置１とテスト実行装置２とを通信ネットワークＣＮ２で接続している。さらに図２では、システム開発装置３とディスクアレイ装置４（２）とは通信ネットワークＣＮ３を介して接続されており、ディスクアレイ装置４（１）と画面テストデータ作成装置１およびテスト実行装置２とは通信ネットワークＣＮ２を介して接続されている。
【００４６】
図２の構成に代えて、通信ネットワークＣＮ１〜ＣＮ３を一つの通信ネットワークとしてまとめてもよいし、ディスクアレイ装置４（１），ディスクアレイ装置４（２）も分けずに共通のディスクアレイ装置４としてもよい。
【００４７】
ユーザＵ１は、画面の正常動作を確認するためのテストに使用するテストデータ作成者、およびテスト管理者である。ユーザＵ２は、業務システムを開発するシステム開発者である。テストデータの作成者とテスト管理者とを分けてもよい。
【００４８】
図３は、画面テストデータ作成装置１のハードウェア構成を示す。画面テストデータ作成装置１は、例えば、マイクロプロセッサ１１、ネットワークインターフェース１２、ディスクインターフェース１３、ユーザインターフェース１４、メモリ１５を有する。図中では、マイクロプロセッサをＣＰＵ（Central Processing Unit）と、インターフェースをＩＦ（Interface）と、略記する。
【００４９】
マイクロプロセッサ１１は、メモリ１５に格納されたテストデータ作成プログラム１９０を実行することにより、図１で述べた各機能１９１〜１９５を実現する。ネットワークインターフェース１２は、通信ネットワークに接続して通信するための回路である。ディスクインターフェース１３は、ディスクアレイ装置４（１）に接続してデータを入出力する回路である。ユーザインターフェース１４は、図外の入出力装置に接続して、テスト管理者であるユーザＵ１との間で情報を交換する回路である。入出力装置としては、例えば、キーボード、タッチパネル、マウス、音声入力装置、ディスプレイ、プリンタ、音声合成装置などがある。画面テストデータ作成装置１は、電子メールなどの電子的メッセージを通じてユーザＵ１と情報を交換してもよい。
【００５０】
メモリ１５は、例えば、半導体メモリ、フラッシュメモリデバイス、ハードディスクなどの記憶媒体から構成される。図中では一つのメモリを示すが、異なる種類の記憶媒体からメモリ１５を構成してもよい。
【００５１】
メモリ１５は、情報記憶部１００を有する。情報記憶部１００には例えば、画面項目定義情報１１０、画面遷移定義情報１２０、画面入力チェック定義情報１３０、Ｗｅｂ画面構成情報１４０、テストケース１５０、テストデータ候補１６０、テストデータ１７０が記憶される。情報記憶部１００に、ディスクアレイ装置４（１）で管理するデータベース１８０の一部または全部を記憶させてもよい。さらに、メモリ１５には、テストデータ作成プログラム１９０やオペレーティングシステム（図示せず）などが記憶される。記憶された情報については後述する。
【００５２】
図４は、システム開発装置３のハードウェア構成を示す。システム開発装置３は、例えば、マイクロプロセッサ３１、ネットワークインターフェース３２、ディスクインターフェース３３、ユーザインターフェース３４、およびメモリ３５を有する。
【００５３】
マイクロプロセッサ３１および各インターフェース３２〜２４については、図３で述べたと同様であるため、ここでは説明を省略する。メモリ３５には、業務システムを動作させるための業務プログラム３１０が格納されている。
【００５４】
図５は、ディスクアレイ装置４のハードウェア構成を示す。ディスクアレイ装置４は、例えば、コントローラ４１、ディスクインターフェース４２、ディスクドライブ４３を備える。
【００５５】
コントローラ４１は、ディスクアレイ装置４の全体動作を制御する。コントローラ４１は、例えば、一つ以上のディスクドライブ４３をグループ化して、仮想的な記憶デバイス（論理ボリューム）を生成し、その記憶デバイスを管理する。さらに、コントローラ４１は、ディスクインターフェース４２から受信したコマンドに応じて、ディスクドライブ４３に対してデータを読み書きする。
【００５６】
ディスクドライブ４３には、例えばファイルシステム４１０が格納されている。ファイルシステム４１０は、データベース１８０を記憶しており、データベース１８０へのデータ入出力を管理する。
【００５７】
図６は、画面項目定義情報１１０の例を示す。画面項目定義情報１１０は、画面に表示されるデータ項目を定義する情報である。画面項目定義情報１１０は、例えば、番号１１００、ラベル名１１０１、入力形式１１０２、データ型１１０３、リスト内容１１０４、入力文字数１１０５、必須フラグ１１０６、表示条件１１０７を含む。
【００５８】
番号１１００は、データ項目に付与される番号である。ラベル名１１０１は、データ項目の名称である。入力形式１１０２は、データ項目に対するデータ（値）の入力方法を示す。入力方法には、予め用意された値の中から選択するドロップダウンや、文字または数字を手動で入力するテキストボックスなどがある。
【００５９】
データ型１１０３は、データ項目に入力するデータの型を示す。データ型は入力形式１１０２が「テキストボックス」の場合に設けられる。データ型には、例えば、半角英数字、全角文字などがある。リスト内容１１０４は、データ項目に入力するデータの内容を事前に定義する。リスト内容１１０４は、入力形式１１０２が「ドロップダウン」の場合に設けられる。
【００６０】
入力文字数１１０５は、データ項目に入力するデータの文字数の制限を示す。入力文字数は、最小文字数と最大文字数のいずれかまたは両方で定義することができる。「会員Ｎｏ．」のように桁数が８桁と決められている場合、最小文字数および最大文字数の両方に「８」が設定される。
【００６１】
必須フラグ１１０６は、データ項目が必須の項目であるかを示すフラグである。ここでは、必須を示すフラグを丸印、準必須を示すフラグを三角印で示す。準必須のデータ項目とは、他のデータ項目の入力値の内容によって必須となるデータ項目である。
【００６２】
例えば、データ項目「会社名」に「Ａ社」または「Ｂ社」のいずれかを選択したときには、データ項目「所属部署」に値を入力しなければならない場合を説明する。この場合、データ項目「所属部署」は準必須のデータ項目である。「会社名」として「Ｃ社」が選択された場合は「所属部署」にデータを入力する必要はなく、「会社名」として「Ａ社」または「Ｂ社」のいずれかが選択された場合のみ「所属部署」の入力が求められているためである。
【００６３】
表示条件１１０７は、データ項目を画面に表示するための条件である。データ項目は、表示条件が満たされた場合に画面に表示される。上述の例では、データ項目「所属部署」が画面に表示されるための条件は、データ項目「会社名」に「Ａ社」または「Ｂ社」が入力された場合である。表示条件１１０７には、活性化条件を含めることができる。活性化条件とは、データ項目へのデータの入力可否を制御する条件である。
【００６４】
図７は、画面遷移定義情報１２０の概要を示す。画面遷移定義情報１２０は、例えば、アクションと画面とを対応づけて管理する。図７の例では、「画面Ａ」が表示されている状態でボタン「次へ」が操作されると、「画面Ａ」の持つデータ項目「年齢」への入力値に応じて、「画面Ｂ」または「画面Ｄ」のいずれかへ遷移する。すなわち、「年齢」に「２０以上」が入力された場合は「画面Ａ」から「画面Ｂ」へ遷移し、「年齢」に「２０未満」が入力された場合は「画面Ａ」から「画面Ｄ」へ遷移する。
【００６５】
「画面Ｂ」においてボタン「次へ」が操作されると「画面Ｃ」へ遷移する。「画面Ｃ」においてボタン「完了」が操作されると処理は終了する。一方、「画面Ｄ」においてボタン「完了」が操作されると処理は終了する。「画面Ｂ」においてボタン「完了」が操作されたときも処理は終了する。
【００６６】
図８は、画面入力チェック定義情報１３０の例を示す。画面入力チェック定義情報１３０は、例えば、番号１３００、ラベル名１３０１、チェック種別１３０２、入力内容１３０３、形式１３０４、メッセージ１３０５、チェック条件１３０６、チェック契機１３０７を含む。
【００６７】
番号１３００は、画面入力チェックごとの番号である。ラベル名１３０１は、画面入力チェックの対象となるデータ項目の名称である。
【００６８】
チェック種別１３０２は、画面入力チェックの種別を示す。種別には例えば、「必須確認」、「存在確認」、「形式確認」、「相関確認」などがある。「必須確認」とは、対象のデータ項目（必須フラグの設定されたデータ項目）に値が設定されるか確認することである。「存在確認」とは、対象のデータ項目（存在確認が設定されたデータ項目）に入力された値（データ）が、データベース１８０に存在するか確認することである。「形式確認」とは、対象のデータ項目（形式確認が設定されたデータ項目）に入力された値が所定の形式に従っているか確認することである。所定の形式としては、例えばデータ型、入力文字数などがある。「相関確認」とは、対象のデータ項目（相関確認が設定されたデータ項目）に入力された値が、関連する他のデータ項目の入力値と整合するか確認することである。
【００６９】
例えば「出身国」というデータ項目と「出身県」というデータ項目とが存在する場合を説明する。データ項目「出身国」に「日本」が入力される場合、データ項目「出身県」では都道府県名をドロップダウン形式で選択可能となるとする。もしも「出身国」に「日本」以外の値が設定されている場合、「出身県」にいずれかの都道府県名が入力されているとすると整合しない。このように関係する複数のデータ項目間で入力値が整合するかを確認することを本明細書では「相関確認」と呼ぶ。「相関確認」に代えて例えば「整合性確認」などと呼びかえてもよい。
【００７０】
入力内容１３０３は、データ項目へ入力する具体的な値である。形式１３０４は、入力値の形式である。例えば、「年月日」を入力する場合、４桁の西暦と、２桁の月、２桁の日の形式で入力する。
【００７１】
メッセージ１３０５は、入力チェックをパスしない場合に表示するエラーメッセージの内容である。チェック条件１３０６は、画面入力チェックの条件を定義する。例えば、データ項目「出身県」については、データ項目「出身国」に「海外」が入力されたことを条件にしてチェックする。
【００７２】
チェック契機１３０７は、画面入力チェックを実行する契機を示す。チェック契機１３０７は、ラベル名と入力内容とから定義される。例えば、ボタン「次へ」がクリックされた場合に、画面入力チェックは実行される。
【００７３】
図９は、データベース１８０の例である。データベース１８０は、例えば、番号１８００、会社名１８０１、所属部署１８０２、役職１８０３、氏名１８０４、年齢１８０５、居住国１８０６、出身県１８０７等を含む。
【００７４】
なお、データベース１８０や画面項目定義情報１１０などの具体例は説明のための例示であり、図面ごとに独立している。つまり、説明の容易のために、各図面間では、特に明示しない限り、具体的なデータ項目や入力値はそれぞれ独立している。したがって、ある図面に記載された具体的なデータ項目や入力値などが他の図面に記載された内容と表面的に相違することは、本発明の理解および実施に何の影響も与えない。いわゆる当業者であれば、特に思考を働かせることなく、図面とその図面を参照する説明の内容を正確に理解することができる。
【００７５】
図１０は、画面入力チェック処理（いわゆるエラーチェック）の例を示すフローチャートである。ここでは、画面入力チェック処理を実行する主体を、エラーチェック部２００であるとして述べる。なお、図１０は、エラーチェックの一例を示すもので、本実施形態は図１に示す例に限定されない。また、以下に述べるチェック内容の順番は、業務プログラムの種類などに応じて異なる。
【００７６】
エラーチェック部２００は、例えば、必須のデータ項目に値が入力されているか判定し（Ｓ１０）、必須のデータ項目に値が入力されていない場合（Ｓ１０：ＮＯ）、エラーメッセージを表示する等のエラー処理を実行する（Ｓ１１）。
【００７７】
エラーチェック部２００は、必須のデータ項目に値が入力されている場合（Ｓ１０：ＹＥＳ）、入力値の桁数は適正か判定する（Ｓ１２）。入力値の桁数が最小文字数と最大文字数の範囲にある場合、適正であると判定されてステップＳ１４へ移る。入力値の桁数が適正ではない場合（Ｓ１２：ＮＯ）、エラー処理が行われる（Ｓ１３）。
【００７８】
エラーチェック部２００は、入力値の形式は適正か判定する（Ｓ１４）。エラーチェック部２００は、入力値のデータ型が要求されているデータ型に一致する場合、入力値の形式は適正であると判定して（Ｓ１４：ＹＥＳ）、ステップＳ１６へ移る。これに対し、入力値の形式が適正ではない場合（Ｓ１４：ＮＯ）、エラー処理を行う（Ｓ１５）。
【００７９】
エラーチェック部２００は、入力値がデータベース１８０に存在するか判定し（Ｓ１６）、データベース１８０に存在する場合はステップＳ１８へ移り（Ｓ１６：ＹＥＳ）、それ以外の場合はエラー処理を実行する（Ｓ１６：ＮＯ、Ｓ１７）。
【００８０】
エラーチェック部２００は、チェック対象のデータ項目に入力された値が、チェック対象のデータ項目に関連するデータ項目であるとして事前に設定されている他のデータ項目へ入力された値と整合するか判定する（Ｓ１８）。各データ項目への入力値同士が整合する場合（Ｓ１８：ＹＥＳ）、本処理を終了する。それ以外の場合（Ｓ１８：ＮＯ）、エラー処理を実行する（Ｓ１９）。
【００８１】
ここで、画面入力チェック（エラーチェック）は、同一画面内の全てのデータ項目について一斉に実行されるのではなく、順次実行される。このため、テストケースの設定されたデータ項目以外のデータ項目に不適切な入力値が設定されている場合、そこでエラーチェックにより終了してしまい、テストケースのテスト結果を得ることができない。したがって、テスト対象画面においては、テストケースの設定されているデータ項目以外の他の全てのデータ項目がエラーチェックをパスできるように、適切な値が入力されている必要がある。
【００８２】
図１１は、テストケース生成処理、テストデータ生成処理、テスト実行処理の概要を示すフローチャートである。先にテストケース生成処理を説明し、次にテストデータ生成処理を説明し、最後にテスト実行処理を説明する。
【００８３】
テストケース生成処理では、例えば図示しないテストケース生成用計算機を用いるなどして、テストケースを手動または自動あるいは半自動で生成し（Ｓ２０）、生成したテストケースを保存する（Ｓ２１）。
【００８４】
テストデータ生成処理では、画面テストデータ作成装置１は、テストケースを取得すると（Ｓ３０）、未選択のテストケースが有るか判定する（Ｓ３１）。つまり画面テストデータ作成装置１は、テストデータを作成していないテストケースがあるか判定する。
【００８５】
未選択のテストケースが一つも無い場合（Ｓ３１：ＮＯ）、テストデータの作成は完了しているので本処理を終了する。未選択のテストケースが残っている場合（Ｓ３１：ＹＥＳ）、画面テストデータ作成装置１は、未選択のテストケースの中からいずれか一つを選択する（Ｓ３２）。
【００８６】
画面テストデータ作成装置１は、画面遷移定義情報１２０を参照して、選択したテストケースが設定されているテスト対象画面に遷移するための方法を特定する（Ｓ３３）。出発元画面は、通常、ログイン画面などのスタート画面である。出発元画面から中間の画面を順番通りに進むことで、テスト対象画面に到達することができる。なお、出発元画面をスタート画面以外の他の画面にできる場合は、そのようにしてもよい。
【００８７】
画面テストデータ作成装置１は、テスト対象画面に遷移するために必要なテストデータ（画面遷移用テストデータ）を作成する（Ｓ３４）。ステップＳ３４の詳細な一例は、図１２で後述する。
【００８８】
画面テストデータ作成装置１は、画面遷移用テストデータを作成した後、その画面遷移用テストデータを用いてテスト対象画面に遷移する（Ｓ３５）。画面テストデータ作成装置１は、ステップＳ３２で選択したテストデータを実行するために必要なテストデータ（テストケース実行用テストデータ）を作成する（Ｓ３６）。ステップＳ３６の詳細な一例は、図１３で後述する。
【００８９】
画面テストデータ作成装置１は、ステップＳ３４およびステップＳ３６で作成したテストデータをメモリ等に保存し（Ｓ３７）、ステップＳ３１に戻る。
【００９０】
テスト実行装置２は、テストケースを取得するとともに（Ｓ４０）、テストデータも取得する（Ｓ４１）。テスト実行装置２は、画面遷移用テストデータを用いてテスト対象画面に遷移させた後、テスト対象画面にテストケース実行用テストデータを適用することで、テストケースを実行する（Ｓ４２）。テスト実行装置２は、テストケースの実行結果を画面表示や印刷表示等で出力する（Ｓ４３）。
【００９１】
図１２は、画面遷移用テストデータを作成する処理（図１１のステップＳ３４）の詳細を示すフローチャートである。図１２の処理では、出発元画面（スタート画面、初期画面）からテスト対象画面に到達するために必要なテストデータを作成する。
【００９２】
画面テストデータ作成装置１は、手順１を実施する（Ｓ１００）。手順１では、画面テストデータ作成装置１は、テスト対象画面についての画面項目定義情報１１０を参照し、現在の処理対象画面（最初は出発元画面）において、テストケース実行の前提条件に影響のあるデータ項目が存在するか確認する。テストケース実行の前提条件に影響のあるデータ項目が存在する場合、画面テストデータ作成装置１は、そのデータ項目をテストデータ候補１６０に追加する。
【００９３】
図１４を参照して手順１の詳細例を説明する。なお、上述の通り、画面項目定義情報１１０やテストデータ候補１６０等の各情報の具体的値は、各図面の中で整合しており、他の図面の内容とは関係しない。以下では、手順１の説明に用いる情報の符号に括弧付きの数字「１」を添える。
【００９４】
図１４（ａ）に示すように、テストケース１５０（１）として、「対象画面において「大学卒業年月日」の形式がＹＹＹＹ／ＭＭ／ＤＤではない場合、「次へ」ボタンが押されるとエラーメッセージ「〇〇〇」が表示される」が設定されているものとする。
【００９５】
図１４（ｂ）に示す画面項目定義情報１１０（１）を参照すると、「大学卒業年月日」というラベル名を持つデータ項目の表示条件として、「前の画面においてデータ項目「性別」に「男」が入力されていること」が設定されている。つまり、「大学卒業年月日」の形式を確認するためのテストケースを実行するためには、その前提条件としての、前の画面のデータ項目「性別」に入力値「男」が設定されている必要がある。
【００９６】
図１４（ｃ）に示すように、その前提条件に影響するデータ項目「性別」と入力値「男」の組み合わせをテストデータ候補１６０（１）に追加する。テストデータ候補１６０（１）は、例えば番号１６００、ラベル名１６０１、入力値１６０２を含む。なお、図１４（ｃ）では、新規のテストデータ候補（性別、男）をテストデータ候補１６０（１）の先頭に追加するかのように示すが、これは単なる例示である。
【００９７】
図１２に戻る。画面テストデータ作成装置１は、手順１を実行した後、手順２を実行する（Ｓ１０１）。手順２において、画面テストデータ作成装置１は、画面項目定義情報１１０を参照し、必須のデータ項目をテストデータ候補として抽出する。
【００９８】
図１５を用いて、手順２の詳細例を説明する。図１５（ａ）に示すように、画面項目定義情報１１０（２）は、必須のデータ項目（および準必須のデータ項目）であることを示す必須フラグ１１０６を含む。
【００９９】
図１５（ｂ）に示すように、画面テストデータ作成装置１は、必須のデータ項目のみを抽出して、テストデータ候補１６０（２）へ追加する。入力値は空欄にしておく。入力値は後述するステップで追加される。なお、他のデータ項目の入力値次第で必須のデータ項目となる準必須のデータ項目は、手順２ではテストデータ候補として抽出しない。
【０１００】
図１２へ戻る。画面テストデータ作成装置１は、手順２を実行した後、手順３を実行する（Ｓ１０２）。手順３において、画面テストデータ作成装置１は、図７に示す画面遷移定義情報１２０を参照し、次の画面（次のウェブページ）へ遷移する契機となるアクションを特定する。そして、画面テストデータ作成装置１は、そのアクションを実行するための表示条件（活性化条件を含む）を特定する。具体的には、画面テストデータ作成装置１は、ボタン「次へ」を操作することが画面遷移の契機として定義されている場合、ボタン「次へ」を操作可能に画面に表示するための条件を特定する。
【０１０１】
続いて画面テストデータ作成装置１は、手順４を実行する（Ｓ１０３）。手順４において、画面テストデータ作成装置１は、手順３で抽出した表示条件を満たす、データ項目と入力値との組み合わせの中からいずれか一つの組み合わせを抽出し、テストデータ候補として抽出し、テストデータ候補１６０（４）へ追加する。
【０１０２】
図１６を用いて手順４の詳細例を説明する。図１６（ａ）の画面遷移定義情報１２０（４）に示すように、「画面Ｂ」を処理対象とする場合を説明する。画面Ｂから画面Ｃへ遷移するための契機は、画面Ｂにおいてボタン「次へ」が操作されること、である。画面Ｂにボタン「次へ」を表示させるためには、一つ前の画面Ａにおいて、データ項目「年齢」に「２０以上」が入力された状態で、画面Ａのボタン「次へ」が操作される必要がある。
【０１０３】
図１６（ｂ）に示す画面項目定義情報１１０（４）では、画面Ａにボタン「次へ」を表示させるための条件１１０７として、データ項目「誓約します」のチェックボックスがチェックされていること、が定義されている。
【０１０４】
図１６（ｃ）のテストデータ候補１６０（４）に示すように、画面テストデータ作成装置１は、画面Ｂにボタン「次へ」を表示させるための複数の条件を追加する。すなわち、第１に追加するテストデータ候補は、データ項目「年齢」に入力値「２０以上」が設定されていることである。第２に追加するテストデータ候補は、画面Ａのデータ項目「誓約します」の「チェックボックスがチェック」されていることである。なお、ここでは、テストデータ候補の追加の順番は問わない。後述する並び替え処理により並び替えることができるためである。また図１６では、手順３を満たすデータ項目と入力値との組み合わせを一つだけ示しているが、複数通りの経路で次画面へ遷移可能な場合もある。
【０１０５】
図１２に戻る。画面テストデータ作成装置１は、手順４の後で、手順５を実行する（Ｓ１０４）。手順５において、画面テストデータ作成装置１は、処理対象画面の画面項目定義情報１１０を参照し、抽出されたテストデータ候補に表示条件が設定されているか確認する。
【０１０６】
画面テストデータ作成装置１は、抽出済のテストデータ候補に表示条件が設定されている場合、その表示条件もテストデータ候補として抽出し、テストデータ候補１６０へ追加登録する。
【０１０７】
図１７を用いて手順５の詳細例を説明する。画面テストデータ作成装置１は、図１７（ａ）に示すテストデータ候補１６０（５）と図１７（ｂ）に示す画面項目定義情報１１０（５）とを照合することで、テストデータ候補の表示条件を検出する。図１７の例では、テストデータ候補「年齢」は、データ項目「性別」に「男子」が入力されている場合に表示されることがわかる。そこで、図１７（ｃ）に示すように、画面テストデータ作成装置１は、データ項目「性別」と入力値「男」の組み合わせをテストデータ候補１６０（５）へ追加する。
【０１０８】
図１２へ戻る。画面テストデータ作成装置１は、手順５の次に手順６を実行する（Ｓ１０５）。手順６において、画面テストデータ作成装置１は、処理対象画面の画面項目定義情報１１０を参照し、テストデータ候補のうち入力値が設定されていないテストデータ候補の入力値を自動生成する。画面テストデータ作成装置１は、画面項目定義情報１１０のデータ型１１０３とリスト内容１１０４と入力文字数１１０５とに基づいて、テストデータ候補の入力値を自動生成する。
【０１０９】
図１８を用いて手順６の詳細例を説明する。画面テストデータ作成装置１は、図１６（ａ）に示す画面項目定義情報１１０（６）から、図１８（ｂ）に示すテストデータ候補１６０（６）のうち空欄となっている箇所の入力値を生成する。
【０１１０】
図１８（ｂ）の例では、ラベル名「会員Ｎｏ．」のデータ項目には、入力文字数１１０５の文字数制限とデータ型１１０３とから「１２３４５６７８」という８桁の半角数字が入力値として設定される。ラベル名「会社名」のデータ項目には、リスト内容１１０４の内容からランダムに選択された「Ａ社」が入力値として設定される。ラベル名「氏名」のデータ項目には、データ型１１０３と入力文字数１１０５とに基づいてランダムに生成された「ああああ」が入力値として設定される。これら自動生成された入力値をそのまま使用できない場合もある。そこで、本実施例では、次に述べる手順７において、必要に応じて入力値を修正する。
【０１１１】
図１２に戻る。画面テストデータ作成装置１は、手順６を実行した後、手順７を実行する（Ｓ１０６）。手順７において、画面テストデータ作成装置１は、処理対象画面の画面入力チェック定義情報１３０に基づいて、テストデータ候補として抽出されたデータ項目への入力値を修正する。
【０１１２】
画面テストデータ作成装置１は、例えば、形式確認、有効範囲確認、存在確認、相関確認、非存在確認などの画面入力チェックの種別に応じて、テストデータ候補の入力値が適切であるか判定し、不適切な入力値であると判定したときはその入力値を修正する。
【０１１３】
図１９〜図２２を用いて手順７の詳細例を説明する。幾つかの画面入力チェックを取り上げて説明するため、手順７Ａ、７Ｂ、７Ｃのように括弧付きの符号を添える。
【０１１４】
図１９は、形式確認および有効範囲確認の場合の入力値の修正方法を示す。画面テストデータ作成装置１は、図１９（ａ）に示す画面入力チェック定義情報１３０（７Ａ）のチェック種別１３０２を確認する。
【０１１５】
そして、画面テストデータ作成装置１は、テストデータ候補のデータ項目「生年月日」に対して、形式１３０４の「ＹＹＹＹ／ＭＭ／ＤＤ」に従う入力値「１９９９／０９／０９」を生成して、テストデータ候補１６０（７Ａ）に記録する。
【０１１６】
さらに、画面テストデータ作成装置１は、テストデータ候補のデータ項目「入社年月日」に対して、チェック条件「生年月日＞＝入社年月日」に該当しない入力値「２０００／１０／１０」を生成して、テストデータ候補１６０（７Ａ）に記録する。図１９に示すチェック条件１３０６では、生年月日の方が入社年月日よりも新しい場合、つまり誕生日の方が入社日よりも後である場合に、エラーメッセージ１３０５を表示することが定義されている。そこで、画面テストデータ作成装置１は、この有効範囲を確認するためのチェック条件に該当しない入力値「２０００／１０／１０」を生成してテストデータ候補１６０（７Ａ）に設定する。
【０１１７】
図２０は、相関確認の場合の入力値の修正方法を示す。画面テストデータ作成装置１は、図２０（ａ）に示す画面入力チェック定義情報１３０（７Ｂ）のチェック種別１３０２を参照し、相関確認であることを検出する。画面テストデータ作成装置１は、チェック条件１３０６を参照して、データ項目「出身国」，「出身県」の組み合わせのうち、エラーとなる組み合わせを検出する。
【０１１８】
画面テストデータ作成装置１は、チェック条件１３０６に定義された条件以外の「出身国」と「出身県」の組み合わせを、画面項目定義情報１１０（７Ｂ）のリスト内容１１０４の中からランダムに選択し、テストデータ候補１６０（７Ｂ）に設定する。
【０１１９】
図２０に示す例では、データ項目「出身国」に「海外」が入力された場合、エラーメッセージが出力されるように定義されている。したがって、画面テストデータ作成装置１は、データ項目「出身国」と入力値「日本」の組み合わせと、データ項目「出身県」と入力値「東京」の組み合わせとを、テストデータ候補１６０（７Ｂ）へ記憶させる。
【０１２０】
図２１は、存在確認の場合の入力値の修正方法を示す。画面テストデータ作成装置１は、図２１（ａ）に示す画面入力チェック定義情報１３０（７Ｃ）のチェック種別１３０２を参照し、ラベル名「会員Ｎｏ．」を持つデータ項目に対し、その入力値がデータベース１８０に存在することを要求する存在確認が設定されていることを検出する。
【０１２１】
したがって、画面テストデータ作成装置１は、データベース１８０を検索することで、実在する「会員Ｎｏ．」を取得する必要がある。そこで、画面テストデータ作成装置１は、図２１（ｂ）に示すＷｅｂ画面構成情報１４０（７Ｃ）を解析し、検索ボタンよりも上側に配置されている項目「氏名」「大学名」「会員Ｎｏ．」を検出する。このことはつまり、「氏名」「大学名」「会員Ｎｏ．」という３つのデータ項目の値を検索キーとしてデータベース１８０を検索することを意味する。そこで、画面テストデータ作成装置１は、検索キーとして使用されるデータ項目のセット「氏名」「大学名」「会員Ｎｏ．」を一時的に保存する。
【０１２２】
図２２は、図２１で検出し保存したデータ項目のセット「氏名」「大学名」「会員Ｎｏ．」を検索キーとしてデータベース１８０（７Ｃ）を検索することで、実在する会員Ｎｏ．「ＡＢＣ１２３４５」をデータベース１８０（７Ｃ）から取得する様子を示す。
【０１２３】
図１２に戻る。画面テストデータ作成装置１は、手順７の後、手順８を実行する（Ｓ１０７）。手順８において、画面テストデータ作成装置１は、テストデータ候補１６０と処理対象画面の画面入力チェック定義情報１３０とを参照することで、画面項目定義情報１１０において準必須のデータ項目の中からテストデータ候補に追加すべきデータ項目を検出する。
【０１２４】
図２３を用いて詳細例を説明する。画面テストデータ作成装置１は、図２３（ａ）に示す画面項目定義情報１１０（８）の必須フラグ１１０６を参照し、ラベル名「所属部署」のデータ項目は準必須のデータ項目であることを検出する。
【０１２５】
一方、画面テストデータ作成装置１は、画面入力チェック定義情報１３０（８）のチェック条件１３０６を参照することで、データ項目「会社名」に「Ａ社」が設定されると、データ項目「所属部署」が必須のデータ項目となることを検出する。
【０１２６】
そして、画面テストデータ作成装置１は、テストデータ候補１６０（８Ａ）を参照し、データ項目「会社名」と入力値「Ａ社」の組み合わせがテストデータ候補として登録されていることを知る。この場合、画面項目定義情報１１０（８）によれば、データ項目「所属部署」は必須のデータ項目となる。そこで、画面テストデータ作成装置１は、テストデータ候補１６０（８Ｂ）にデータ項目「所属部署」を追加する。図２３では、準必須のデータ項目を追加する前のテストデータ候補１６０（８Ａ）と、追加した後のテストデータ候補１６０（８Ｂ）とを区別して示す。
【０１２７】
図１２に戻る。画面テストデータ作成装置１は、手順８を実行した後、手順５（Ｓ１０４）〜手順８（Ｓ１０７）までの間で、テストデータ候補に変更が生じたか判定する（Ｓ１０８）。テストデータ候補に変更があった場合（Ｓ１０８：ＹＥＳ）、例えば、準必須のデータ項目が新たにテストデータ候補に追加されたような場合、画面テストデータ作成装置１は、ステップ１０４の手順５に戻る。変更がなかった場合（Ｓ１０８：ＮＯ）、次のステップＳ１０９へ移る。
【０１２８】
画面テストデータ作成装置１は、手順９において、Ｗｅｂ画面構成情報１４０を解析し、処理対象画面に含まれる各データ項目の表示位置を確認する（Ｓ１０９）。例えばＨＴＭＬ（HyperText Markup Language）などで記述されるＷｅｂ画面構成情報１４０を解析することで、データ項目間の相対的な位置関係や表示領域の大きさなどを検出することができる。
【０１２９】
画面テストデータ作成装置１は、手順１０において、テストデータ候補１６０に登録したデータ項目同士の依存関係を解析する（Ｓ１１０）。
【０１３０】
図２４を用いて手順１０の詳細例を説明する。画面テストデータ作成装置１は、図２４（ａ）に示すテストデータ候補１６０（１０）と図２４（ｂ）に示す画面項目定義情報１１０（１０）を照合する。画面テストデータ作成装置１は、それら２つの情報１６０（１０），１１０（１０）を照合した結果、図２４（ｃ）に示すようにテストデータ候補であるデータ項目間の依存関係を抽出する。
【０１３１】
図２４の例では、データ項目「氏名」は、データ項目「会社名」に入力値「Ａ社」が設定された場合に、画面に表示される（あるいは氏名入力欄が活性化されて氏名を入力可能となる）。したがって、この場合、データ項目「氏名」は、データ項目「会社名」に依存している。テストデータ候補１６０（１０）に示す他のデータ項目「会員Ｎｏ．」「誓約します」は、図２４に示す関係では、他のデータ項目との間に依存関係はない。
【０１３２】
図１２に戻る。画面テストデータ作成装置１は、手順１１において、テストデータ候補１６０に登録された各データ項目の表示位置とデータ項目間の依存関係とに基づいて、テストデータ候補のデータ項目を並べ替える（Ｓ１１１）。
【０１３３】
図２５を用いて手順１１の詳細を説明する。画面テストデータ作成装置１は、図２５（ａ）に示す画面構成情報１４０（１１）と図２５（ｂ）に示すデータ依存関係とに基づいて、図２５（ｃ）に示すテストデータ候補１６０（１０）を図２５（ｄ）に示すテストデータ候補１６０（１１）のように並び替える。図２５の例では、画面上の表示位置に基づいて「誓約します」がテストデータ候補の上位に配置される。「会社名」と「氏名」とは、依存関係に従う順序でテストデータ候補に配置される。以上が画面遷移用テストデータを作成する処理の詳細例である。
【０１３４】
図１３は、テストケース実行用テストデータを作成する処理（図１１のステップＳ３６）を示すフローチャートである。図１３のフローチャートに示すステップＳ２００〜Ｓ２１１は、図１２で述べたステップＳ１００〜Ｓ１１１に対応するので、その詳細な説明は割愛する。
【０１３５】
ただし、図１３の処理において手順１（Ｓ２００）、手順３（Ｓ２０２）、手順４（Ｓ２０３）は、図１２の手順１（Ｓ１００）、手順３（Ｓ１０２）、手順４（Ｓ１０３）と参照先が異なる点で相違する。
【０１３６】
すなわち、図１３の手順１では、画面テストデータ作成装置１は、テストケース実行の前提条件をテストデータ候補１６０に追加する（Ｓ２００）。図１３の手順３では、画面テストデータ作成装置１は、画面入力チェック定義情報１３０を参照して、画面入力チェックの契機となるアクションの表示条件を抽出する（Ｓ２０３）。図１３の手順４では、画面テストデータ作成装置１は、手順３で抽出した表示条件を構成するデータ項目と入力値との組み合わせの中からいずれか一つの組み合わせを選択して、テストデータ候補１６０へ追加する（Ｓ２０４）。
【０１３７】
このように構成される本実施例によれば、画面テストのためにソースコードを解析することのできない環境下でも、画面テストに使用する一連のテストデータを適切かつ効率的に作成することができる。この結果、画面テストの作業効率を向上できる。
【０１３８】
なお、本発明は上述の実施形態に限定されず、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【０１３９】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【０１４０】
また、上述した実施形態に含まれる技術的特徴は、特許請求の範囲に明示された組み合わせに限らず、適宜組み合わせることができる。
【符号の説明】
【０１４１】
１：画面テストデータ作成装置、２：テスト実行装置、３：システム開発装置、４：ディスクアレイ装置、１１０：画面項目定義情報、１２０：画面遷移定義情報、１３０：画面入力チェック情報、１４０：Ｗｅｂ画面構成情報、１５０：テストケース、１６０：テストデータ候補、１８０：データベース、１９０：テストデータ作成プログラム、１９１：テストケース取得部、１９２：テスト対象画面への遷移方法特定部、１９３：画面遷移用テストデータ生成部、１９４：テストケース実行用データ生成部
【図１】
2018063532.tif 000003
【図２】
2018063532.tif 000004
【図３】
2018063532.tif 000005
【図４】
2018063532.tif 000006
【図５】
2018063532.tif 000007
【図６】
2018063532.tif 000008
【図７】
2018063532.tif 000009
【図８】
2018063532.tif 000010
【図９】
2018063532.tif 000011
【図１０】
2018063532.tif 000012
【図１１】
2018063532.tif 000013
【図１２】
2018063532.tif 000014
【図１３】
2018063532.tif 000015
【図１４】
2018063532.tif 000016
【図１５】
2018063532.tif 000017
【図１６】
2018063532.tif 000018
【図１７】
2018063532.tif 000019
【図１８】
2018063532.tif 000020
【図１９】
2018063532.tif 000021
【図２０】
2018063532.tif 000022
【図２１】
2018063532.tif 000023
【図２２】
2018063532.tif 000024
【図２３】
2018063532.tif 000025
【図２４】
2018063532.tif 000026
【図２５】
2018063532.tif 000027