(57)【要約】【課題】ソフトウェアのテストにおけるテスト項目からなるテスト項目リスト５を容易に作成することができるテスト支援装置を提供する。【解決手段】入力データ項目定義３は、入力データ２の項目を定義するファイルであって、入力データ２を予め定められた項目タイプに分類した分類情報を含む。機能定義４は、ソフトウェア３００のテストの機能を定義するファイルであって、項目タイプ毎に予め定められた実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む。生成処理部１は、入力データ項目定義３と機能定義４とに基づいて、入力データ項目定義３に含まれる項目タイプについてのテスト項目及び典型データを含むテスト項目リスト５を生成し、入力データ２を典型データで置換することにより、テスト項目リスト５に基づくテストを行うための出力データ６を生成する。【選択図】図１
2008009825.tif 000002
【特許請求の範囲】
【請求項１】
テストの対象であるソフトウェアにより処理すべき入力データと、
入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義と、
ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義と、
前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成し、前記入力データを前記典型データで置換することにより、前記テスト項目リストに基づくテストを行うための出力データを生成する生成処理部とを備える
ことを特徴とするテスト支援装置。
【請求項２】
前記生成処理部が、前記テスト項目リスト及び出力データを生成すると共に、前記出力データにおいて用いられた前記典型データ及びその位置を表示するプルーフリストを生成する
ことを特徴とする請求項１に記載のテスト支援装置。
【請求項３】
入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義と、
ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義と、
前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成する生成処理部とを備える
ことを特徴とするテスト支援装置。
【請求項４】
前記入力データ項目定義が、更に、前記入力データがテスト項目リストの生成対象であるか否かを示す対象情報と、前記入力データが識別キーであるか否かを示すキー情報とを含む
ことを特徴とする請求項１又は３に記載のテスト支援装置。
【請求項５】
テストの対象であるソフトウェアにより処理すべき入力データを入力し、
入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義を入力し、
ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義を入力し、
前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成し、前記入力データを前記典型データで置換することにより、前記テスト項目リストに基づくテストを行うための出力データを生成する
ことを特徴とするテスト支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト支援装置及びテスト支援方法に関し、特に、ソフトウェアのテストのためのテスト項目からなるリストやテストを行うための出力データを漏れなく生成するテスト支援装置及びテスト支援方法に関する。
【背景技術】
【０００２】
プログラム等のソフトウェアのテストにおいては、例えば事務用等の同一カテゴリ内では、その機能や目的を問わず、ある程度、共通のテスト項目がある。従って、ソフトウェアのテスト項目はテンプレート化が可能である。
【０００３】
例えば、プログラムの条件やユーティリティのデータ操作や入出力関係を総合的に解析して、テストパターンの漏れをなくし、作業を機械的に行うことで自動化を可能とし、テストデータの生産性を高めることが提案されている（例えば、特許文献１参照）。
【特許文献１】特開平９−２８２１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ソフトウェアのテスト項目のテンプレート化は、十分に行われているとは言えず、現実には、開発者が、自身の以前の経験に基づいて、自らが考えうる範囲内でテスト項目を抽出している。このため、実際には、ソフトウェアのテストを満足なレベルで支援し得るツールにはなっていない。
【０００５】
また、ソフトウェアのテストにおいては、本来の動作（正常系の動作）のテストの他に、不正な入力データや本来想定していない例外的な事象に対するテストを行う必要がある。しかし、これらの事象は、実際の発生確率が低い割に、テストの実施のための準備が煩雑である。このため、実際には、これらの事象は、テスト項目から間引かれたり、テストの優先度を低く設定されたりすることが殆どである。この結果、初歩的なソフトウェア障害が摘出されないまま、ソフトウェアが製品として出荷されてしまう可能性がある。
【０００６】
本発明は、ソフトウェアのテストにおけるテスト項目からなるテスト項目リストと当該テストを行うための出力データとを容易に作成することができるテスト支援装置を提供することを目的とする。
【０００７】
また、本発明は、ソフトウェアのテストにおけるテスト項目からなるテスト項目リストを容易に作成することができるテスト支援装置を提供することを目的とする。
【０００８】
また、本発明は、ソフトウェアのテストにおけるテスト項目からなるテスト項目リストと当該テストを行うための出力データとを容易に作成することができるテスト支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明のテスト支援装置は、テストの対象であるソフトウェアにより処理すべき入力データと、入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義と、ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義と、前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成し、前記入力データを前記典型データで置換することにより、前記テスト項目リストに基づくテストを行うための出力データを生成する生成処理部とを備える。
【００１０】
本発明のテスト支援装置は、入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義と、ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義と、前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成する生成処理部とを備える。
【００１１】
本発明のテスト支援方法は、テストの対象であるソフトウェアにより処理すべき入力データを入力し、入力データの項目を定義するファイルであって、前記入力データを予め定められた項目タイプに分類した分類情報を含む入力データ項目定義を入力し、ソフトウェアのテストの機能を定義するファイルであって、前記項目タイプ毎に予め定められた、実施すべきテスト項目及び当該テスト項目の実施結果の確認に有効な典型データを含む機能定義を入力し、前記入力データ項目定義と機能定義とに基づいて、当該入力データ項目定義に含まれる項目タイプについての前記テスト項目及び典型データを含むテスト項目リストを生成し、前記入力データを前記典型データで置換することにより、前記テスト項目リストに基づくテストを行うための出力データを生成する。
【発明の効果】
【００１２】
本発明のテスト支援装置及び方法によれば、入力データと入力データ項目定義と機能定義とを用意することにより、当該入力データ項目定義に含まれる項目タイプについてのテスト項目及び典型データを含むテスト項目リストを生成すると共に、テスト項目リストに基づくテストを行うための出力データを生成することができる。このテスト項目リストの生成により、開発者が自身の経験に基づいてテスト項目及び典型データを抽出する必要を無くし、また、複数の開発者の経験に基づいてテスト項目及び典型データを蓄積することができ、結果として、ソフトウェアのテスト項目を網羅したリストを得ることができる。また、前記出力データの生成により、不正な入力データや本来想定していない例外的な事象に対するテスト、又は、発生確率が低い事象やテストの実施のための準備が煩雑である事象に対するテストを、テスト項目から間引いたりテストの優先度を低くすることなく、行うことができる。
【００１３】
また、本発明のテスト支援装置によれば、入力データ項目定義と機能定義とを用意することにより、前記テスト項目リストを生成することができる。これにより、前述のように、ソフトウェアのテスト項目を網羅したリストを得ることができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明のテスト支援装置の構成の一例を示す。テスト支援装置１００は、ソフトウェア３００のテストを支援するデータを生成するコンピュータからなり、生成処理部１、入力データ２、入力データ項目定義（ファイル）３、機能定義（ファイル）４を備える。
【００１５】
入力データ２、入力データ項目定義３及び機能定義４は、生成処理部１に入力される。生成処理部１は、入力データ項目定義３と機能定義４とに基づいて、テスト項目リスト５を生成する。また、生成処理部１は、入力データ２と入力データ項目定義３とに基づいて、出力データ６を生成する。更に、生成処理部１は、入力データ２と入力データ項目定義３と出力データ６とに基づいて、プルーフリスト７を生成する。
【００１６】
生成処理部１には、テスト項目リスト５等の生成を指示する指示データ８が入力される。出力データ６は、テストの対象であるソフトウェア３００と共に、テスト装置２００に入力される。これにより、出力データ６を用いた当該ソフトウェア３００のテストが行われる。即ち、ソフトウェア３００が、種々の不適切なデータを含む出力データ６を正しく処理できるか否かがテストされる。これにより、テストの結果が例えばデータとして又は画面として得られる。テスト装置２００は、ソフトウェア３００のテストを行うコンピュータからなる。テスト項目リスト５及びプルーフリスト７は、当該テストの際に参照可能なように、ソフトウェア３００の開発者に提供される。
【００１７】
入力データ２は、ソフトウェア３００により処理すべき（処理されることが判っている又はソフトウェア３００用の）データである。ソフトウェア３００は、例えばプログラム、スクリプト等からなる。入力データ２は、実際は、テストの対象であるソフトウェア３００について、当該ソフトウェア３００をテストするために作成されたテストデータからなる。テストデータは文字列からなる文字列データ又はそれ以外の（非文字列）データからなる。入力データ２は、例えば他のコンピュータ（図示せず）により作成され、テスト支援装置１００に入力される。
【００１８】
入力データ２の一例を図２（Ａ）に示す。入力データ２は、実際には、当該入力データ２の記録されたレコード番号であるＮｏ．「１０」と、当該入力データ２の項目名「連絡先メールアドレス」と、当該入力データ２（その実体又は入力データの値）「aaaa@bbbb.cccc.com」とからなる。即ち、入力データ２は、当該入力データ２毎に、当該入力データ２のレコード番号、当該入力データ２の項目名を格納する。レコード番号は、当該入力データ２が格納されたファイルにおける当該入力データ２の格納された位置（又は、格納先のメモリにおけるアドレス）を示す。項目名は当該入力データ２の名称（又は属性）を示す。
【００１９】
入力データ２は、実際には、図２（Ａ）に示すように、１個のソフトウェア３００についての複数のデータの集合である。入力データ２は、ソフトウェア３００により、例えばそのレコード番号又は項目名で特定され、読み取られ、処理される。入力データ２の集合が１個のファイル（入力データファイル）２’に格納される。実際には、種々のテストを行うために、１個のソフトウェア３００について複数の入力データファイル２’が用意される。入力データファイル２’の各々には、これらを識別するために識別情報又はＩＤ（図示せず）が付与される。
【００２０】
なお、実際に想定されるソフトウェア３００の例としては、例えばインターネットを利用して一般のユーザが入力したデータを処理するプログラムがある。このようなプログラムにはどのようなデータが入力されるか判らない。入力データ２は、そのようなプログラムに例外的なデータをも含む種々のデータが入力された場合を想定して、当該プログラムをテストするためのデータである。
【００２１】
入力データ項目定義３は、入力データ２の項目を定義するファイルであって、例えば他のコンピュータ（図示せず）により作成され、テスト支援装置１００に入力される。従って、入力データ項目定義３は、入力データ２に応じて定まる。入力データ項目定義３は、少なくとも、分類情報を含む。分類情報は、入力データ２を予め定められた項目タイプに分類した情報である。項目タイプは、入力データ２の項目名を、プログラミングレベルのデータタイプ（例えば、文字列か否か、データの桁数は何桁か等の種別）とは別に、例えば当該入力データ２の用途又は目的に応じて分類した情報である。入力データ項目定義３は、更に、対象情報とキー情報とを含む。対象情報は、当該入力データ２がテスト項目リスト５の生成対象であるか否かを示す。キー情報は、当該入力データ２が識別キーであるか否かを示す。
【００２２】
入力データ項目定義３の一例を図３に示す。入力データ項目定義３は、当該入力データ項目定義３のレコード番号「１２」と、項目名「連絡先メールアドレス」と、当該入力データ２が文字からなることを示すタイプ「Ｃ」と、そのデータ長を表すバイト数「１２８」と、対象情報「○」と、キー情報「（空）」と、項目タイプ「メールアドレス」とからなる。即ち、入力データ項目定義３は、分類情報である項目タイプ「メールアドレス」毎に、対象情報、キー情報等を格納する。
【００２３】
項目名「連絡先メールアドレス」の項目タイプは「メールアドレス」とされる。例えば、項目名「勤務先メールアドレス」「第２連絡先メールアドレス」等も、その項目タイプは「メールアドレス」とされる。従って、項目タイプはカテゴリ情報である。
【００２４】
対象情報が「○」である場合、当該項目タイプを持つ入力データ２はテスト項目リスト５（従って、指定された場合には出力データ６）の生成対象とされる。なお、対象情報が「×」である場合、当該項目タイプを持つ入力データ２はテスト項目リスト５の生成対象とされない。即ち、後述するように、入力データ２が出力データ６において書き換えられない。例えば、注文番号、お客様コード、お客様会社名等は、対象情報が「×」とされる。これは、これらのデータを入力データ２と出力データ６とで書き換えると、却って当該不一致による混乱を招くので、これを防止するためである。
【００２５】
キー情報が「（空）」である場合、当該項目タイプを持つ当該入力データ２は識別キーとされない。キー情報が「○」である場合、当該項目タイプを持つ当該入力データ２は識別キーとされる。キー情報は、対象情報が「×」であり出力データ６において書き換えられない項目名（入力データ２）の中から選択され、入力データ項目定義３（従って、当該入力データファイル２’）において１個の項目名（入力データ２）のみとされる。この例では、注文番号がキー情報とされる。キー情報であるデータが、前述の入力データファイル２’の識別情報又はＩＤとして用いられる。また、キー情報であるデータは、前述のように、出力データ６において書き換えられないので、出力データ６のファイルの識別情報又はＩＤとして用いられる。
【００２６】
なお、図３に示すように、入力データ項目定義３には、そのバイト数の原則的な長さである原則長「（空）」、その初期値「半角空白」等のような他の種々の情報を含むようにしても良い。また、入力データ２が文字でない場合には、タイプが「ＮＣ」とされる。
【００２７】
機能定義４は、ソフトウェア３００のテストの機能を定義するファイルであって、例えば他のコンピュータ（図示せず）により作成され、テスト支援装置１００に入力される。機能定義４は、入力データ２に依存せず、複数の入力データ２に共通である。機能定義４は、少なくとも、項目タイプ毎に、テスト項目及び典型データを含む。テスト項目は、予め定められた実施すべきテストの項目である。典型データは、予め定められた当該テスト項目の実施結果の確認に有効なデータである。機能定義４は、更に、関連事項、特記事項、又は、障害情報の少なくとも１つを含む。関連事項は、項目タイプ毎に記述されたソフトウェア３００のテストにおいて確認すべき事項である。特記事項は、項目タイプ毎に記述されたソフトウェア３００のテストにおいて特に注意すべき事項である。障害情報は、項目タイプ毎に記述されたソフトウェア３００についての過去の障害の発生を示す情報である。
【００２８】
機能定義４の一例を図２（Ｂ）、図２（Ｃ）、図４及び図５（Ａ）に示す。機能定義４は、図２（Ｂ）に示すように、形式要件定義４１とデータ編集定義４２とからなる。形式要件定義４１の一例を図２（Ｃ）に示す。データ編集定義４２の一例を図４及び図５（Ａ）に示す。
【００２９】
形式要件定義４１は、ソフトウェア３００のテストの機能をデータ形式の点から定義するファイルである。従って、形式要件定義４１は、項目タイプとは無関係に、データファイルやレコードの操作について、テスト項目（分類）及び典型データ（概要）を含む。テスト項目（分類）は、実施すべきテスト項目（分類）であり、図２（Ｃ）に示すように、「レコード長の操作」等からなる。典型データ（概要）は、当該テスト項目の実施結果の確認に有効なデータであり、図２（Ｃ）に示すように、「レコード長が短いレコードを混入させる」のように対応するテスト項目「レコード長の操作」についての内容を記述した「概要」である。
【００３０】
データ編集定義４２は、ソフトウェア３００のテストの機能をデータ自体（テストデータ）の点から定義するファイルである。従って、データ編集定義４２は、項目タイプ毎に、個々のデータについて、テスト項目及び典型データを含む。データ編集定義４２は、図４に示すように、データ自体のテストの機能を「データ項目固有の論理についての検証」のような大分類、「メールアドレスチェック処理の確認」のような中分類、「メールアドレス」のような小分類に分類して定義する。以上から判るように、この小分類が、図４では項目タイプ「メールアドレス」で代表して図示しているが、項目タイプ毎のテスト項目及び典型データに相当する。
【００３１】
小分類即ちテスト項目の一例を図５（Ａ）に示す。テスト項目は、当該テスト項目のレコード番号「１５７」と、項目タイプ「メールアドレス」と、当該テスト項目の主要課題（又は中分類）「メールアドレスチェック処理の確認」と、典型データの設定、典型データの設定値、アプリケーションの望ましい姿、特記事項とからなる。実際には、「典型データの設定」が実施すべきテスト項目であり、「典型データの設定値」が典型データである。
【００３２】
典型データは、当該テスト項目の実施結果の確認に有効なデータである。典型データは、典型データの設定「ドットとカンマを打ち誤る」と、典型データの設定値「aaaa@bbbb,cccc.com」とからなる。アプリケーションの望ましい姿「仕様にしたがって適切な処理をする」は、関連事項である。特記事項「ＣＳＶ出力処理の結果に注意する」は、当該典型データにより生じるであろう障害を記述している（従って、障害情報と考えても良い）。即ち、テスト項目毎に、典型データが格納され、関連事項、特記事項、又は、障害情報の少なくとも１つが格納される。
【００３３】
図５（Ａ）に示す典型データの設定値は、正常な入力データにおける「bbbb」と「cccc」との間の「. （ドット）」を「, （カンマ）」で置換したものである。この典型データの設定値は、当該入力ミスを想定したものである。このような入力ミスは、初歩的なミスであり、最も発生し易い誤りの一例である。ソフトウェア３００は、この入力ミスを検出して、再入力を要求できなければならない。
【００３４】
なお、図４の中分類「データバリエーション」における小分類「文字」においては、小分類「メールアドレス」と同様に、入力データ２が「特定の文字」である場合のチェックが行われる。例えば、「椿澤」なる文字は、特定の条件下においては、「&#26993;澤」に誤って変換される場合がある。これは文字コードの割当に起因する。そこで、後述する典型データにおいて、典型データの設定が「文字の変換ミス」とされ、典型データの設定値が「椿澤」とされ、ソフトウェア３００により当該文字変換が正しく行われるかがチェックされる。入力データ２が「病院」「（株）」「（有）」「丸付き数字」等の文字である場合も同様である。
【００３５】
実際には、１個の項目タイプ「メールアドレス」について、複数の典型データが用意される。例えば、典型データの設定「全角文字を混入、全角＠を使用する」について、全角文字を含むメールアドレスからなる典型データの設定値が用意される。典型データの設定「不完全なメールアドレス」について、不完全なメールアドレスからなる典型データの設定値「root@rocalhost」が用意される。典型データの設定「メールアドレスの複数設定」について、複数のメールアドレスからなる典型データの設定値「aaaa@bbbb.cccc.com,dddd@eee.ffff.co.jp」が用意される。従って、ソフトウェア３００に１個の「連絡先メールアドレス」が入力される場合、１個の項目タイプ「メールアドレス」について、複数の出力データ６を生成するようにして、複数回のテストを行う必要がある。
【００３６】
また、図４を参照して前述したように、項目名は「連絡先メールアドレス」に限られず、項目タイプは「メールアドレス」に限られず、ソフトウェア３００で処理すべきあらゆる入力データ２が対象とされる。例えば、入力データ２が「日付」である場合、うるう年、データ例外（例えば、「月」として１３が入力された場合）、データ形式例外（例えば、小数点のある数値が入力された場合）等がある。例えば、うるう年について、通常のうるう年のチェック、４００年に一度の例外的なうるう年のチェック、うるう年の対象外となる年（２００７年２月２９日）のチェック、うるう年の対象外となる年（２１００年２月２９日）のチェック等がある。また、入力データ２が「電話番号」である場合、市外局番のチェック、市内局番のチェック、局番の区切り記号のチェック、フリーダイヤルのチェック、国際電話番号のチェック、携帯電話番号のチェック等がある。また、入力データ２が「文字」「数値」「整数」「郵便番号」等である場合についても、各々、予め定められた種々のチェック等がある。
【００３７】
以上のように、テスト支援装置１００に入力データ２、入力データ項目定義３、機能定義４が入力（用意）された状態で、指示データ８が入力されると、生成処理部１が、テスト項目リスト５、出力データ６、プルーフリスト７を生成する。ここで、生成処理部１は、指示データ８において入力データ２が指定されていない場合、テスト項目リスト５を生成し、指示データ８において入力データ２が指定されている場合、テスト項目リスト５及び出力データ６を生成する。また、生成処理部１は、指示データ８においてプルーフリスト７の生成が指示されている場合、これを生成する。
【００３８】
指示データ８の一例を図５（Ｂ）に示す。指示データ８は、入力出力ファイル名と、レコード区切りとからなる。入力出力ファイル名は、生成処理部１へ入力すべきファイル名、及び、これにより生成処理部１から出力されるファイル名を示す。レコード区切りは、図２（Ｃ）に示す「レコード区切り記号の操作」を行うか否かを示す。指示データ８は、プルーフリスト７の生成を指示する場合には、図５（Ｂ）に点線で示すように、プルーフ生成指示を含む。
【００３９】
入力出力ファイル名において、入力データ２、入力データ項目定義３及び機能定義４が指定された場合、テスト項目リスト５及び出力データ６が入力出力ファイル名において指定されたファイル名（又は、前述の入力データファイル２’の識別番号又はＩＤのような識別番号又はＩＤ）で生成される。この場合、入力出力ファイル名は、（入力データ２のファイル名，入力データ項目定義３のファイル名，機能定義４のファイル名，テスト項目リスト５のファイル名，出力データ６のファイル名）のように記述される。このために、各々のファイル名はユニークなものとされる。
【００４０】
入力出力ファイル名において、入力データ項目定義３及び機能定義４が指定された場合、テスト項目リスト５が入力出力ファイル名において指定されたファイル名で生成される。この場合、入力出力ファイル名は、（入力データ２のファイル名（空），入力データ項目定義３のファイル名，機能定義４のファイル名，テスト項目リスト５のファイル名，出力データ６のファイル名（空））のように記述される。
【００４１】
生成処理部１は、入力データ項目定義３と機能定義４とに基づいて、テスト項目リスト５を生成する。テスト項目リスト５は、当該入力データ項目定義３に含まれる項目タイプについてのテスト項目及び典型データを含む。生成処理部１は、助言情報と、識別情報とをテスト項目リスト５に付加する。助言情報は、関連事項、特記事項又は障害情報に基づいて付加され、ソフトウェア３００のどのような機能のどのような処理結果に注目すべきかを表す。識別情報は、テスト項目リスト５におけるテスト項目についてのテストを実施する際に使用すべき出力データ６を特定する。
【００４２】
テスト項目リスト５の一例を図６（Ａ）に示す。テスト項目リスト５は、当該テスト項目のレコード番号「８１」と、項目名「連絡先メールアドレス」と、項目タイプ「メールアドレス」と、そのテスト項目の主要課題「メールアドレスチェック処理の確認」と、典型データの設定、アプリケーションの望ましい姿、特記事項とからなる。「アプリケーションの望ましい姿」は関連事項である。従って、「アプリケーションの望ましい姿」及び「特記事項」は、共に助言情報である。
【００４３】
なお、このテスト項目リスト５の例においては、「障害情報」は含まれない。これは、障害情報が機能定義４に含まれないためである。障害情報が機能定義４に含まれる場合には、障害情報がテスト項目リスト５に含まれる。また、このテスト項目リスト５の例においては、「識別情報」は図示していない。この識別情報は、後述するように、出力データ６のファイルの各々に付与された識別情報又はＩＤからなる。前述のように、キー情報であるデータが入力データファイル２’及び出力データ６のファイルの識別情報又はＩＤとして用いられるので、テスト項目リスト５の識別情報としては、入力データ項目定義３に基づいて、キー情報である入力データ２が参照され、記述される。
【００４４】
この場合、生成処理部１は、指示データ８の入力出力ファイル名において指定された入力データ項目定義３から、項目名、項目タイプを取得する。この後、生成処理部１は、当該取得した項目タイプを用いて指示データ８の入力出力ファイル名において指定された機能定義４を参照し、当該機能定義４から、当該項目タイプに対応する主要課題、典型データの設定、アプリケーションの望ましい姿、特記事項を取得する。そして、生成処理部１は、これらの取得した各々の情報を用いて、図６（Ａ）に示すテスト項目リスト５を生成する。
【００４５】
なお、図６（Ｂ）に示すように、テスト項目リスト５が、典型データの設定値「aaaa@bbbb,cccc.com」を含むようにしても良い。実際には、図６（Ｂ）に示すテスト項目リスト５は、テスト項目リスト５と後述する出力データ６とを合成して１個のデータ（出力データ６を含むテスト項目リスト５）として生成した例である。即ち、指示データ８において入力データ項目定義３及び機能定義４が指定された場合、図６（Ａ）に示すテスト項目リスト５が生成され、また、指示データ８において入力データ２、入力データ項目定義３及び機能定義４が指定された場合、図６（Ｂ）に示す出力データ６を含むテスト項目リスト５が生成される。
【００４６】
生成処理部１は、入力データ２を典型データで置換することにより、テスト項目リスト５に基づくテストを行うための出力データ６を生成する。出力データ６は、入力データ２に基づくものであるので、テストの対象であるソフトウェア３００について、当該ソフトウェア３００をテストするために作成されたテストデータである。即ち、入力データ２をより正確で、網羅的なデータに改良したテストデータである。
【００４７】
出力データ６の一例を図７（Ａ）に示す。出力データ６は、レコード番号「１０」と、項目名「連絡先メールアドレス」と、典型データの設定値である（で置換された）出力データ６（その実体又は出力データの値）「aaaa@bbbb,cccc.com」とからなる。出力データ６は、図６（Ｂ）に示す出力データ６を含むテスト項目リスト５が生成される場合であっても、これとは別に生成される。
【００４８】
この場合、生成処理部１は、指示データ８の入力出力ファイル名において指定された入力データ２から、項目名を取得する。この後、生成処理部１は、当該取得した項目名を用いて指示データ８の入力出力ファイル名において指定された機能定義４（のデータ編集定義４２の小分類即ち項目タイプ）を参照し、当該項目タイプに対応する典型データの設定値を取得する。そして、生成処理部１は、これらの取得した各々の情報を用いて、図７（Ａ）に示す出力データ６を生成する。
【００４９】
なお、出力データ６は、入力データ２に基づくものであるので、実際には、図２（Ａ）と同様に、複数のデータの集合である。出力データ６は、ソフトウェア３００により、例えばそのレコード番号又は項目名で特定され、読み取られ、処理される。出力データ６の集合が１個のファイル（出力データファイル、図示せず）に格納される。出力データ６のファイルの各々には、これらを識別するために識別情報又はＩＤ（図示せず）が付与される。実際には、前述のように、この出力データ６の識別情報又はＩＤとしては、例えばその基礎となった入力データファイル２’の識別情報、即ち、識別キーとされた注文データ（入力データ２）が用いられる。
【００５０】
生成処理部１は、前述のように、テスト項目リスト５及び出力データ６を生成すると共に、プルーフリスト７を生成する。プルーフリスト７は、出力データ６において用いられた典型データ及びその位置（レコード又はフィールド）を表示する。即ち、入力データ２のどのレコードをどのようなデータで置換したかを示すものであり、出力データ６の作成の結果を示すリストである。
【００５１】
プルーフリスト７の一例を図７（Ｂ）に示す。プルーフリスト７は、典型データの設定値である出力データ６「aaaa@bbbb.cccc.com」と、当該入力データ２のレコード番号「１０」とからなる。
【００５２】
この場合、生成処理部１は、指示データ８の入力出力ファイル名におけるプルーフリスト７の生成指示に基づいて、前述のように生成した出力データ６から典型データの設定値を取得する。この後、生成処理部１は、入力データ２から当該入力データ２のレコード番号を取得する。そして、生成処理部１は、これらの取得した各々の情報を用いて、図７（Ｂ）に示すプルーフリスト７を生成する。
【００５３】
図８は、本発明のテスト支援処理フローであり、図１のテスト支援装置１００により実行されるテスト支援処理を示す。
【００５４】
テスト支援装置１００に、テストの対象であるソフトウェア３００の開発者により、当該ソフトウェア３００により処理すべき入力データ２が読み込まれ（又は入力され）（ステップＳ１）、入力データ項目定義３が読み込まれ（ステップＳ２）、機能定義４（ファイル）が読み込まれる（ステップＳ３）。これにより、入力データ２、入力データ項目定義３及び機能定義４がテスト支援装置１００に用意される。なお、これらをテスト支援装置１００により作成するようにしても良い。
【００５５】
この状態で、ソフトウェア３００の開発者により、指示データ８がテスト支援装置１００の生成処理部１に入力される（ステップＳ４）。これにより、生成処理部１が、指示データ８における入力データ項目定義３及び機能定義４の指定に従ってテスト項目リスト５を生成し（ステップＳ５）、指示データ８における入力データ２、入力データ項目定義３及び機能定義４の指定に従って出力データ６を生成し（ステップＳ６）、その生成指示に従ってプルーフリスト７を生成する（ステップＳ７）。この時、出力データ６は、テスト装置２００によるテストに用いるために、例えば電子データとして適当な記録媒体に出力される。一方、テスト項目リスト５及びプルーフリスト７は、開発者の参照のために、例えば印刷出力される。なお、これらがテスト支援装置１００（又はテスト装置２００）の画面上へ出力されるようにしても良い。
【００５６】
この後、出力データ６が、テスト対象のソフトウェア３００と共に、テスト装置２００に入力され、出力データ６を用いたソフトウェア３００のテストが実行され、そのテスト結果が得られる。開発者は、例えば、プルーフリスト７を参照しながら、このテスト結果とテスト項目リスト５（出力データ６を用いたテストの期待値を示している）とを比較して、当該テスト結果を検証することができる。これにより、ソフトウェア３００を効率良くかつ漏れなくテストすることができ、ソフトウェア３００における初歩的な障害を排除することができる。
【産業上の利用可能性】
【００５７】
以上説明したように、本発明によれば、テスト支援装置及び方法において、項目タイプについてのテスト項目及び典型データを含むテスト項目リストと、テスト項目リストに基づくテストを行うための出力データとを生成することができる。これにより、開発者がテストの都度必要な作業を繰り返すことなく、ソフトウェアのテスト項目を網羅したリストを得ることができるので、テスト項目リストによりソフトウェアのテストを満足なレベルで支援することができる。また、種々の事象に対するテストを行うことができるので、初歩的なソフトウェア障害のあるソフトウェアが製品として出荷されてしまうことを防止することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明のテスト支援装置の構成図である。
【図２】本発明のテスト支援処理の説明図である。
【図３】本発明のテスト支援処理の説明図である。
【図４】本発明のテスト支援処理の説明図である。
【図５】本発明のテスト支援処理の説明図である。
【図６】本発明のテスト支援処理の説明図である。
【図７】本発明のテスト支援処理の説明図である。
【図８】本発明のテスト支援処理フローである。
【符号の説明】
【００５９】
１  生成処理部
２  入力データ
３  入力データ項目定義
４  機能定義
５  テスト項目リスト
６  出力データ
７  プルーフリスト
８  指示データ
１００  テスト支援装置
２００  テスト装置
３００  テスト対象ソフトウェア
【図１】
2008009825.tif 000003
【図２】
2008009825.tif 000004
【図３】
2008009825.tif 000005
【図４】
2008009825.tif 000006
【図５】
2008009825.tif 000007
【図６】
2008009825.tif 000008
【図７】
2008009825.tif 000009
【図８】
2008009825.tif 000010