(57)【要約】【課題】表作成装置、表作成方法、及び、プログラムを提供する。【解決手段】本願発明の表作成装置１００は、１又は複数の条件値と、該条件値をソフトウェアに入力したときに期待される結果値と、を含むテスト項目リストを生成する表作成装置である。表作成装置１００は、全ての条件値を格納する条件項目データベース１２０と、１又は複数の条件値と、該条件値から期待される既知の結果値と、が対応付けて格納されている結果項目記入ルール定義データベース１２１と、テスト項目リストを生成するための制御を行う制御部と、を備える。制御部は、条件項目データベース１２０から指定された個数の条件値を抽出する処理と、条件値から期待される既知の結果値を、結果項目記入ルール定義データベース１２１から読み出して、該条件値と対応する結果値とを対応付けたテスト項目リストを生成する処理と、を行う。【選択図】図１
2008209993.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の条件値と、該条件値をソフトウェアに入力したときに期待される結果値と、を含むテスト項目リストを生成する表作成装置であって、
全ての条件値を格納する条件項目データベースと、
１又は複数の条件値と、該条件値から期待される既知の結果値と、が対応付けて格納されている結果項目記入ルール定義データベースと、
前記テスト項目リストを生成するための制御を行う制御部と、を備え、
前記制御部は、
前記条件項目データベースから指定された個数の条件値を所定の抽出規則に従って抽出する抽出処理部と、
前記条件値から期待される既知の結果値を、前記結果項目記入ルール定義データベースから読み出して、前記抽出した条件値と、対応する該結果値と、が対応付けて格納されるテスト項目リストを生成するテスト項目リスト生成処理部と、
を備えること、を特徴とする表作成装置。
【請求項２】
請求項１に記載の表作成装置であって、
前記結果項目記入ルール定義データベースには、
１又は複数の条件値と、該条件値から期待される結果値と、が対応付けて格納され、かつ、検索のキーとなる検索キー情報が格納されている結果項目記入ルール定義テーブルが、複数格納されており、
前記テスト項目リスト生成処理部は、
各結果項目記入ルール定義テーブルから結果値を読み出す際に、処理中の結果項目記入ルール定義テーブルから読み出した結果値が前記検索キー情報に含まれている別の結果項目記入ルール定義テーブルにアクセスして、順次、複数の結果項目記入ルール定義テーブルから結果値を読み出す処理を行う、
ことを特徴とする表作成装置。
【請求項３】
請求項１又は２に記載される表作成装置であって、
１又は複数の条件値が格納されている除外定義テーブルをさらに備え、
前記抽出処理部は、
前記抽出した条件値と、前記条件項目データベースに格納されている条件値と、が一致する場合は、再度、条件値を抽出し直す処理を行う、
ことを特徴とする表作成装置。
【請求項４】
１又は複数の条件値と、該条件値をソフトウェアに入力したときに期待される結果値と、を含むテスト項目リストを生成する表作成装置における表作成方法であって、
前記表作成装置は、
全ての条件値を格納する条件項目データベースと、
１又は複数の条件値と、該条件値から期待される既知の結果値と、が対応付けて格納されている結果項目記入ルール定義データベースと、
前記テスト項目リストを生成するための制御を行う制御部と、を備え、
前記制御部が、前記条件項目データベースから指定された個数の条件値を所定の抽出規則に従って抽出する抽出処理過程と、
前記制御部が、前記条件値から期待される既知の結果値を、前記結果項目記入ルール定義データベースから読み出して、前記抽出した条件値と、対応する該結果値と、が対応付けて格納されるテスト項目リストを生成するテスト項目リスト生成処理過程と、
を有すること、を特徴とする表作成方法。
【請求項５】
請求項４に記載の表作成方法であって、
前記結果項目記入ルール定義データベースには、
１又は複数の条件値と、該条件値から期待される結果値と、が対応付けて格納され、かつ、検索のキーとなる検索キー情報が格納されている結果項目記入ルール定義テーブルが、複数格納されており、
前記テスト項目リスト生成処理過程は、
前記制御部が、各結果項目記入ルール定義テーブルから結果値を読み出す際に、処理中の結果項目記入ルール定義テーブルから読み出した結果値が前記検索キー情報に含まれている別の結果項目記入ルール定義テーブルにアクセスして、順次、複数の結果項目記入ルール定義テーブルから結果値を読み出す処理を行う、
ことを特徴とする表作成方法。
【請求項６】
請求項４又は５に記載される表作成方法であって、
前記表作成装置は、１又は複数の条件項目が格納されている除外定義テーブルをさらに備え、
前記抽出処理過程は、
前記制御部が、前記抽出した条件値と、前記条件項目データベースに格納されている条件値と、が一致する場合は、再度、条件値を抽出し直す処理を行う、
ことを特徴とする表作成方法。
【請求項７】
コンピュータを、１又は複数の条件値と、該条件値をソフトウェアに入力したときに期待される結果値と、を含むテスト項目リストを生成する表作成装置として機能させるプログラムであって、
前記コンピュータは、
全ての条件値を格納する条件項目データベースと、
１又は複数の条件値と、該条件値から期待される既知の結果値と、が対応付けて格納されている結果項目記入ルール定義データベースと、
前記テスト項目リストを生成するための制御を行う制御手段と、を備え、
前記制御手段は、
前記条件項目データベースから指定された個数の条件値を所定の抽出規則に従って抽出する抽出処理と、
前記条件値から期待される既知の結果値を、前記結果項目記入ルール定義データベースから読み出して、前記抽出した条件値と、対応する該結果値と、が対応付けて格納されるテスト項目リストを生成するテスト項目リスト生成処理と、
を行うこと、を特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムであって、
前記結果項目記入ルール定義データベースには、
１又は複数の条件値と、該条件値から期待される結果値と、が対応付けて格納され、かつ、検索のキーとなる検索キー情報が格納されている結果項目記入ルール定義テーブルが、複数格納されており、
前記テスト項目リスト生成処理は、
前記制御手段、が各結果項目記入ルール定義テーブルから結果値を読み出す際に、処理中の結果項目記入ルール定義テーブルから読み出した結果値が前記検索キー情報に含まれている別の結果項目記入ルール定義テーブルにアクセスして、順次、複数の結果項目記入ルール定義テーブルから結果値を読み出す処理を行うものである、
ことを特徴とするプログラム。
【請求項９】
請求項７又は８に記載されるプログラムであって、
前記コンピュータは、１又は複数の条件項目が格納されている除外定義テーブルをさらに備え、
前記抽出処理は、
前記抽出手段が、前記抽出した条件値と、前記条件項目データベースに格納されている条件値と、が一致する場合は、再度、条件値を抽出し直す処理を行うものである、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの品質をテストするためのテスト項目リストを作成する技術に関する。
【背景技術】
【０００２】
ソフトウェアの開発には、ソフトウェアの品質を保証するために、そのソフトウェアをテストする工程が設けられている。一般的に、ソフトウェアの品質テストは、ソフトウェアに条件値（パラメータ）を入力し、期待される出力値が得られるか否かを確認することにより行われる。このとき、開発者は、例えば、条件値と期待値との対応表（以下では、テスト項目リストという）を作成しておき、テスト項目リストを参照しながら、開発したソフトウェアが期待通りに機能するかを確認していく。
【０００３】
また、近年、ソフトウェアは複雑化してきており、しばしば、ソフトウェアをテストする項目数が膨大になる。このため、現実的にテストを実施可能な件数まで、テスト項目数を絞り込む必要がでてきている。しかし、テスト項目数を絞って、ソフトウェアのテストを行う場合、テストの信頼性は低下する。これを避けるために、例えば、非特許文献１には、全てのテスト項目数から、効果的にテスト項目を抽出する方法が記載されている。
【０００４】
【非特許文献１】秋山 浩一、“直交表を活用したソフトウェアテストの効率化”、[online]、2005年7月15日、[平成19年1月15日検索]、インターネット＜ＵＲＬ：http://www.jasst.jp/jasst05w/pdf/S4-1.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、実際のテスト項目リストの作成においては、テスト戦略に応じて条件値を後から追加、削減等を行うケースがしばしば起こる。このような場合、テスト項目リストを作成し直す必要がでてくる。
【０００６】
条件値を変更してテスト項目リストを作成するたびに、上述したテスト項目リストを手作業で作成することは、非常に困難である。
【０００７】
本発明は、複数回、テスト項目リストを作成し直す場合であっても、テスト項目リストを容易に作成する表作成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明では、ソフトウェアをテストするための全条件値から、指定された個数の条件値を所定の抽出規則に従って抽出し、抽出した条件値について、該条件値と対応する結果値とを対応付けたテスト項目リストを生成する。
【０００９】
具体的には、上記表作成装置は、１又は複数の条件値と、該条件値をソフトウェアに入力したときに期待される結果値と、を含むテスト項目リストを生成する表作成装置であって、全ての条件値を格納する条件項目データベースと、１又は複数の条件値と、該条件値から期待される既知の結果値と、が対応付けて格納されている演算ルール定義データベースと、前記テスト項目リストを生成するための制御を行う制御部と、を備え、前記制御部は、前記条件項目データベースから指定された個数の条件値を所定の抽出規則に従って抽出する抽出処理部と、前記条件値から期待される既知の結果値を、前記演算ルール定義データベースから読み出して、該条件値と対応付ける対応付け処理部と、前記抽出した条件値について、該条件値と対応する前記結果値とを対応付けたテスト項目リストを、生成するリスト生成処理部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明の表作成装置によれば、複数回、テスト項目リストを作成し直す場合であっても、テスト項目リストを容易に作成することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の最良の実施の形態を、図面を参照して説明する。
【００１２】
本発明の実施形態に適用される表作成装置１００は、ソフトウェアの品質をテストするためのテスト項目リストを作成する装置である。ここで、表作成装置１００の機能構成の一例を、図１のブロック図に示す。表作成装置１００は、図示するように、制御部１０１と、記憶部１０２と、入力部１０３と、出力部１０４と、を有する。
【００１３】
入力部１０３は、ユーザによって入力されるデータを受け付け、入力されたデータを制御部１０１に供給する処理を行う。例えば、入力部１０３は、テスト項目リストを生成する指示、等を受け付け、これを制御部１０１に供給する。
【００１４】
出力部１０４は、制御部１０１が生成した画像データや、印刷データを出力する処理を行う。例えば、出力部１０１は、制御部１０１が生成したテスト項目リストの画像データを出力する。
【００１５】
記憶部１０２は、条件項目定義データベース１２０と、結果項目記入ルール定義データベース１２１と、テスト項目リストデータベース１２２と、を有する。
【００１６】
条件項目定義データベース１２０には、テスト対象のソフトウェアをテストするための入力パラメータである全ての条件値が予め記憶されている。また、条件項目定義データベース１２０には、条件項目定義データベース１２０に記憶されている条件値のうち、テスト不可能な条件値の組み合わせを除外するためのデータが予め記憶されている。
【００１７】
例えば、本実施形態においては、条件項目定義データベース１２０には、図２に示すような条件項目定義テーブル２００、図３に示すような条件項目除外定義テーブル３００、が予め記憶されている。
【００１８】
例えば、条件項目定義テーブル２００は、図２に示すように、条件項目欄２０１と、条件値欄２０２と、を備える。
【００１９】
条件項目欄２０１には、条件項目の名前を特定する情報（変数名）が格納されている。例えば、本実施形態においては、条件項目欄２０１には、「条件１」、「条件２」、等の名前が格納される。また、条件項目欄２０１には、「○○できるか否か」等のように、条件の内容を開発者が理解できる名前が格納されてもよい。
【００２０】
条件値欄２０２には、具体的な条件値を特定する情報が格納されている。条件値欄２０２の条件値は、条件項目欄２０１に格納されている情報（変数名）ごとに、対応付けて格納されている。例えば、条件項目欄２０１の「条件１」に対応付けて、条件値欄２０２に「０」、「１」の値が格納されている場合、条件項目欄２０１の「条件１」という変数は、具体的には、「０」、または、「１」の値を取り得ることになる。
【００２１】
条件値欄２０２には、「Ｙｅｓ」、「Ｎｏ」等のように、条件値の内容を開発者が理解できる情報が格納されてもよい。
【００２２】
また、例えば、条件項目除外定義テーブル３００は、図３に示すように、条件１欄３０１、条件２欄３０２、条件ｎ欄３０３といった、条件項目ごとに条件値を格納するための条件値欄を備える。
【００２３】
各条件値欄（３０１、３０２、３０３、等）には、条件値を特定するデータが格納され、各行に対応付けて格納される条件値の組み合わせが、除外対象の組み合わせとなる。例えば、本実施形態においては、各条件値欄（３０１、３０２、３０３、等）には、「０」、「１」、等の値が格納される。
【００２４】
結果項目記入ルール定義データベース１２１には、テスト項目リストを作成するためのルールを記述したデータが格納されている。例えば、結果項目記入ルール定義データベース１２１には、図４（Ａ）、（Ｂ）、（Ｃ）に示すような、複数の結果項目記入ルール定義テーブル４００が予め記憶されている。表作成装置１００は、複数の結果項目記入ルール定義テーブル４００を、順次、処理していくことで、テスト項目リストを作成することができる。
【００２５】
図示するように、結果項目記入ルール定義テーブル４００は、適用前提欄４０１と、条件項目欄４０２と、結果欄４０３と、を備える。条件項目欄４０２には、条件１欄４０２１、条件２欄４０２２、条件ｎ欄４０２３といった、条件値を格納するための複数の条件値欄が設けられている。
【００２６】
条件項目欄４０２の各条件値欄（４０２１、４０２２、４０２３、等）には、テスト対象のソフトウェアをテストするための入力パラメータである条件値が格納されている。例えば、本実施形態においては、各条件値欄（４０２１、４０２２、４０２３、等）には、条件項目定義テーブル２００の条件値欄２０２に格納されている条件値が格納されている。具体的には、条件値欄４０２１の各行には、条件項目定義テーブル２００の条件項目欄２０１の「条件１」に対応付けて格納されている条件値のいずれかの値が格納され、条件値欄４０２２の各行には、条件項目定義テーブル２００の条件項目欄２０１の「条件２」に対応付けて格納されている条件値のいずれかの値が格納されている。そして、各条件値欄（４０２１、４０２２、４０２３、等）の条件値は、行ごとに対応付けて格納されており、各行に対応付けて格納される条件値の組み合わせは、行ごとに異なるように格納されている。また、任意の条件値でよい場合には、「＊」という文字列を格納しておくようにしてもよい。また、ある条件値以外であれば任意の値でよい場合には、「！」という文字列を条件値の先頭に併記するようにしてもよい。
【００２７】
結果欄４０３には、１行に対応付けて格納されている全ての条件値を、入力パラメータとしてテスト対象のソフトウェアに入力した場合の結果値（期待値）が格納されている。また、結果欄４０３には、各結果項目記入ルール定義テーブル４００を、それぞれ識別可能なように、「結果１」、「結果２」といった文字列が格納されている。
【００２８】
適用前提欄４０１には、制御部１０１が次に処理対象とする結果項目記入ルール定義テーブル４００を検索するときのキーとなる情報が格納されている。例えば、本実施形態においては、適用前提欄４０１には、図４（Ａ）に示すように、「−」といった文字列や、図４（Ｂ）に示すように、「結果１」といった文字列や、テストの結果値が格納されている。ここで、「結果１」といった文字列は、結果欄４０３に格納されている文字列に対応しており、テストの結果値も結果欄４０３に格納されている結果値に対応している。表作成装置１００の制御部１０１は、テスト項目リストを作成する処理を開始したとき、まず、適用前提欄４０１に「−」が格納されている結果項目記入ルール定義テーブル４００に従って処理し、次に、結果欄４０３に格納されている値を適用前提欄４０１に有する結果項目記入ルール定義テーブル４００に従って処理していく。ここで、「−」が格納されている結果項目記入ルール定義テーブル４００は、少なくとも１つは存在する。また、処理対象の結果項目記入ルール定義テーブル４００が複数ある場合には、処理可能になった時点で処理を行う。
【００２９】
テスト項目リストデータベース１２２には、図５に示すようなテスト項目リスト５００が格納される。
【００３０】
図示するように、テスト項目リスト５００は、条件項目欄５０１と、結果項目欄５０２と、を備える。条件項目欄５０１には、条件１欄５０１１、条件２欄５０１２、条件ｎ欄５０１３といった、条件値を格納するための複数の条件値欄が設けられている。結果項目欄５０２には、結果１欄５０２１、結果２欄５０２２、結果ｎ欄５０２３といった、結果値を格納するための複数の結果値欄が設けられている。
【００３１】
条件項目欄５０１の各条件値欄（５０１１、５０１２、５０１３、等）には、条件項目定義テーブル２００の条件値欄２０２に格納されている条件値の中から、所定の抽出規則に従って抽出した条件値が格納される。具体的には、例えば、条件値欄５０１１の各行には、条件項目定義テーブル２００の条件項目欄２０１の「条件１」に対応付けて格納されている条件値のいずれかの値が格納され、条件値欄５０１２の各行には、条件項目定義テーブル２００の条件項目欄２０１の「条件２」に対応付けて格納されている条件値のいずれかの値が格納されている。
【００３２】
結果項目欄５０２の各結果値欄（５０２１、５０２２、５０２３、等）には、条件項目欄５０１の各条件値欄（５０１１、５０１２、５０１３、等）に格納されている条件値を、テスト対象のソフトウェアに入力した場合に得られる期待値（結果値）が格納される。
【００３３】
テスト項目リスト５００の各行において、条件項目欄５０１の条件値と、結果項目欄５０２の結果値とを参照して、ユーザは、実機におけるソフトウェアのテスト結果と比較することができる。
【００３４】
図１に戻り、制御部１０１は、指示受付部１１０と、条件項目抽出部１１１と、結果項目記入部１１２と、出力データ生成部１１２３と、を備える。
【００３５】
指示受付部１１０は、入力部１０３を介して、ユーザによって入力されるデータを受け付け、受け付けたデータに基づく情報を、対応する機能部に通知する。例えば、指示受付部１１０は、テスト項目リストを生成する指示を、入力部１０３を介して受け付けると、テスト項目リストを生成する処理を開始するための情報を、条件項目抽出部１１１に通知する。
【００３６】
条件項目抽出部１１１は、条件項目定義テーブル２００の条件値欄２０２に格納されているデータから、所定の抽出規則に従って条件値を抽出する条件項目抽出処理を行う。ここで、所定の抽出規則とは、例えば、田口メソッドの直交表に基づく規則、ＡＬＬ−Ｐａｉｒ法に基づく規則、ランダム、等の規則でよい。なお、条件項目抽出部１１１が抽出する条件値の組み合わせの数は、所定の網羅基準を満たすような数になる。
【００３７】
具体的には、条件項目抽出部１１１は、指示受付部１１０からの通知を受けて、条件項目定義テーブル２００及び条件項目除外定義テーブル３００を、条件項目定義データベース１２０から読み出す。
【００３８】
条件項目抽出部１１１は、条件項目定義テーブル２００の条件項目欄２０１に格納されている条件項目に対応付けて条件値欄２０２に格納されている複数の条件値から、条件項目ごとに１つずつ上記の抽出規則に従って抽出する。ただし、このとき、条件項目抽出部１１１は、抽出した条件値の組み合わせが、条件項目除外定義テーブル３００に含まれている場合は、再度、抽出処理を行う。これにより、条件項目抽出部１１１は、除外対象の条件値の組み合わせを除外して、条件値を抽出することができる。
【００３９】
このとき、条件項目抽出部１１１は、抽出した条件値を、テスト項目リストデータベース１２２に格納されているテスト項目リスト５００の条件項目欄５０１に書き込む。ここで、条件項目抽出部１１１が１回の抽出で書き込む各条件値は、条件項目欄５０１の１行に対応付けて格納する。
【００４０】
そして、条件項目抽出部１１１は、条件項目定義テーブル２００から抽出した１行分の条件値を、テスト項目リスト５００の条件項目欄５０１に書き込む処理を、所定の網羅基準を満たすまで、数回、繰り返す。
【００４１】
条件項目抽出部１１１は、基準数回の書き込み処理を完了したときに、完了したことを示すデータを、結果項目記入部１１２に通知する。
【００４２】
結果項目記入部１１２は、テスト項目リスト５００を生成するテスト項目リスト生成処理を行う。
【００４３】
例えば、結果項目記入部１１２は、条件項目抽出部１１１からの通知を受けて、テスト項目リスト５００を生成する処理を開始する。結果項目記入部１１２は、まず、条件項目抽出部１１１が条件値を格納したテスト項目リスト５００を参照して、条件項目欄５０１から１行分の条件値を読み出す。続いて、結果項目記入部１１２は、図４（Ａ）に示すような、適用前提欄４０１に、「−」の文字列が格納されている結果項目記入ルール定義テーブル４００を参照する。このとき、結果項目記入部１１２は、参照している結果項目記入ルール定義テーブル４００から、先にテスト項目リスト５００から読み出した条件値の組み合わせと一致する条件値を検索する。一致する条件値の組み合わせが結果項目記入ルール定義テーブル４００に格納されていた場合、それらの条件値に対応付けて格納されている結果値を結果欄４０３から読み出す。結果項目記入部１１２は、読み出した結果値（例えば、結果値１−１、等）を、テスト項目リスト５００の結果項目欄５０２に格納する。このとき、結果項目欄５０２に設けられている結果値欄（５０２１、５０２２、５０２３、等）のどの欄に結果値を格納するかは、結果項目記入ルール定義テーブル４００を識別するための文字列（結果欄４０３に格納されている）により決められる。例えば、結果項目記入ルール定義テーブル４００を識別するための文字列が「結果１」であるとき、結果欄４０３から読み出した結果値は、テスト項目リスト５００の結果１欄５０２１に格納される。
【００４４】
次に、結果項目記入部１１２は、結果項目記入ルール定義テーブル４００の結果欄４０３に格納されているデータを適用前提欄４０１に格納している結果項目記入ルール定義テーブル４００を参照する。ここで、結果欄４０３に格納されているデータとは、結果項目記入ルール定義テーブル４００を識別するための文字列、及び、テスト項目リスト５００に格納した結果値を指す。結果項目記入部１１２は、次に参照している結果項目記入ルール定義テーブル４００から、先にテスト項目リスト５００から読み出した条件値の組み合わせと一致する条件値を、再度、検索する。このとき、一致する条件値の組み合わせが見つかった場合、それらの条件値に対応付けて、結果欄４０３に格納されている結果値を、上述した要領でテスト項目リスト５００に格納する。結果項目記入部１１２は、このようなテスト項目リスト５００に結果値を格納する処理を、次に処理するべき結果項目記入ルール定義テーブル４００がなくなる状態になるまで行う。これにより、例えば、１又は複数の条件値からなる条件項目情報（例えば、「○○できるか否か」をテストする情報）をテスト対象のソフトウェアに入力して、結果値１−１（例えば、「Ｙｅｓ」）が出力されるときに、別の条件項目情報（例えば、「△△が動作するか否か」をテストする情報）を入力した際の結果値２−１（例えば、「Ｙｅｓ」）を、結果値１−１とセットにして、テスト項目リスト５００に格納することができる。
【００４５】
ただし、参照している結果項目記入ルール定義テーブル４００に、先にテスト項目リスト５００から読み出した条件値の組み合わせと一致する条件値が格納されていなかった場合には、結果項目記入部１１２は、別の結果項目記入ルール定義テーブル４００の中から、一致する条件値の組み合わせを検索する。このとき、結果項目記入部１１２は、一致する条件値の組み合わせが見つかるまで、結果項目記入ルール定義データベース１２１に格納される全ての結果項目記入ルール定義テーブル４００から、所定の順番で検索していく。ここで、所定の順番は、結果項目記入ルール定義テーブル４００を識別するための文字列（結果欄４０３に格納されている）により決められる。例えば、結果項目記入ルール定義テーブル４００を識別するための文字列が「結果１」であるとき、適用前提欄４０１に「結果１」を特定するデータを格納している結果項目記入ルール定義テーブル４００を、次に読み出す。
結果項目記入部１１２は、以上のような処理を、テスト項目リスト５００の条件項目欄５０１の全ての行に格納されている条件値の組み合わせに対して実行する。これにより、結果項目記入部１１２は、テスト項目リスト５００を生成することができる。
テスト項目リスト５００を生成した結果項目記入部１１２は、テスト項目リスト５００を、出力データ生成部１１３に供給する。
【００４６】
出力データ生成部１１３は、出力部１０４を介して表示装置や印刷装置に出力するためのデータを生成する。例えば、出力データ生成部１１３は、結果項目記入部１１２からテスト項目リスト５００が供給されると、そのテスト項目リスト５００に含まれるデータを、画像データに変換する。そして、出力データ生成部１１３は、変換した画像データを、出力部１０４に供給する。この画像データは、例えば、図６に示すような、画像データでよい。また、この画像データに、ユーザにテスト項目リスト５００を生成する処理を完了したことを知らせるメッセージを含めてもよい。
【００４７】
以上のように構成される表作成装置１００は、例えば、図７に示すような、ＣＰＵ７０１と、主記憶部７０２と、ＨＤＤ等の外部記憶装置７０３と、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の可搬性を有する可搬型記憶媒体７０７から情報を読み出す読取装置７０５と、ディスプレイ、キーボードやマウス等の入出力装置７０６と、通信ネットワークに接続するためのＮＩＣ（Network Interface Card）等の通信装置７０４と、を備えた一般的なコンピュータで実現される。
【００４８】
例えば、記憶部１０２は、外部記憶装置７０３により実現可能であり、制御部１０１は、外部記憶装置７０３に記憶されている所定のプログラムを主記憶装置７０２にロードしてＣＰＵ７０１で実行することで実現可能であり、入力部１０３、出力部１０４は、入出力装置７０６で実現可能である。
【００４９】
この所定のプログラムは、読取装置７０５を介して可搬型記憶媒体７０７から、或いは、通信装置７０４を介してネットワークから、外部記憶装置７０３にダウンロードされ、それから、主記憶装置７０２上にロードされてＣＰＵ７０１により実行されるようにしてもよい。また、読取装置７０５を介して可搬型記憶媒体７０７から、或いは、通信装置７０４を介してネットワークから、主記憶装置７０２上に直接ロードされ、ＣＰＵ７０１により実行されるようにしてもよい。
【００５０】
以上のような構成により、表作成装置１００は、全てのテスト項目（条件値）からランダムに抽出したテスト項目（条件値）を入力して行うテストを、ソフトウェアに対して複数回行う場合であっても、テスト毎のテスト項目リストを容易に生成できる。
【００５１】
図８は、表作成装置１００で行う条件項目抽出処理を示すフローチャートである。
【００５２】
制御部１０１の条件項目抽出部１１１は、テスト項目リストを生成する処理を開始するための情報を、指示受付部１１０から受け付けたとき、条件項目抽出処理を開始する。
【００５３】
まず、条件項目抽出部１１１は、条件項目定義データベース１２０から、条件項目定義テーブル２００及び条件項目除外定義テーブル３００を読み出す（ステップＳ１０１）。
【００５４】
次に、条件項目抽出部１１１は、条件値を所定の抽出規則に従って抽出する（ステップＳ１０２）。具体的には、条件項目抽出部１１１は、ステップＳ１０１で読み出した条件項目情報を有する条件項目に対応付けて格納されている条件値を、条件項目ごとに、条件値欄２０２から所定の抽出規則に従って抽出する。
【００５５】
さらに、条件項目抽出部１１１は、テスト不可能な条件値の組み合わせを除外する（ステップＳ１０３）。具体的には、条件項目抽出部１１１は、ステップＳ１０２で抽出した条件値の組み合わせが、条件項目除外定義テーブル３００の条件値欄（３０１、３０２、３０３、等）に格納されている場合は、ステップＳ１０２の抽出処理を行う。このとき、条件項目抽出部１１１は、条件項目除外定義テーブル３００に格納されている条件値の組み合わせと一致しない条件値を抽出するまで、ステップＳ１０２の抽出処理を繰り返す。従って、ステップＳ１０３では、条件項目除外定義テーブル３００に格納されていない組み合わせの条件値が抽出されることになる。
【００５６】
続いて、条件項目抽出部１１１は、テスト項目リスト５００に、ステップＳ１０２、ステップＳ１０３で抽出した条件値をエントリする（ステップＳ１０４）。具体的には、条件抽出部１１１は、テスト項目リスト５００の条件項目欄５０１の同一行に、ステップＳ１０２、ステップＳ１０３で抽出した条件値を書き込む。
【００５７】
条件項目抽出部１１１は、テスト項目リスト５００にエントリした行数（テスト項目数）が、基準値（所定の網羅基準を満たす条件値の組み合わせの数）と一致するか否かを判別する（ステップＳ１０５）。具体的には、条件項目抽出部１１１は、予め記憶部１０２等に記憶しておいた基準値を参照して、テスト項目リスト５００にエントリした行数と比較する。
【００５８】
ステップＳ１０５で、条件項目抽出部１１１は、テスト項目リスト５００にエントリした行数が、基準値に満たない場合には（ステップＳ１０５；Ｎｏ）、処理をステップＳ１０２に移行させ、条件値を再度抽出する処理を行う。これにより、テスト項目リスト５００の条件項目５０１には、行ごとに、所定の抽出規則に従って抽出された条件値が書き込まれる。
【００５９】
一方、条件項目抽出部１１１は、テスト項目リスト５００にエントリした行数が、基準値と一致したとき（ステップＳ１０５；Ｙｅｓ）、条件項目抽出処理を完了したことを示すデータを、結果項目記入部１１２に通知して、条件項目抽出処理を終了させる。
【００６０】
次に、表作成装置１００で行うテスト項目リスト生成処理について説明する。図９は、テスト項目リスト生成処理を示すフローチャートである。
【００６１】
制御部１０１の結果項目記入部１１２は、条件項目抽出部１１１からの通知を受けて、テスト項目リスト生成処理を開始する。
【００６２】
まず、結果項目記入部１１２は、テスト項目リストデータベース１２２に格納されているテスト項目リスト５００に格納されている条件値を読み出す（ステップＳ２０１）。具体的には、結果項目記入部１１２は、テスト項目リスト５００の条件項目欄５０１を構成する各条件値欄（５０１１、５０１２、５０１３、等）に対応付けて格納されている１行分の条件値を読み出す。
【００６３】
次に、結果項目記入部１１２は、結果項目記入ルール定義データベース１２１から結果項目記入ルール定義テーブル４００を読み出す（ステップＳ２０２）。具体的には、結果項目記入部１１２は、適用前提欄４０１に「−」の文字列を有する結果項目記入ルール定義テーブル４００を読み出す。
【００６４】
続いて、結果項目記入部１１２は、ステップＳ２０１で読み出した条件値の組み合わせに一致する条件値が、読み出した結果項目記入ルール定義テーブル４００に有るか否か判別する（ステップＳ２０３）。具体的には、結果項目記入部１１２は、テスト項目リスト５００から読み出した全ての条件値と、結果項目記入ルール定義テーブル４００に１行に対応付けて格納されている全ての条件値とを、条件項目ごとに比較して、条件項目ごとに全ての条件値が一致する場合に、一致する条件値が有ると判別する。このとき、結果項目記入部１１２は、結果項目記入ルール定義テーブル４００に格納されている全ての行の条件値と比較を行う。
【００６５】
ステップＳ２０３で、一致する条件値がないと判別した場合（ステップＳ２０３；Ｎｏ）、結果項目記入部１１２は、処理をステップＳ２０２に移行させて、別の結果項目記入ルール定義テーブル４００を読み出す。具体的には、結果項目記入部１１２は、結果欄４０３に格納されている識別用の文字列を適用前提欄４０１に格納している結果項目記入ルール定義テーブル４００を、次に読み出す。
【００６６】
一方、ステップＳ２０３で、一致する条件値が有ると判別した場合（ステップＳ２０３；Ｙｅｓ）、結果項目記入部１１２は、その条件値に対応する結果値を、テスト項目リスト５００に格納する（ステップＳ２０４）。具体的には、結果項目記入部１１２は、対応する結果欄４０３に格納されている結果値を読み出し、その結果値を、テスト項目リスト５００の結果項目欄５０２に格納する。
【００６７】
続いて、結果項目記入部１１２は、他に処理すべき結果項目記入ルール定義テーブル４００が有るか否かを判別する（ステップＳ２０５）。具体的には、結果項目記入部１１２は、結果欄４０３に格納されている識別用の文字列と結果値とを、適用前提欄４０１に格納している結果項目記入ルール定義テーブル４００を、結果項目記入ルール定義データベース１２１から検索することで判別する。
【００６８】
ステップＳ２０５で、処理すべき結果項目記入ルール定義テーブル４００が有ると判別した場合は（ステップＳ２０５；Ｙｅｓ）、結果項目記入部１１２は、ステップＳ２０１で読み出した条件値の組み合わせと一致する条件値が、処理すべき結果項目記入ルール定義テーブル４００に有るか否かを判別する（ステップＳ２０６）。具体的には、結果項目記入部１１２は、テスト項目リスト５００から読み出した全ての条件値と、結果項目記入ルール定義テーブル４００に１行に対応付けて格納されている全ての条件値とを、条件項目ごとに比較して、条件項目ごとに全ての条件値が一致する場合に、一致する条件値が有ると判別する。このとき、結果項目記入部１１２は、結果項目記入ルール定義テーブル４００に格納されている全ての行の条件値と比較を行う。
【００６９】
ステップＳ２０６で、一致する条件値がないと判別した場合は（ステップＳ２０６；Ｎｏ）、結果項目記入部１１２は、処理をステップＳ２０５に移行させて、他に処理すべき結果項目記入ルール定義テーブル４００が有るか否かを判別する。
【００７０】
一方、ステップＳ２０６で、一致する条件値が有ると判別した場合は（ステップＳ２０６；Ｙｅｓ）、結果項目記入部１１２は、処理をステップＳ２０４に移行させて、その条件値に対応する結果値を、テスト項目リスト５００に格納する。
【００７１】
また、ステップＳ２０５で、処理すべき結果項目記入ルール定義テーブル４００がないと判別した場合は（ステップＳ２０５；Ｎｏ）、結果項目記入部１１２は、テスト項目リスト５００の生成を完了したか否かを判別する（ステップＳ２０７）。具体的には、結果項目記入部１１２は、テスト項目リスト５００に設けられた結果項目欄５０２の最終行に結果値が格納されているか否かで判別する。
【００７２】
ステップＳ２０７で、テスト項目リスト５００の生成が完了していないと判別した場合（ステップＳ２０７；Ｎｏ）、結果項目記入部１１２は、処理をステップＳ２０１に移行させて、テスト項目リスト５００から、条件項目欄５０１に格納されている次の行の条件値を読み出す。
【００７３】
一方、ステップＳ２０７で、テスト項目リスと５００の生成が完了したと判別した場合（ステップＳ２０７；Ｙｅｓ）、処理をステップＳ２０８に移行させる。
【００７４】
ステップＳ２０８では、制御部１０１は、ステップＳ２０４で結果項目記入部１１２が結果値を格納したテスト項目リスト５００を出力する（ステップＳ２０８）。具体的には、結果項目記入部１１２は、テスト項目リスト５００を、出力データ生成部１１３に供給する。そして、出力データ生成部１１３は、供給されたテスト項目リスト５００を開発者が確認可能なように、画像データに変換する。変換後、出力データ生成部１１３は、画像データを、出力部１０４を介して、表示装置等に出力する。
その後、制御部１０１は、テスト項目リスト生成処理を終了させる。
【００７５】
以上より、本表作成装置１００は、複数回、テスト項目リストを作成し直す場合であっても、テスト項目リストを容易に作成することができる。
【００７６】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
【００７７】
例えば、上記実施形態では、各処理（条件項目抽出処理、テスト項目リスト生成処理、等）、を１つの装置（表作成装置１００）で行うようにしている。しかしながら、本発明はこれに限定されず、例えば、ネットワークを介して、複数の装置に分散させて各処理を行うようにしてもよい。
【００７８】
また、上記実施形態では、条件項目抽出処理でのステップＳ１０５において、抽出処理を終了させるための基準値を、テスト項目リスト５００にエントリした行数（テスト項目数）にしている。しかしながら、本発明は、これに限定されず、行数以外の基準値としてもよい。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態に係る表作成装置の機能構成図である。
【図２】条件項目定義テーブルのデータ構造を概念的に示したデータ構造図である。
【図３】条件項目除外定義テーブルのデータ構造を概念的に示したデータ構造図である。
【図４】結果項目記入ルール定義テーブルのデータ構造を概念的に示したデータ構造図である。
【図５】テスト項目リストのデータ構造を概念的に示したデータ構造図である。
【図６】表示部にテスト項目リストを表示させた画面のレイアウト例を示した図である。
【図７】本発明の実施形態に係る各情報処理装置のハードウェア構成の一例を示す図である。
【図８】表作成装置で実行される条件項目抽出処理のフローチャートを示す図である。
【図９】表作成装置で実行されるテスト項目リスト生成処理のフローチャートを示す図である。
【符号の説明】
【００８０】
１００…表作成装置、１０１…制御部、１０２…記憶部、１０３…入力部、１０４…出力部、１１０…指示受付部、１１１…条件項目抽出部、１１２…結果項目記入部、１１３…出力データ生成部、１２０…条件項目定義データベース、１２１…結果項目記入ルール定義データベース、１２２…テスト項目リストデータベース、２００…条件項目定義テーブル、３００…条件項目除外定義テーブル、４００…結果項目記入ルール定義テーブル、５００…テスト項目リスト、７０１…ＣＰＵ、７０２…主記憶装置、７０３…外部記憶装置、７０４…通信装置。
【図１】
2008209993.tif 000003
【図２】
2008209993.tif 000004
【図３】
2008209993.tif 000005
【図４】
2008209993.tif 000006
【図５】
2008209993.tif 000007
【図６】
2008209993.tif 000008
【図７】
2008209993.tif 000009
【図８】
2008209993.tif 000010
【図９】
2008209993.tif 000011