"テスト対象の設計書に記述された画面又はデータに対応する設計要素と、前記設計要素の構造を表す設計メタモデルと、前記設計メタモデルの構造を表す設計メタメタモデルと、前記設計要素を用いてテスト内容を記述したテストケースの構造を表すテストケースメタモデルと、前記テストケースメタモデルの構造を表すテストケースメタメタモデルと、前記テストケースメタメタモデル及び前記設計メタメタモデル間の関係を表すマッピングルールメタメタモデルと、前記テストケースメタモデル及び前記設計メタモデル間の関連付けを表すマッピングルールメタモデルと、前記テストケースとを記憶するための記憶手段を備え、前記設計要素との置換部分を含んで前記テストケースのひな型を表すテストケーステンプレートを前記テストケースメタモデルの一部として準備し、前記テストケーステンプレートの置換部分を前記テスト対象の設計要素に置換して前記テストケースを生成するテストケース生成装置に用いられるテストケース生成プログラムであって、前記テストケース生成装置を、それぞれUMLのクラス図で表された前記設計メタメタモデル、前記テストケースメタメタモデル及び前記マッピングルールメタメタモデルを予め前記記憶手段に書込む手段、前記記憶手段内の設計メタメタモデルを表示することにより、前記設計メタモデルを表すUMLのクラス図の入力を促す手段、前記入力を受け付けた前記設計メタモデルを表すUMLのクラス図を前記記憶手段に書込む手段、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図を表示することにより、前記設計メタモデルを構成する設計メタモデル要素を示す設計メタモデル要素データ、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ及び関連先の設計メタモデル要素データの入力を促す手段、前記入力を受け付けた前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを前記記憶手段に書込む手段、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データに対し、前記記憶手段内の設計メタメタモデルに違反している箇所を含むか否かを検証する手段、この検証結果が否を示す場合、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを表示することにより、前記設計要素を特定する要素データ、当該設計要素の項目を示す要素項目データ及び当該設計要素の処理を示す要素処理データの入力を促す手段、前記入力を受け付けた前記要素データ、前記要素項目データ及び前記要素処理データを前記記憶手段に書込む手段、前記記憶手段内のテストケースメタメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを表すUMLのクラス図の入力を促す手段、前記入力を受け付けた前記テストケースメタモデルを表すUMLのクラス図を前記記憶手段に書込む手段、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ及び当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データの入力を促す手段、前記入力を受け付けた前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データを前記記憶手段に書込む手段、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図、前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データに対し、前記記憶手段内のテストケースメタメタモデルに違反している箇所を含むか否かを検証する手段、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタメタモデルを表すUMLのクラス図、前記記憶手段内のテストケースメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記マッピングルールメタモデルを表すUMLのクラス図の入力を促す手段、前記入力を受け付けた前記マッピングルールメタモデルを表すUMLのクラス図を前記記憶手段に書込む手段、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記設計メタモデル要素データ及び前記テストケースメタモデル要素データを表示することにより、前記マッピングルールメタモデルを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データの入力を促す手段、前記入力を受け付けた前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データを前記記憶手段に書込む手段、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データに対し、前記記憶手段内のマッピングルールメタメタモデルに違反している箇所を含むか否かを検証する手段、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタモデルを表すクラス図と前記テストケースメタモデル要素属性データとを表示することにより、前記設計要素との置換部分として前記要素データ、前記要素項目データ及び前記要素処理データ内のいずれかの項目を含んで前記テストケースのひな型を表すテストケーステンプレートの入力を促す手段、前記入力を受け付けたテストケーステンプレートを前記記憶手段に書込む手段、前記記憶手段内の前記テストケーステンプレートの置換部分の各項目を、前記要素データ、前記要素項目データ及び前記要素処理データ内の前記いずれかの項目の値に置換して前記テストケースを生成する手段、当該生成したテストケースを前記記憶手段に書込む手段、として機能させるためのテストケース生成プログラム。請求項1に記載のテストケース生成プログラムにおいて、前記設計メタメタモデルモデルは、前記設計要素を表す設計要素クラスに汎化される全体要素クラス及び項目要素クラスと、当該汎化される全体要素クラス又は項目要素クラス間の関係を示す組合せ情報クラス及び遷移情報クラスとの4種類の要素が前記設計メタモデルにあることを表し、前記項目要素クラスが多重度0以上で所有されるように前記全体要素クラスに関連付けられ、前記組合せ情報クラスが前記汎化されるいずれかの各要素クラスの関係を示す関連クラスであり、前記遷移情報クラスが前記汎化されるいずれかの各要素クラスに関連付けられることを表す情報であり、前記テストケースメタモデルは、前記設計要素クラスに関連付けられた多重度0以上のテストケース要素クラスという1種類の要素が前記テストケースメタモデルにあることを表し、前記テストケース要素クラスが一連のテスト要素を表すテストスイート要素クラスに所有され、前記テストケース要素クラスが多重度0以上のテスト観点クラスに関連付けられ、前記テストケース要素クラスがテストケーステンプレートクラスに関連付けられ、前記テストケーステンプレートクラスに汎化される組合せテストケーステンプレート、遷移テストケーステンプレート及び一覧テストケーステンプレートを含む情報であり、前記マッピングルールメタメタモデルは、前記設計メタメタモデル内の設計要素と前記テストケースメタメタモデル内のテストケース要素との関係を示す関連クラスであるマッピングルール要素クラスに汎化される組合せマッピングルール要素クラス、遷移マッピングルール要素クラス及び一覧マッピングルール要素クラスの3種類の要素が前記マッピングルールメタモデルにあることを表す情報であり、前記設計メタモデルを表すUMLのクラス図は、前記全体要素クラス及び項目要素クラスの両者に対応するステレオタイプ名と前記設計メタモデル要素の名称を示すメタモデル要素名とをもつクラスと、前記項目要素クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、前記組合せ情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、前記遷移情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスとを関連付けて表した情報であり、前記設計メタモデル要素データは、前記設計メタモデル要素を識別するメタモデル要素IDの項目と値及び前記メタモデル要素名の項目と値を含んでおり、前記設計メタモデル要素属性データは、前記メタモデル要素IDの項目と値、前記設計メタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、前記設計メタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及び前記設計メタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでおり、前記関連先の設計メタモデル要素データは、前記設計メタモデル要素の関連先の設計メタモデル要素を識別するメタモデル要素IDの項目と値及び前記関連先の設計メタモデル要素の名称を示すメタモデル要素名の項目と値を含んでおり、前記要素データは、前記設計要素を識別する要素IDの項目と値及び前記設計要素の名称を示す設計要素名の項目と値を含んでおり、前記要素項目データは、前記要素IDの項目と値、前記要素の項目を識別する要素項目IDの項目と値、前記要素の項目の名称を示す要素項目名の項目と値を含んでおり、前記要素処理データは、前記要素IDの項目と値、前記設計要素の処理を識別する要素処理IDの項目と値、前記設計要素の処理の名称を示す要素処理名の項目と値、前記要素項目IDの項目と値、イベントを識別するイベントIDの項目と値、処理先の要素項目IDの項目と値、前記設計要素の処理の結果を示す処理結果の項目と値を含んでおり、前記テストケースメタモデルを表すUMLのクラス図は、前記設計メタモデルを表すクラス図内の各クラスのステレオタイプ名に代えて前記テストケース要素クラスに対応するステレオタイプ名をもつと共に、当該各クラスのメタモデル要素名に対する前記テストケース要素クラスを表すメタモデル要素名をもつ各クラスを表した情報であり、前記テストケースメタモデル要素データは、前記テストスイート要素クラスに対応するテストスイートIDの項目と値、前記テストケースメタモデル要素を識別するメタモデル要素IDの項目と値及び前記テストケース要素クラスを表すメタモデル要素名の項目と値を含んでおり、前記テストケースメタモデル要素属性データは、前記メタモデル要素IDの項目と値、前記テストケースメタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、前記テストケースメタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及び前記テストケースメタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでおり、前記マッピングルールメタモデルを表すUMLのクラス図は、前記設計メタモデルを表すクラス図内の各クラスと、前記テストケースメタモデルを表すクラス図内の各クラスと、当該テストケースメタモデルを表すクラス図内の各クラスが前記設計メタモデルを表すクラス図内の各クラスに依存する旨を表すように依存元のクラスから依存先のクラスを結ぶ破線の矢印と、前記破線の矢印に近接して記述された依存先のクラスのステレオタイプ名とを表す情報であり、前記マッピングルールメタモデル要素データは、前記破線の矢印を識別するマッピング要素IDの項目と値及び前記破線の矢印の名称を表すマッピング要素名の項目と値を含んでおり、前記マッピングルールメタモデル要素属性データは、前記依存先のクラスを識別する設計メタモデル要素IDの項目と値、前記依存元のクラスを識別するテストケースメタモデル要素IDの項目と値、及び前記破線の矢印に近接して記述されたステレオタイプ名の項目と値を含んでおり、前記テストケーステンプレートの入力を促す手段は、前記記憶手段内のマッピングルールメタモデルを表すクラス図と前記テストケースメタモデル要素属性データ内のメタモデル要素属性名の値に含まれるテストケーステンプレート名とを表示する手段、を含んでいることを特徴とするテストケース生成プログラム。テスト対象の設計書に記述された画面又はデータに対応する設計要素と、前記設計要素の構造を表す設計メタモデルと、前記設計メタモデルの構造を表す設計メタメタモデルと、前記設計要素を用いてテスト内容を記述したテストケースの構造を表すテストケースメタモデルと、前記テストケースメタモデルの構造を表すテストケースメタメタモデルと、前記テストケースメタメタモデル及び前記設計メタメタモデル間の関係を表すマッピングルールメタメタモデルと、前記テストケースメタモデル及び前記設計メタモデル間の関連付けを表すマッピングルールメタモデルと、前記テストケースとを記憶するための記憶手段を備え、前記設計要素との置換部分を含んで前記テストケースのひな型を表すテストケーステンプレートを前記テストケースメタモデルの一部として準備し、前記テストケーステンプレートの置換部分を前記テスト対象の設計要素に置換して前記テストケースを生成するテストケース生成装置であって、それぞれUMLのクラス図で表された前記設計メタメタモデル、前記テストケースメタメタモデル及び前記マッピングルールメタメタモデルを予め前記記憶手段に書込む手段と、前記記憶手段内の設計メタメタモデルを表示することにより、前記設計メタモデルを表すUMLのクラス図の入力を促す手段と、前記入力を受け付けた前記設計メタモデルを表すUMLのクラス図を前記記憶手段に書込む手段と、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図を表示することにより、前記設計メタモデルを構成する設計メタモデル要素を示す設計メタモデル要素データ、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ及び関連先の設計メタモデル要素データの入力を促す手段と、前記入力を受け付けた前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを前記記憶手段に書込む手段と、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データに対し、前記記憶手段内の設計メタメタモデルに違反している箇所を含むか否かを検証する手段と、この検証結果が否を示す場合、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを表示することにより、前記設計要素を特定する要素データ、当該設計要素の項目を示す要素項目データ及び当該設計要素の処理を示す要素処理データの入力を促す手段と、前記入力を受け付けた前記要素データ、前記要素項目データ及び前記要素処理データを前記記憶手段に書込む手段と、前記記憶手段内のテストケースメタメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを表すUMLのクラス図の入力を促す手段と、前記入力を受け付けた前記テストケースメタモデルを表すUMLのクラス図を前記記憶手段に書込む手段と、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ及び当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データの入力を促す手段と、前記入力を受け付けた前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データを前記記憶手段に書込む手段と、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図、前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データに対し、前記記憶手段内のテストケースメタメタモデルに違反している箇所を含むか否かを検証する手段と、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタメタモデルを表すUMLのクラス図、前記記憶手段内のテストケースメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記マッピングルールメタモデルを表すUMLのクラス図の入力を促す手段と、前記入力を受け付けた前記マッピングルールメタモデルを表すUMLのクラス図を前記記憶手段に書込む手段と、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記設計メタモデル要素データ及び前記テストケースメタモデル要素データを表示することにより、前記マッピングルールメタモデルを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データの入力を促す手段と、前記入力を受け付けた前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データを前記記憶手段に書込む手段と、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データに対し、前記記憶手段内のマッピングルールメタメタモデルに違反している箇所を含むか否かを検証する手段と、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタモデルを表すクラス図と前記テストケースメタモデル要素属性データとを表示することにより、前記設計要素との置換部分として前記要素データ、前記要素項目データ及び前記要素処理データ内のいずれかの項目を含んで前記テストケースのひな型を表すテストケーステンプレートの入力を促す手段と、前記入力を受け付けたテストケーステンプレートを前記記憶手段に書込む手段と、前記記憶手段内の前記テストケーステンプレートの置換部分の各項目を、前記要素データ、前記要素項目データ及び前記要素処理データ内の前記いずれかの項目の値に置換して前記テストケースを生成する手段と、当該生成したテストケースを前記記憶手段に書込む手段と、を備えたことを特徴とするテストケース生成装置。請求項3に記載のテストケース生成装置において、前記設計メタメタモデルモデルは、前記設計要素を表す設計要素クラスに汎化される全体要素クラス及び項目要素クラスと、当該汎化される全体要素クラス又は項目要素クラス間の関係を示す組合せ情報クラス及び遷移情報クラスとの4種類の要素が前記設計メタモデルにあることを表し、前記項目要素クラスが多重度0以上で所有されるように前記全体要素クラスに関連付けられ、前記組合せ情報クラスが前記汎化されるいずれかの各要素クラスの関係を示す関連クラスであり、前記遷移情報クラスが前記汎化されるいずれかの各要素クラスに関連付けられることを表す情報であり、前記テストケースメタモデルは、前記設計要素クラスに関連付けられた多重度0以上のテストケース要素クラスという1種類の要素が前記テストケースメタモデルにあることを表し、前記テストケース要素クラスが一連のテスト要素を表すテストスイート要素クラスに所有され、前記テストケース要素クラスが多重度0以上のテスト観点クラスに関連付けられ、前記テストケース要素クラスがテストケーステンプレートクラスに関連付けられ、前記テストケーステンプレートクラスに汎化される組合せテストケーステンプレート、遷移テストケーステンプレート及び一覧テストケーステンプレートを含む情報であり、前記マッピングルールメタメタモデルは、前記設計メタメタモデル内の設計要素と前記テストケースメタメタモデル内のテストケース要素との関係を示す関連クラスであるマッピングルール要素クラスに汎化される組合せマッピングルール要素クラス、遷移マッピングルール要素クラス及び一覧マッピングルール要素クラスの3種類の要素が前記マッピングルールメタモデルにあることを表す情報であり、前記設計メタモデルを表すUMLのクラス図は、前記全体要素クラス及び項目要素クラスの両者に対応するステレオタイプ名と前記設計メタモデル要素の名称を示すメタモデル要素名とをもつクラスと、前記項目要素クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、前記組合せ情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、前記遷移情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスとを関連付けて表した情報であり、前記設計メタモデル要素データは、前記設計メタモデル要素を識別するメタモデル要素IDの項目と値及び前記メタモデル要素名の項目と値を含んでおり、前記設計メタモデル要素属性データは、前記メタモデル要素IDの項目と値、前記設計メタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、前記設計メタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及び前記設計メタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでおり、前記関連先の設計メタモデル要素データは、前記設計メタモデル要素の関連先の設計メタモデル要素を識別するメタモデル要素IDの項目と値及び前記関連先の設計メタモデル要素の名称を示すメタモデル要素名の項目と値を含んでおり、前記要素データは、前記設計要素を識別する要素IDの項目と値及び前記設計要素の名称を示す設計要素名の項目と値を含んでおり、前記要素項目データは、前記要素IDの項目と値、前記要素の項目を識別する要素項目IDの項目と値、前記要素の項目の名称を示す要素項目名の項目と値を含んでおり、前記要素処理データは、前記要素IDの項目と値、前記設計要素の処理を識別する要素処理IDの項目と値、前記設計要素の処理の名称を示す要素処理名の項目と値、前記要素項目IDの項目と値、イベントを識別するイベントIDの項目と値、処理先の要素項目IDの項目と値、前記設計要素の処理の結果を示す処理結果の項目と値を含んでおり、前記テストケースメタモデルを表すUMLのクラス図は、前記設計メタモデルを表すクラス図内の各クラスのステレオタイプ名に代えて前記テストケース要素クラスに対応するステレオタイプ名をもつと共に、当該各クラスのメタモデル要素名に対する前記テストケース要素クラスを表すメタモデル要素名をもつ各クラスを表した情報であり、前記テストケースメタモデル要素データは、前記テストスイート要素クラスに対応するテストスイートIDの項目と値、前記テストケースメタモデル要素を識別するメタモデル要素IDの項目と値及び前記テストケース要素クラスを表すメタモデル要素名の項目と値を含んでおり、前記テストケースメタモデル要素属性データは、前記メタモデル要素IDの項目と値、前記テストケースメタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、前記テストケースメタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及び前記テストケースメタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでおり、前記マッピングルールメタモデルを表すUMLのクラス図は、前記設計メタモデルを表すクラス図内の各クラスと、前記テストケースメタモデルを表すクラス図内の各クラスと、当該テストケースメタモデルを表すクラス図内の各クラスが前記設計メタモデルを表すクラス図内の各クラスに依存する旨を表すように依存元のクラスから依存先のクラスを結ぶ破線の矢印と、前記破線の矢印に近接して記述された依存先のクラスのステレオタイプ名とを表す情報であり、前記マッピングルールメタモデル要素データは、前記破線の矢印を識別するマッピング要素IDの項目と値及び前記破線の矢印の名称を表すマッピング要素名の項目と値を含んでおり、前記マッピングルールメタモデル要素属性データは、前記依存先のクラスを識別する設計メタモデル要素IDの項目と値、前記依存元のクラスを識別するテストケースメタモデル要素IDの項目と値、及び前記破線の矢印に近接して記述されたステレオタイプ名の項目と値を含んでおり、前記テストケーステンプレートの入力を促す手段は、前記記憶手段内のマッピングルールメタモデルを表すクラス図と前記テストケースメタモデル要素属性データ内のメタモデル要素属性名の値に含まれるテストケーステンプレート名とを表示する手段、を備えたことを特徴とするテストケース生成装置。しかしながら、以上のようなテストケース生成作業では、マッピング方法をどのように抽出するかが不明確であり、マッピング方法を個別に検討する手間がかかる結果、生成されるテストケースの質が低下する傾向にある。なお、ここでいう質の低下は、作業者のノウハウや経験に依存して発生しており、要件/設計要素に対応するテストケース全体が漏れている場合や、テスト条件が不十分なためにテストケースの一部が漏れている場合がある。すなわち、未熟な作業者である程、テストケースに漏れが発生し易い傾向にある。従って、テストケース生成の際に、未熟な作業者に対してもテストケースの漏れの発生を無くすことが求められている。本発明が解決しようとする課題は、テストケース生成の際に、未熟な作業者に対してもテストケースの漏れの発生を無くし得るテストケース生成プログラム及びテストケース生成装置を提供することである。実施形態のテストケース生成装置は、テスト対象の設計書に記述された画面又はデータに対応する設計要素と、前記設計要素の構造を表す設計メタモデルと、前記設計メタモデルの構造を表す設計メタメタモデルと、前記設計要素を用いてテスト内容を記述したテストケースの構造を表すテストケースメタモデルと、前記テストケースメタモデルの構造を表すテストケースメタメタモデルと、前記テストケースメタメタモデル及び前記設計メタメタモデル間の関係を表すマッピングルールメタメタモデルと、前記テストケースメタモデル及び前記設計メタモデル間の関連付けを表すマッピングルールメタモデルと、前記テストケースとを記憶するための記憶手段を備えている。前記テストケース生成装置は、前記設計要素との置換部分を含んで前記テストケースのひな型を表すテストケーステンプレートを前記テストケースメタモデルの一部として準備し、前記テストケーステンプレートの置換部分を前記テスト対象の設計要素に置換して前記テストケースを生成する。前記テストケース生成装置は、それぞれUMLのクラス図で表された前記設計メタメタモデル、前記テストケースメタメタモデル及び前記マッピングルールメタメタモデルを予め前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の設計メタメタモデルを表示することにより、前記設計メタモデルを表すUMLのクラス図の入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記設計メタモデルを表すUMLのクラス図を前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図を表示することにより、前記設計メタモデルを構成する設計メタモデル要素を示す設計メタモデル要素データ、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ及び関連先の設計メタモデル要素データの入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データに対し、前記記憶手段内の設計メタメタモデルに違反している箇所を含むか否かを検証する。前記テストケース生成装置は、この検証結果が否を示す場合、前記記憶手段内の前記設計メタモデルを表すUMLのクラス図、前記設計メタモデル要素データ、前記設計メタモデル要素属性データ及び前記関連先の設計メタモデル要素データを表示することにより、前記設計要素を特定する要素データ、当該設計要素の項目を示す要素項目データ及び当該設計要素の処理を示す要素処理データの入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記要素データ、前記要素項目データ及び前記要素処理データを前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内のテストケースメタメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを表すUMLのクラス図の入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記テストケースメタモデルを表すUMLのクラス図を前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図を表示することにより、前記テストケースメタモデルを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ及び当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データの入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データを前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記テストケースメタモデルを表すUMLのクラス図、前記テストケースメタモデル要素データ及び前記テストケースメタモデル要素属性データに対し、前記記憶手段内のテストケースメタメタモデルに違反している箇所を含むか否かを検証する。前記テストケース生成装置は、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタメタモデルを表すUMLのクラス図、前記記憶手段内のテストケースメタモデルを表すUMLのクラス図及び前記設計メタモデルを表すUMLのクラス図を表示することにより、前記マッピングルールメタモデルを表すUMLのクラス図の入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記マッピングルールメタモデルを表すUMLのクラス図を前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記設計メタモデル要素データ及び前記テストケースメタモデル要素データを表示することにより、前記マッピングルールメタモデルを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データの入力を促す。前記テストケース生成装置は、前記入力を受け付けた前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データを前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記マッピングルールメタモデルを表すUMLのクラス図、前記マッピングルールメタモデル要素データ及び前記マッピングルールメタモデル要素属性データに対し、前記記憶手段内のマッピングルールメタメタモデルに違反している箇所を含むか否かを検証する。前記テストケース生成装置は、この検証結果が否を示す場合、前記記憶手段内のマッピングルールメタモデルを表すクラス図と前記テストケースメタモデル要素属性データとを表示することにより、前記設計要素との置換部分として前記要素データ、前記要素項目データ及び前記要素処理データ内のいずれかの項目を含んで前記テストケースのひな型を表すテストケーステンプレートの入力を促す。前記テストケース生成装置は、前記入力を受け付けたテストケーステンプレートを前記記憶手段に書込む。前記テストケース生成装置は、前記記憶手段内の前記テストケーステンプレートの置換部分の各項目を、前記要素データ、前記要素項目データ及び前記要素処理データ内の前記いずれかの項目の値に置換して前記テストケースを生成する。前記テストケース生成装置は、当該生成したテストケースを前記記憶手段に書込む。以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。本実施形態では、テスト対象の要件/設計要素の構造設計メタモデルを、テストケースの構造テストケースメタモデルにマッピングすることにより、テストケースの生成を行うことができる。実際に、要件/設計要素をテストケースに変換する際には、テストケースのテンプレートを用意する。但し、このテストケースのテンプレートは、テストケースの構造テストケースメタモデルの種類だけ用意すればよい。また、テスト対象の要件/設計要素の構造設計メタモデル、テストケースの構造テストケースメタモデル、及び両者のマッピングルールマッピングルールメタモデルを、利用者が定義してシステムに取り込むことを可能にし、テストケース生成の適用範囲を拡げることも容易になる。設計メタモデルの構造のパターン、テストケースメタモデルの構造のパターン、及び両者間のマッピングルールメタモデルのパターンは、図1に示すように、各メタモデルの上層である各メタメタモデルの階層で記述できるようにする。メタメタモデルの階層で、メタモデルの構造のパターンを記述することにより、メタメタモデルを利用してメタモデルの検証を可能にする。本実施形態での用語の定義は、以下の通りである。要件/設計要素は、要件定義や外部設計、内部設計の結果である成果物、要件定義書や、設計書の内容を表す。以下の説明では、要件定義書の内容を示す要件要素と、設計書の内容を表す設計要素のうち、設計要素を代表例に用いて要件/設計要素を述べる。設計メタモデルは、設計要素を構成する要素が、どのような属性をもち、他の要素とどのように関連しているかを表したモデルを表す。設計メタモデルは、例えば、UMLUnifiedModelingLanguage:統一モデリング言語のクラス図の表記で記述される。設計メタメタモデルは、設計メタモデルの要素が、他の要素とどのように関連しているか、その構造を表したモデルを表す。また、設計メタメタモデルは、設計メタモデルの構造のパターンを表しており、例えば、UMLのクラス図の表記で記述される。テストケースは、テスト対象である設計要素のテストの最小単位を表す。テストケースメタモデルは、テストケースを構成する要素が、どのような属性をもち、他の要素とどのように関連しているかを表したモデルを表しており、例えば、UMLのクラス図の表記で記述される。テストケースメタメタモデルは、テストケースメタモデルの要素が、他の要素とどのように関連しているか、その構造を表したモデルを表す。テストケースメタメタモデルは、テストケースメタモデルの構造のパターンを表しており、例えば、UMLのクラス図の表記で記述される。マッピングルールメタモデルは、設計メタモデルとテストケースメタモデルの対応関係を表したモデルを表し、例えば、UMLのクラス図の表記で記述される。マッピングルールメタメタモデルは、設計メタメタモデルとテストケースメタメタモデルの対応関係を表したモデルを表す。マッピングルールメタメタモデルは、設計メタモデルとテストケースメタモデルのマッピングの構造のパターンを表しており、例えば、UMLのクラス図の表記で記述される。次に、一実施形態の具体的な構成について説明する。図2は一実施形態に係るテストケース生成装置の構成を示す模式図である。このテストケース生成装置は、テスト対象の設計書に記述された画面又はデータに対応する設計要素と、設計要素の構造を表す設計メタモデルと、設計メタモデルの構造を表す設計メタメタモデルと、設計要素を用いてテスト内容を記述したテストケースの構造を表すテストケースメタモデルと、テストケースメタモデルの構造を表すテストケースメタメタモデルと、テストケースメタメタモデル及び設計メタメタモデル間の関係を表すマッピングルールメタメタモデルと、テストケースメタモデル及び設計メタモデル間の関連付けを表すマッピングルールメタモデルと、テストデータとを記憶する記憶部201~208を備えている。また、テストケース生成装置は、設計要素との置換部分を含んでテストケースのひな型を表すテストケーステンプレートをテストケースメタモデルの一部として準備し、テストケーステンプレートの置換部分をテスト対象の設計要素に置換してテストケースを生成する。具体的には、テストケース生成装置は、入出力部200、設計要素記憶部201、設計メタメタモデル記憶部202、設計メタモデル記憶部203、テストケースメタメタモデル記憶部204、テストケースメタモデル記憶部205、マッピングルールメタメタモデル記憶部206、マッピングルールメタモデル記憶部207、テストケース記憶部208、制御部209、設計メタモデル登録部210、設計メタモデル検証部211、設計要素入力部212、テストケースメタモデル登録部213、テストケースメタモデル検証部214、マッピングルールメタモデル登録部215、マッピングルールメタモデル検証部216及びテストケース生成部217を備えている。ここで、入出力部200は、テストケース生成者本システムの利用者に対するユーザインタフェースである。入出力部200としては、例えば、ディスプレイ等の表示出力装置と、キーボード及びマウス等の入力装置とが使用可能となっている。すなわち、入出力部200は、テストケース生成者の操作により、種々のデータを制御部209に入力する機能と、制御部209から受けるデータを表示する機能と、この表示により、種々のデータの入力を促す機能とをもっている。設計要素記憶部201は、図3及び図4に示すように、各部209~217から読出/書込可能であって、テスト対象の設計書に記述された画面又はデータに対応する設計要素201aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。なお、各記憶部201~208は、別々の記憶装置として実現してもよく、同一の記憶装置内の別々の記憶領域として実現してもよい。ここで、設計要素201aは、設計要素を特定する要素データ201a1,201a4、当該設計要素の項目を示す要素項目データ201a2,201a5及び当該設計要素の処理を示す要素処理データ201a3から構成される。要素データ201a1,201a4は、設計要素を識別する要素IDの項目と値及び設計要素の名称を示す設計要素名の項目と値を含んでいる。要素項目データ201a2,201a5は、要素IDの項目と値、要素の項目を識別する要素項目IDの項目と値、要素の項目の名称を示す要素項目名の項目と値を含んでいる。要素処理データ201a3は、要素IDの項目と値、設計要素の処理を識別する要素処理IDの項目と値、設計要素の処理の名称を示す要素処理名の項目と値、要素項目IDの項目と値、イベントを識別するイベントIDの項目と値、処理先の要素項目IDの項目と値、設計要素の処理の結果を示す処理結果の項目と値を含んでいる。設計メタメタモデル記憶部202は、図5に示すように、各部209~217から読出/書込可能であって、設計メタモデルの構造を表す設計メタメタモデル202aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。ここで、設計メタメタモデル202aは、設計要素を表す設計要素クラスに汎化される全体要素クラス及び項目要素クラスと、当該汎化される全体要素クラス又は項目要素クラス間の関係を示す組合せ情報クラス及び遷移情報クラスとの4種類の要素が設計メタモデルにあることを表し、項目要素クラスが多重度0以上で所有されるように全体要素クラスに関連付けられ、組合せ情報クラスが当該汎化されるいずれかの各要素クラスの関係を示す関連クラスであり、遷移情報クラスが当該汎化されるいずれかの各要素クラスに関連付けられることを表す情報である。また、設計メタメタモデル202aは、図6に示すように、他のメタメタモデル204a,206aと関係している。設計メタモデル記憶部203は、図7及び図8に示すように、各部209~217から読出/書込可能であって、設計要素の構造を表す設計メタモデル203aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。補足すると、設計メタモデル記憶部203は、設計メタモデル203aを表すUMLのクラス図、設計メタモデル203aを構成する設計メタモデル要素を示す設計メタモデル要素データ203a1、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3が書き込まれる。設計メタモデル203aを表すUMLのクラス図は、全体要素クラス及び項目要素クラスの両者に対応するステレオタイプ名と設計メタモデル要素の名称を示すメタモデル要素名とをもつクラスと、項目要素クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、組合せ情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスと、遷移情報クラスに対応するステレオタイプ名と前記メタモデル要素名とをもつクラスとを関連付けて表した情報である。設計メタモデル要素データ203a1は、設計メタモデル要素を識別するメタモデル要素IDの項目と値及びメタモデル要素名の項目と値を含んでいる。設計メタモデル要素属性データ203a2は、メタモデル要素IDの項目と値、設計メタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、設計メタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及び設計メタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでいる。関連先の設計メタモデル要素データ203a3は、設計メタモデル要素の関連先の設計メタモデル要素を識別するメタモデル要素IDの項目と値及び関連先の設計メタモデル要素の名称を示すメタモデル要素名の項目と値を含んでいる。テストケースメタメタモデル記憶部204は、図9に示すように、各部209~217から読出/書込可能であって、テストケースメタモデルの構造を表すテストケースメタメタモデル204aを記憶するための記憶装置又は記憶装置の記憶領域である。ここで、テストケースメタメタモデル204aは、図6に示すように、設計メタメタモデル202aの設計要素クラスに関連付けられた多重度0以上のテストケース要素クラスという1種類の要素がテストケースメタモデルにあることを表し、テストケース要素クラスが一連のテスト要素を表すテストスイート要素クラスに所有され、テストケース要素クラスが多重度0以上のテスト観点クラスに関連付けられ、テストケース要素クラスがテストケーステンプレートクラスに関連付けられ、テストケーステンプレートクラスに汎化される組合せテストケーステンプレート、遷移テストケーステンプレート及び一覧テストケーステンプレートを含む情報である。テストケースメタモデル記憶部205は、図10及び図11に示すように、各部209~217から読出/書込可能であって、設計要素を用いてテスト内容を記述したテストケースの構造を表すテストケースメタモデル205aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。補足すると、テストケースメタモデル記憶部205は、テストケースメタモデル205aを表すUMLのクラス図、テストケースメタモデル205aを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ205a1、当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データ205a2及びテストケーステンプレート205bが書き込まれる。ここで、テストケースメタモデル205aを表すUMLのクラス図は、設計メタモデル203aを表すクラス図内の各クラスのステレオタイプ名に代えてテストケース要素クラスに対応するステレオタイプ名をもつと共に、当該各クラスのメタモデル要素名に対するテストケース要素クラスを表すメタモデル要素名をもつ各クラスを表した情報である。テストケースメタモデル要素データ205a1は、テストスイート要素クラスに対応するテストスイートIDの項目と値、テストケースメタモデル要素を識別するメタモデル要素IDの項目と値及びテストケース要素クラスを表すメタモデル要素名の項目と値を含んでいる。テストケースメタモデル要素属性データ205a2は、メタモデル要素IDの項目と値、テストケースメタモデル要素の属性を識別するメタモデル要素属性IDの項目と値、テストケースメタモデル要素の属性の名称を示すメタモデル要素属性名の項目と値及びテストケースメタモデル要素の属性の型を示すメタモデル要素属性型の項目と値を含んでいる。テストケーステンプレート205bは、設計要素との置換部分として要素データ、要素項目データ及び要素処理データ内のいずれかの項目を含んでいるテストケースが記述されている。マッピングルールメタメタモデル記憶部206は、図12及び図6に示すように、各部209~217から読出/書込可能であって、テストケースメタメタモデル204a及び設計メタメタモデル202a間の関係を表すマッピングルールメタメタモデル206aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。ここで、マッピングルールメタメタモデル206aは、設計メタメタモデル202a内の設計要素とテストケースメタメタモデル204a内のテストケース要素との関係を示す関連クラスであるマッピングルール要素クラスに汎化される組合せマッピングルール要素クラス、遷移マッピングルール要素クラス及び一覧マッピングルール要素クラスの3種類の要素がマッピングルールメタモデルにあることを表す情報である。マッピングルールメタモデル記憶部207は、図13及び図14に示すように、各部209~217から読出/書込可能であって、テストケースメタモデル205a及び設計メタモデル203a間の関連付けを表すマッピングルールメタモデル207aを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。補足すると、マッピングルールメタモデル記憶部207は、マッピングルールメタモデル207aを表すUMLのクラス図、マッピングルールメタモデル207aを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ207a1、及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データ207a2が書き込まれる。ここで、マッピングルールメタモデル207aを表すUMLのクラス図は、設計メタモデル203aを表すクラス図内の各クラスと、テストケースメタモデル205aを表すクラス図内の各クラスと、当該テストケースメタモデル205aを表すクラス図内の各クラスが設計メタモデル203aを表すクラス図内の各クラスに依存する旨を表すように依存元のクラスから依存先のクラスを結ぶ破線の矢印と、破線の矢印に近接して記述された依存先のクラスのステレオタイプ名とを表す情報である。マッピングルールメタモデル要素データ207a1は、破線の矢印を識別するマッピング要素IDの項目と値及び破線の矢印の名称を表すマッピング要素名の項目と値を含んでいる。マッピングルールメタモデル要素属性データ207a2は、依存先のクラスを識別する設計メタモデル要素IDの項目と値、依存元のクラスを識別するテストケースメタモデル要素IDの項目と値、及び破線の矢印に近接して記述されたステレオタイプ名の項目と値を含んでいる。テストケース記憶部208は、図15に示すように、各部209~217から読出/書込可能であって、テストケーステンプレートの置換部分がテスト対象の設計要素に置換されて生成されたテストケース208dを記憶するためのDBMS、記憶装置又は記憶装置の記憶領域である。なお、テストケース記憶部208は、利用シナリオ毎にテストケース208dを含むテストケース一覧表208a、機能毎にテストケース208dを含むテストケース一覧表208b、及び機能の組合せ毎にテストケース208dを含むテストケース一覧表208cを記憶するものとしてもよい。制御部209は、入出力部200及び各部210~217を制御する機能をもっている。具体的には例えば、制御部209は、以下の機能~をもっている。UMLのクラス図で表された設計メタメタモデル202aを予め設計メタメタモデル記憶部202に書込む機能。UMLのクラス図で表されたテストケースメタメタモデル204aを予めテストケースメタメタモデル記憶部204に書込む機能。UMLのクラス図で表されたマッピングルールメタメタモデル206aを予めマッピングルールメタメタ記憶部206に書込む機能。設計メタモデル登録部210は、入出力部200からの設計メタモデル登録の依頼にしたがって、設計メタモデル203aを設計メタモデル記憶部203に書き込む機能をもっている。このとき、設計メタモデル登録部210は、予め記憶された設計メタメタモデル202aに基づき、設計メタメタモデル検証部211に設計メタモデル203aを検証させる。具体的には例えば、設計メタモデル登録部210は、以下の機能~をもっている。設計メタメタモデル記憶部202内の設計メタメタモデル202aを入出力部200にて表示することにより、設計メタモデル203aを表すUMLのクラス図の入力を促す機能。入力を受け付けた設計メタモデル203aを表すUMLのクラス図を設計メタモデル記憶部203に書込む機能。設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、設計メタモデル203aを構成する設計メタモデル要素を示す設計メタモデル要素データ203a1、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3の入力を促す機能。入力を受け付けた設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3を設計メタモデル記憶部203に書込む機能。設計メタモデル検証部211は、設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図、設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3に対し、設計メタメタモデル記憶部202内の設計メタメタモデル202aに違反している箇所を含むか否かを検証する機能をもっている。設計要素入力部212は、入出力部からの設計要素入力の依頼にしたがって、設計要素を設計要素記憶部201に書き込む機能をもっている。具体的には設計要素入力部212は、以下の機能~をもっている。設計メタモデル検証部211による検証結果が否を示す場合、設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図、設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3を入出力部200にて表示することにより、設計要素を特定する要素データ201a1,201a4、当該設計要素の項目を示す要素項目データ201a2,201a5及び当該設計要素の処理を示す要素処理データ201a3の入力を促す機能。入力を受け付けた要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3を設計要素記憶部201に書込む機能。テストケースメタモデル登録部213は、入出力部200からのテストケースメタモデル登録の依頼にしたがって、テストケースメタモデル205aをテストケースメタモデル記憶部205に書き込む機能をもっている。なお、テストケースメタモデル登録部213は、テストケースメタメタモデル検証部214にテストケースメタモデル205aを検証させる機能ももっている。具体的にはテストケースメタモデル登録部213は、以下の機能~をもっている。テストケースメタメタモデル記憶部204内のテストケースメタメタモデル204aを表すUMLのクラス図及び設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、テストケースメタモデル205aを表すUMLのクラス図の入力を促す機能。入力を受け付けたテストケースメタモデル205aを表すUMLのクラス図をテストケースメタモデル記憶部205に書込む機能。テストケースメタモデル記憶部205内のテストケースメタモデル205aを表すUMLのクラス図を入出力部200にて表示することにより、テストケースメタモデル205aを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ205a1及び当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データ205a2の入力を促す機能。入力を受け付けたテストケースメタモデル要素データ205a1及びテストケースメタモデル要素属性データ205a2をテストケースメタモデル記憶部205に書込む機能。マッピングルールメタモデル検証部216による検証結果が否を示す場合、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すクラス図とテストケースメタモデル記憶部205内のテストケースメタモデル要素属性データ205a2とを入出力部200にて表示することにより、テストケースのひな型を表すテストケーステンプレート205bの入力を促す機能。なお、この機能は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すクラス図とテストケースメタモデル記憶部205内のテストケースメタモデル要素属性データ205a2内のメタモデル要素属性名の値に含まれるテストケーステンプレート名とを入出力部200にて表示する機能を含んでいる。入力を受け付けたテストケーステンプレート205bをテストケースメタモデル記憶部205に書込む機能。テストケースメタモデル検証部214は、テストケースメタモデル記憶部205内のテストケースメタモデル205aを表すUMLのクラス図、テストケースメタモデル要素データ205a1及びテストケースメタモデル要素属性データ205a2に対し、テストケースメタメタモデル記憶部204内のテストケースメタメタモデル204aに違反している箇所を含むか否かを検証する機能をもっている。マッピングルールメタモデル登録部215は、入出力部200からのマッピングルールメタモデル登録の依頼にしたがって、マッピングルールメタモデル207aをマッピングルールメタモデル記憶部207に書き込む機能をもっている。なお、マッピングルールメタモデル登録部215は、マッピングルールメタモデル検証部216にマッピングルールメタモデル207aを検証させる機能ももっている。具体的にはマッピングルールメタモデル登録部215は、以下の機能~をもっている。テストケースメタモデル検証部214による検証結果が否を示す場合、マッピングルールメタメタモデル記憶部206内のマッピングルールメタメタモデル206aを表すUMLのクラス図、テストケースメタモデル記憶部205内のテストケースメタモデル205aを表すUMLのクラス図及び設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、マッピングルールメタモデル207aを表すUMLのクラス図の入力を促す機能。入力を受け付けたマッピングルールメタモデル207aを表すUMLのクラス図をマッピングルールメタモデル記憶部207に書込む機能。マッピングルールモデル記憶部207内のマッピングルールメタモデル207aを表すUMLのクラス図、設計メタモデル記憶部203内の設計メタモデル要素データ203a1及びテストケースメタモデル記憶部205内のテストケースメタモデル要素データ205a1を入出力部200にて表示することにより、マッピングルールメタモデル207aを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ207a1及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データ207a2の入力を促す機能。入力を受け付けたマッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2をマッピングルールメタモデル記憶部207に書込む機能。マッピングメタモデル検証部216は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すUMLのクラス図、マッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2に対し、マッピングルールメタメタモデル記憶部206内のマッピングルールメタメタモデル206aに違反している箇所を含むか否かを検証する機能をもっている。テストケース生成部217は、入出力部200からのテストケース生成の依頼にしたがって、テストケース208dを生成する機能をもっている。テストケース208dの生成は、設計要素201aから、マッピングルールメタモデル207aに基づいて、テストケース208dへのマッピングを行うことによって実現する。具体的にはテストケース生成部217は、以下の機能~をもっている。テストケースメタモデル記憶部205内のテストケーステンプレート205bの置換部分の各項目を、要素データ、要素項目データ及び要素処理データ内のいずれかの項目の値に置換してテストケース208dを生成する機能。当該生成したテストケース208dをテストケース記憶部208に書込む機能。次に、以上のように構成されたテストケース生成装置の動作について図16乃至図37を用いて説明する。具体的には図16に示すように、設計メタモデル203aの作成登録ST100、設計メタモデル203aの検証ST200、設計要素201aの作成登録ST300、テストケースメタモデル205aの作成登録ST400、テストケースメタモデル205aの検証ST500、マッピングルールメタモデル207aの作成登録ST600、マッピングルールメタモデル207aの検証ST700及びテストケース208dの生成ST800の順に動作を述べる。また、各メタメタモデル202a,204a,206aは、予め入出力部200から制御部209を介して各記憶部202a,204a,206aに書き込まれているとする。始めに、ステップST100における設計メタモデル203aの作成登録の動作について図17を用いて述べる。まず、設計メタモデル登録部210は、設計メタメタモデル記憶部202内の設計メタメタモデル202aを入出力部200にて表示することにより、設計メタモデル203aを表すUMLのクラス図の入力を促す。ここで、設計メタメタモデル202aは、作成対象である設計メタモデル203aの構造を表す。具体的には、設計メタメタモデル202aは、設計メタモデルにはどのような種類の要素全体要素、項目要素、組合せ情報、遷移情報があり、その要素がどのように関連付けられるか全体要素-項目要素、全体要素、項目要素のいずれか-組合せ情報、全体要素、項目要素のいずれか-遷移情報を表している。続いて、設計メタモデル登録部210は、図17に示すように、テストケース生成者による入出力部200の操作により、入力を受け付けた設計メタモデル要素を追加していきST101~ST102、次いで、設計メタモデル要素を関連付けていくST103~ST104。このとき、テストケース生成者は、追加する設計メタモデル要素に関し、要素のステレオタイプどんな種類かを設計メタメタモデル202aから選択するST102。また、テストケース生成者は、設計メタモデル要素どうしを関連付けるときに、関連付けのステレオタイプどんな関連付けかを、設計メタメタモデル202aから選択するST104。しかる後、設計メタモデル要素の追加が不要になればST101;追加不要、設計メタモデル登録部210は、設計メタモデル203aを登録するST105。すなわち、設計メタモデル登録部210は、入力を受け付けた設計メタモデル203aを表すUMLのクラス図を設計メタモデル記憶部203に書込む。また、設計メタモデル登録部210は、設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、設計メタモデル203aを構成する設計メタモデル要素を示す設計メタモデル要素データ203a1、当該設計メタモデル要素の属性を示す設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3の入力を促す。しかる後、設計メタモデル登録部210は、入力を受け付けた設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3を設計メタモデル記憶部203に書込む。このように書き込まれた設計メタモデルの例を図18、図19、図20及び図21に示す。すなわち、図18に示す設計メタメタモデル202aに対し、図19及び図20に示す設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3が設計メタモデル記憶部203に書き込まれる。これにより、図21に示す部分の設計メタモデル203aが作成登録される。次に、ステップST200の設計メタモデル203aの検証の動作について図22を用いて述べる。ステップST200では、設計メタモデル検証部211は、設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図、設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3に対し、設計メタメタモデル記憶部202内の設計メタメタモデル202aに違反している箇所を含むか否かを検証する。このような設計メタモデルの検証においては、設計メタモデル要素を検証し、次いで、設計メタモデル要素の関連付けを検証していくことにより、検証結果を得ることができる。検証結果には、設計メタモデル203aの中で、設計メタメタモデル202aに違反している箇所が含まれる。具体的には設計メタモデル検証部211は、図22に示すように、メタモデル記憶部203内の全ての設計メタモデル要素データ203a1を取得しST201、未検証の設計メタモデル要素データ203a1があるか否かを判定するST202。ステップST202の判定結果が否の場合ST202;なしにはステップST213に進み、検証結果を出力して処理を終了する。ステップST202の判定結果が未検証のデータありを示す場合ST202;あり、設計メタモデル検証部211は、設計メタモデル203aを表すクラス図内の各クラスのうち、当該設定メタモデル要素データ203a1のメタモデル要素名をもつクラスからステレオタイプを取得しST203、このステレオタイプ名が設計メタメタモデル202aで定義済みか否かを判定するST204。ステップST204の判定結果が否の場合ST204;未定義、設計メタモデル検証部211は、当該設計メタモデル要素データ203a1と、ステレオタイプ名が未定義である旨とを含む検証結果を既存の検証結果に追加しST205、ステップST202の処理に戻る。ステップST204の判定結果が定義済みを示す場合、当該設計メタモデル要素データ203a1における全ての関連先の設計メタモデル要素データ203a3を設計メタモデル記憶部203から取得しST206、未検証の関連先の設計メタモデル要素データ203a3があるか否かを判定するST207。ステップST207の判定結果が否の場合ST207;なしにはステップST202の処理に戻る。ステップST207の判定結果が未検証の関連先ありを示す場合ST207;あり、設計メタモデル検証部211は、設計メタモデル203aを表すクラス図内の各クラスのうち、当該設定メタモデル要素データ203a3の関連元の設定メタモデル要素データ203a1のメタモデル要素名をもつクラスからステレオタイプを取得しST208、当該関連先の設定メタモデル要素データ203a3のメタモデル要素名をもつクラスからステレオタイプを取得しST209、両クラス間の関連を示す関連ステレオタイプを当該クラス図から取得するST210。しかる後、設計メタモデル検証部211は、この関連ステレオタイプ名が設計メタメタモデル202aで定義済みか否かを判定するST211。ステップST211の判定結果が否の場合ST211;未定義、設計メタモデル検証部211は、当該設計メタモデル要素203a1及び関連先の設計メタモデル要素データ203a3と、両者間の関連ステレオタイプ名が未定義である旨とを含む検証結果を既存の検証結果に追加し、ステップST207の処理に戻る。なお、ステップST207の処理に戻った後、前述した通り、ステップST207の判定により未検証の関連先がなければ、ステップST202の処理に戻り、ステップST202の判定により未検証の設計メタモデル要素データ203a1がなければ、検証結果を出力してST213、検証処理を終了する。次に、ステップST300における設計要素の作成登録の動作について図23を用いて述べる。ステップST300における設計要素の作成登録は、設計メタモデル203a,203a1~203a3で示された設計要素の構造毎に、設計要素を追加していく処理により実行される。具体的には図23に示すように、設計要素入力部212は、設計メタモデル検証部211による検証結果が違反箇所を含まない場合、設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図、設計メタモデル要素データ203a1、設計メタモデル要素属性データ203a2及び関連先の設計メタモデル要素データ203a3を取得してST301入出力部200にて表示する。これにより、設計要素入力部212は、設計要素を特定する要素データ201a1,201a4、当該設計要素の項目を示す要素項目データ201a2,201a5及び当該設計要素の処理を示す要素処理データ201a3の入力を促す。ここで、これら要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3を未入力の設計メタモデル要素が無ければST302;なし、ステップST305に進み、登録を完了して処理を終了する。一方、未入力の設計メタモデル要素があればST302;あり、設計要素入力部212は、入出力部200から要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3の追加入力を受け付けるST303。また、設計要素入力部212は、入力を受け付けた要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3を設計要素記憶部201に書込む。しかる後、設計要素入力部212は、未入力の要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3があればST304;あり、ステップST303の処理に戻る。また、設計要素入力部212は、未入力の要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3がなければST304;なし、ステップST302の処理に戻る。なお、ステップST302の処理に戻った後、前述した通り、ステップST302の判定により要素データ等を未入力の設計メタモデル要素がなければST302;なし、登録を完了して処理を終了するST305。ステップST400におけるテストケースメタモデル205aの作成登録の動作について図24を用いて述べる。まず、テストケースメタモデル登録部213は、テストケースメタメタモデル記憶部204内のテストケースメタメタモデル204aを表すUMLのクラス図及び設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、テストケースメタモデル205aを表すUMLのクラス図の入力を促す。ここで、テストケースメタメタモデル204aは、作成対象であるテストケースメタモデル205aの構造を表す。具体的には、テストケースメタメタモデル204aは、テストケースメタモデル205aにはどのような種類の要素テストケース要素があるのかを表す。なお、テストケースメタモデル205aの要素同士を関連付けるという考え方はない。続いて、テストケースメタモデル登録部213は、図24に示すように、テストケース生成者による入出力部200の操作により、テストケースメタモデル要素の追加が不要となるまでST401、入力を受け付けたテストケースメタモデル要素を追加していくST402。また、ステップST402中、テストケース生成者は、テストケースメタモデル要素を追加するときに、要素のステレオタイプどんな種類かを、テストケースメタメタモデル204aに基づいてテストケース生成者が選択する。しかる後、テストケースメタモデル要素の追加が不要になればST401;追加不要、テストケースメタモデル登録部213は、テストケースメタモデル205aを登録するST403。すなわち、テストケースメタモデル登録部213は、入力を受け付けたテストケースメタモデル205aを表すUMLのクラス図をテストケースメタモデル記憶部205に書込む。また、テストケースメタモデル登録部213は、テストケースメタモデル記憶部205内のテストケースメタモデル205aを表すUMLのクラス図を入出力部200にて表示することにより、テストケースメタモデル205aを構成するテストケースメタモデル要素を示すテストケースメタモデル要素データ205a1及び当該テストケースメタモデル要素の属性を示すテストケースメタモデル要素属性データ205a2の入力を促す。しかる後、テストケースメタモデル登録部213は、入力を受け付けたテストケースメタモデル要素データ205a1及びテストケースメタモデル要素属性データ205a2をテストケースメタモデル記憶部205に書込む。このように書き込まれたテストケースメタモデルの例を図25、図26及び図27に示す。すなわち、図25に示すテストケースメタメタモデル204aに対し、図26に示すテストケースメタモデル要素データ205a1及びテストケースメタモデル要素属性データ205a2がテストケースメタモデル記憶部205に書き込まれる。これにより、図27に示す部分のテストケースメタモデル205aが作成登録される。ステップST500のテストケースメタモデル205aの検証の動作について図28を用いて述べる。ステップST500では、テストケースメタモデル検証部214は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すUMLのクラス図、マッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2に対し、マッピングルールメタメタモデル記憶部206内のマッピングルールメタメタモデル206aに違反している箇所を含むか否かを検証する。このようなテストケースメタモデル205aの検証においては、テストケースメタモデル要素を検証していくことで、検証結果を得ることができる。検証結果には、テストケースメタモデル205aの中で、テストケースメタメタモデル204aに違反している箇所が含まれる。具体的にはテストケースメタモデル検証部214は、テストケースモデル記憶部205内の全てのテストケースメタモデル要素データ205a1を取得しST501、未検証のテストケースメタモデル要素データ205a1があるか否かを判定するST502。ステップST502の判定結果が否の場合ST502;なしにはステップST506に進み、検証結果を出力して処理を終了する。ステップST502の判定結果が未検証のデータありを示す場合ST502;あり、テストケースメタモデル検証部214は、テストケースメタモデル205aを表すクラス図内の各クラスのうち、当該テストケースメタモデル要素データ205a1のメタモデル要素名をもつクラスからステレオタイプを取得しST503、このステレオタイプ名がテストケースメタメタモデル204aで定義済みか否かを判定するST504。ステップST504の判定結果が否の場合ST504;未定義、テストケースメタモデル検証部214は、当該テストケースメタモデル要素データ205a1と、ステレオタイプ名が未定義である旨とを含む検証結果を既存の検証結果に追加しST505、ステップST502の処理に戻る。ステップST504の判定結果が定義済みを示す場合、テストケースメタモデル検証部214は、ステップST502の処理に戻る。なお、ステップST502の処理に戻った後、前述した通り、ステップST502の判定により未検証のテストケースメタモデル要素データ205a1がなければ、検証結果を出力してST506、検証処理を終了する。ステップST600におけるマッピングルールメタモデル207aの作成登録の動作について図29を用いて述べる。始めに、マッピングルールメタモデル登録部215は、テストケースメタモデル検証部214による検証結果が違反箇所を含まない場合、設計メタモデル記憶部203から、マッピングの候補となる、マッピングルールメタメタモデル206aで定義された3種類の設計メタモデル203aの構造を持つ設計メタモデル203aの組み合わせを抽出するST601。ここで、マッピングルールメタメタモデル206aは、作成対象であるマッピングルールメタモデル207aの構造を表す。具体的には、マッピングルールメタメタモデル206aは、マッピングルールメタモデル207aが対象とする設計メタモデル203aにはどのような構造があり、その設計メタモデル203aがテストケースメタモデル205aとどのように関連付くかを表す。続いて、マッピングルールメタモデル登録部215は、マッピングルールメタメタモデル記憶部206内のマッピングルールメタメタモデル206aを表すUMLのクラス図、テストケースメタモデル記憶部205内のテストケースメタモデル205aを表すUMLのクラス図及び設計メタモデル記憶部203内の設計メタモデル203aを表すUMLのクラス図を入出力部200にて表示することにより、マッピングルールメタモデル登録部215は、マッピングルールメタモデル207aを表すUMLのクラス図の入力を促す。次いで、マッピングルールメタモデル登録部215は、抽出した設計メタモデル203aの構造毎に、テストケース生成者による入出力部200の操作により、マッピングルールメタモデル要素の追加が不要となるまでST602、入力を受け付けたテストスイートメタモデル要素ステレオタイプ全体要素をもつ設計メタモデルにマッピングするテストスイートメタモデル要素、及びこのテストスイートメタモデル要素に関連付けるテストケースメタモデル要素を選択しST603,ST604、テストケースメタモデル要素と、抽出した設計メタモデル要素の残りとを関連付けていくST605。しかる後、マッピングルールメタモデル要素の追加が不要になればST602;追加不要、マッピングルールメタモデル207aを登録するST606。すなわち、マッピングルールメタモデル登録部215は、マッピングルールメタモデル登録部215は、入力を受け付けたマッピングルールメタモデル207aを表すUMLのクラス図をマッピングルールメタモデル記憶部207に書込む。また、マッピングルールメタモデル登録部215は、マッピングルールモデル記憶部207内のマッピングルールメタモデル207aを表すUMLのクラス図、設計メタモデル記憶部203内の設計メタモデル要素データ203a1及びテストケースメタモデル記憶部205内のテストケースメタモデル要素データ205a1を入出力部200にて表示することにより、マッピングルールメタモデル207aを構成するマッピングルールメタモデル要素を示すマッピングルールメタモデル要素データ207a1及び当該マッピングルールメタモデル要素の属性を示すマッピングルールメタモデル要素属性データ207a2の入力を促す。しかる後、マッピングルールメタモデル登録部215は、入力を受け付けたマッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2をマッピングルールメタモデル記憶部207に書込む。このように書き込まれたマッピングルールメタモデルの例を図30、図31及び図32に示す。図30に示すマッピングルールメタメタモデル206aに対し、図31に示すマッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2がマッピングルールメタモデル記憶部207に書き込まれる。これにより、図32に示す部分のマッピングルールメタモデル207aが作成登録される。ステップST700のマッピングルールメタモデル207aの検証の動作について図33を用いて述べる。ステップST700では、マッピングメタモデル検証部216は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すUMLのクラス図、マッピングルールメタモデル要素データ207a1及びマッピングルールメタモデル要素属性データ207a2に対し、マッピングルールメタメタモデル記憶部206内のマッピングルールメタメタモデル206aに違反している箇所を含むか否かを検証する。このようなマッピングルールメタモデル207aの検証においては、マッピングルールメタモデル要素を検証し、次いで、マッピングルールメタモデル要素の関連付けを検証していくことで、検証結果を得ることができる。検証結果には、マッピングルールメタモデル207aの中で、マッピングルールメタメタモデル206aに違反している箇所が含まれる。具体的にはマッピングルールメタモデル検証部216は、図33に示すように、マッピングルールメタモデル記憶部207内の全てのマッピングルールメタモデル要素データ207a1を取得しST701、未検証のマッピングルールメタモデル要素データ207a1があるか否かを判定するST702。ステップST702の判定結果が否の場合ST702;なしにはステップST712に進み、検証結果を出力して処理を終了する。ステップST702の判定結果が未検証のデータありを示す場合ST702;あり、マッピングルールメタモデル検証部216は、未検証のマッピングルールメタモデル要素データ207a1が設計メタモデル203a又はテストケースメタモデル205aで定義済みか否かを判定するST703。ステップST703の判定結果が否の場合ST703;未定義、マッピングルールメタモデル検証部214は、当該マッピングルールメタモデル要素データ207a1が未定義である旨を含む検証結果を既存の検証結果に追加しST704、ステップST702の処理に戻る。ステップST703の判定結果が定義済みを示す場合、当該マッピングルールメタモデル要素データ207a1における全ての関連先のメタモデル要素データ203a1をメタモデル記憶部203から取得しST705、未検証の関連先のメタモデル要素データ203a1があるか否かを判定するST706。ステップST706の判定結果が否の場合ST706;なしにはステップST702の処理に戻る。ステップST706の判定結果が未検証の関連先ありを示す場合ST706;あり、マッピングルールメタモデル検証部216は、マッピングルールメタモデル207aを表すクラス図内の各クラスのうち、当該マッピングルールメタモデル要素データ203a3の関連元のテストケースメタモデル要素データ205a1のメタモデル要素名をもつクラスからステレオタイプを取得しST707、当該関連先の設定メタモデル要素データ203a1のメタモデル要素名をもつクラスからステレオタイプを取得しST708、両クラス間の関連を示す関連ステレオタイプを当該クラス図から取得するST709。しかる後、マッピングルールメタモデル検証部216は、この関連ステレオタイプ名がマッピングルールメタメタモデル206aで定義済みか否かを判定するST710。ステップST710の判定結果が否の場合ST710;未定義、マッピングルールメタモデル検証部216は、当該テストケースメタモデル要素205a1及び関連先の設計メタモデル要素データ203a1と、両者間の関連ステレオタイプ名が未定義である旨とを含む検証結果を既存の検証結果に追加しST711、ステップST706の処理に戻る。なお、ステップST706の処理に戻った後、前述した通り、ステップST706の判定により未検証の関連先がなければ、ステップST702の処理に戻り、ステップST702の判定により未検証のマッピングルールメタモデル要素データ207a1がなければ、検証結果を出力してST712、検証処理を終了する。なお、マッピングルールメタモデル検証部216による検証結果が違反箇所を含まない場合、テストケースメタモデル登録部213は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すクラス図とテストケースメタモデル記憶部205内のテストケースメタモデル要素属性データ205a2とを入出力部200にて表示することにより、テストケースのひな型を表すテストケーステンプレート205bの入力を促す。なお、入出力部200による表示は、マッピングルールメタモデル記憶部207内のマッピングルールメタモデル207aを表すクラス図とテストケースメタモデル記憶部205内のテストケースメタモデル要素属性データ205a2内のメタモデル要素属性名の値に含まれるテストケーステンプレート名とを含んでいる。しかる後、テストケースメタモデル登録部213は、入力を受け付けたテストケーステンプレート205bをテストケースメタモデル記憶部205に書込む。次に、ステップST800のテストケース208dの生成の動作について図34を用いて述べる。ステップST800では、テストケース生成部217は、テストケースメタモデル記憶部205内のテストケーステンプレート205bの置換部分の各項目を、要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3内のいずれかの項目の値に置換してテストケース208dを生成する。このようなテストケース208dの生成は、全てのテストスイートメタモデル要素の、全てのテストケースメタモデル要素に対して行う。テストケースメタモデル要素には、テストケーステンプレート205bがある。そのテンプレート205bの可変部分を、設計要素で置換していくことで、テストケース208dを生成する。具体的にはテストケース生成部217は、図34に示すように、テストケースメタモデル記憶部205内の全てのテストスイートメタモデル要素を取得しST801、未生成のテストスイートメタモデル要素があるか否かを判定するST802。ステップST802の判定結果が否の場合ST802;なしにはステップST812に進み、テストケースを出力して処理を終了する。ステップST802の判定結果が未生成のテストスイートメタモデル要素ありを示す場合ST802;あり、テストケース生成部217は、当該テストスイートメタモデル要素に関連付く全てのテストケースメタモデル要素208a1をテストケースメタモデル記憶部205から取得するST803。次に、テストケース生成部217は、未生成のテストケースメタモデル要素があるか否かを判定しST804、判定結果が否の場合ST804;なしにはステップST802に戻る。ステップST804の判定結果が未生成のテストケースメタモデル要素ありを示す場合ST804;あり、テストケース生成部217は、当該テストケースメタモデル要素に関連付くテストケーステンプレート205bをテストケースメタモデル記憶部205から取得するST805。続いて、テストケース生成部217は、テストスイートメタモデル要素に関連付く設計メタモデル要素に基づく設計要素を設計要素記憶部201から取得しST806、テストケースメタモデル要素に関連付く設計要素を設計要素記憶部201から取得するST807。しかる後、テストケース生成部217は、テストケーステンプレート205b内に未変換の可変部分があるか否かを判定しST808、可変部分があれば、当該可変部分に対応する設計要素を構成する要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3を取得しST809、テストケーステンプレート205bの置換部分の各項目を、要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3内のいずれかの項目の値に置換するST810。ステップST808の判定の結果、未変換の可変部分がなければST808;なし、テストケース生成部217は、全ての可変部分を置換後のテストケーステンプレート205bをテストケース208dとして生成し、当該生成したテストケース208dをテストケース記憶部208に追加書込みして、ステップST804に戻る。なお、ステップST804の処理に戻った後、テストケース生成部217は、前述した通り、ステップST804の判定により、未生成のテストケースメタモデル要素がなければST804;なし、ステップST802に戻り、未生成のテストスイートメタモデル要素がなければST802;なし、テストケース208dを出力してST812、処理を終了する。このようにテストケースを生成する例を図35、図36及び図37に示す。すなわち、図35に示すテストケーステンプレート205bの置換部分の各項目を、図36に示す要素データ201a1,201a4、要素項目データ201a2,201a5及び要素処理データ201a3内のいずれかの項目の値に置換する。このような置換後のテストケーステンプレート205bとして、図37に示すテストケース205bが生成される。上述したように本実施形態によれば、テスト対象の設計書に記述された画面又はデータに対応する設計要素201aの構造を表す設計メタモデル203aと、設計メタモデル203aの構造を表す設計メタメタモデル202aと、設計要素201aを用いてテスト内容を記述したテストケース208dの構造を表すテストケースメタモデル205aと、テストケースメタモデル205aの構造を表すテストケースメタメタモデル204aと、テストケースメタメタモデル204a及び設計メタメタモデル202a間の関係を表すマッピングルールメタメタモデル206aと、テストケースメタモデル205a及び設計メタモデル203a間の関連付けを表すマッピングルールメタモデル207aとを用い、設計要素201aとの置換部分を含んでテストケース208dのひな型を表すテストケーステンプレート205bを準備する構成により、テストケース生成の際に、未熟な作業者に対してもテストケースの漏れの発生を無くすことができる。また、本実施形態によれば、設計要素201a及びテストケーステンプレート205bに基づいてテストケース208dを生成する構成により、テスト対象からテストケースを生成する作業を自動化することができる。また、メタメタモデル202a,204a,206aを利用することにより、設計メタモデル203a、テストケースメタモデル205a、マッピングルールメタモデル207aの作成が容易になり、作成したメタモデル203a,205a,207aの検証が可能になる。さらに、テストケース生成者のノウハウや経験を、設計メタモデル203a、テストケースメタモデル205a、マッピングルールメタモデル207aという形で形式知化して蓄積することができるため、生成されるテストケース208dのバラつきがなくなり、テストケース208dの品質を向上させることができる。補足すると、本実施形態は、特許文献1に記載の技術とは異なり、固定のテストシナリオ作成ルールを持たないことから、テストシナリオ生成の適用範囲が限定されない。また、本実施形態は、特許文献2に記載の技術とは異なり、テスト仕様書のテンプレートをテストのパターン毎に用意しないことから、テスト仕様書テンプレートの作成に手間がかからない。また、本実施形態の設計要素201a、設計メタモデル203a、設計メタメタモデル202a、テストケースメタモデル205a、テストケースメタメタモデル204a、マッピングルールメタモデル207a、マッピングルールメタメタモデル206a及びテストケース208dは、DBMSに格納してもよく、表形式のファイルに格納してもよい。また、本実施形態の設計メタメタモデル202aでは、3種類の構造一覧、遷移、組合を対象にしているが、その他の構造としてもよい。また、本実施形態のマッピングルールメタメタモデル206aでは、設計メタメタモデル202aの3種類の構造毎に一つずつ計3種類のマッピングの構造を定義しているが、その他のマッピングの構造を定義してもよい。また、本実施形態は、設計メタメタモデル202aの組合せ構造に基づいて、設計メタモデル203aを構築する際に、二つの設計メタモデル要素を選択して組み合わせているが、三つ以上で組み合わせることもできる。なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスクフロッピー登録商標ディスク、ハードディスクなど、光ディスクCD-ROM、DVDなど、光磁気ディスクMO、半導体メモリなどの記憶媒体に格納して頒布することもできる。また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOSオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のMWミドルウェア等が上記実施形態を実現するための各処理の一部を実行しても良い。さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"