(57)【要約】【課題】  テスト対象となる任意のソフトウェア機能に対して、直交表を利用したテスト計画表を自動的に作成することができる方法及びその方法を実現するためのコンピュータプログラムを提供する。【解決手段】  データ入力ステップで入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択ステップと、直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力ステップで入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付ステップと、を具備する。【選択図】図２
2006252316.tif 000002
【特許請求の範囲】
【請求項１】
記憶部に適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを所定の記憶装置に記憶させる直交表データ記憶ステップと、
テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するための因子・水準データ入力ステップと、
因子・水準データ入力ステップで入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択ステップと、
直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力ステップで入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付ステップと、
因子・水準割付ステップで生成されたテスト計画表データを出力するテスト計画表データ出力ステップと、
を具備することを特徴とするテスト計画表作成方法。
【請求項２】
直交表選択ステップが、
因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、
因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、
因子数判定手段の判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、
を含むことを特徴とする請求項１に記載のテスト計画表作成方法。
【請求項３】
因子・水準割付ステップが、
選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、
予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、
因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、
因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、
を含むことを特徴とする請求項１に記載のテスト計画表作成方法。
【請求項４】
直交表選択ステップが、
因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、
因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、
因子数判定ステップの判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、
を含み、かつ
因子・水準割付ステップが、
選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、
予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、
因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、
因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、
を含むことを特徴とする請求項１に記載のテスト計画表作成方法。
【請求項５】
コンピュータにより実行され、適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを用いてテスト直交表を作成する処理を行うためのプログラムであって、
テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するための因子・水準データ入力ステップと、
データ入力ステップで入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択ステップと、
直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力ステップで入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付ステップと、
因子・水準割付ステップで生成されたテスト計画表データを出力するテスト計画表データ出力ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【請求項６】
直交表選択ステップが、
因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、
因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、
因子数判定手段の判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、
を含むことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
因子・水準割付ステップが、
選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、
予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、
因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、
因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、
を含むことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項８】
直交表選択ステップが、
因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、
因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、
因子数判定ステップの判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、
を含み、かつ
因子・水準割付ステップが、
選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、
予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、
因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、
因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、
を含むことを特徴とする請求項５に記載のコンピュータプログラム。
【請求項９】
適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを記憶させてなる記憶装置と、
テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するための因子・水準データ入力手段と、
因子・水準データ入力手段で入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択手段と、
直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力手段で入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付手段と、
因子・水準割付手段で生成されたテスト計画表データを出力するテスト計画表データ出力手段と、
を具備することを特徴とするテスト計画表作成装置。
【請求項１０】
直交表選択手段が、
因子・水準データ入力手段にて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定手段と、
因子数判定手段の判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択手段と、
因子数判定手段の判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択手段と、
を含むことを特徴とする請求項９に記載のテスト計画表作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ソフトウェアテストに使用するテスト計画表をコンピュータにて自動的に作成するための方法及びそのためのコンピュータプログラムに関する。
【背景技術】
【０００２】
ソフトウェアテストを行う場合、一般的には、人が手作業で作成した「テスト計画表」に基づいて、ある機能について各パラメータの設定を一通り試行し、また重要となるパラメータの組み合わせを選んで試行して、その結果が問題なければテスト合格とする場合が多い。
【０００３】
しかしながら、このようなテスト方法にあっては、テストすべきパラメータの組み合わせを幾分多くすると、途端に、「テスト計画表」におけるテスト項目数が飛躍的に増大してテストに際する作業負荷が無視し得なくなるほか、組み合わせの漏れもしばしば起こり得ると言う問題がある。
【０００４】
ところで、ある製品の因子（パラメータ）が出力特性値にどれだけ影響するのかを効率的に解析するために使用される「実験計画法」においては、「直交表」なるツールが使用される。「直交表」は、ＪＩＳにおいては、「任意の２因子について、その水準の全ての組み合わせが同数回ずつ現れるような実験の割付のための表」と定義されている。
【０００５】
そこで、本発明者等は、この「直交表」の概念をソフトウェアテストに導入することで、適切なパラメータの組み合わせを、少ないテスト項目数でバランス良く試行できるのではないか、また全ての組み合わせが一通りテストできるため、ある組み合わせのテストが完全に漏れてしまうことも回避できるのではないか、との着想を得た。
【０００６】
なお、直交表作成方法については、いくつかの他の文献にも記載されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−１３３６５９公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ソフトウェアのある機能のテストはテスト計画表にしたがって行われる。このテスト計画表を直交表を用いて作成するとした場合における一般的な手順を、図１１を参照して説明する。
【０００８】
先ず、図１１（ａ）に示されるように、対象となるソフトウェアの機能に関する因子と水準とを全て列挙することにより、因子別内訳表を作成する。次に、図１１（ｂ）に示されるように、因子別内訳表に含まれる因子と水準とを割り付けるに適した直交表（この例では「Ｌ４直交表」）を選択する。最後に、図１１（ｃ）に示されるように、選択された直交表の各列のそれぞれには、各因子（「スイッチＡ」、「スイッチＢ」、「スイッチＣ」）を、また各因子の対応する行のそれぞれには、各水準（「水準１＝Ｏｆｆ，水準２＝Ｏｎ」、「水準１＝Ｏｆｆ，水準２＝Ｏｎ」、「水準１＝上、水準２＝下」）を順に割り付けることにより、テスト計画表を完成する。
【０００９】
この例にあっては、図１１（ａ）と図１１（ｂ）との比較から明らかなように、因子別内訳表の因子数とＬ４直交表の列数とはいずれも「３」で一致しており、また、因子別内訳表の水準数とＬ４直交表の水準数とについてもいずれも「２」で一致しているため、割付にはなんの問題もない。
【００１０】
しかし、実際のテスト対象となるソフトウェア機能に対して、因子数と各因子毎の水準数とがぴったりと適合する直交表が存在することは寧ろ稀である。したがつて、テスト対象となる任意のソフトウェア機能に対して、直交表を利用して最適なテスト計画表を作成することはなかなか容易なことではない。
【００１１】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、テスト対象となる任意のソフトウェア機能に対して、直交表を利用したテスト計画表を自動的に作成することができる方法及びその方法を実現するためのコンピュータプログラムを提供することにある。
【００１２】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【００１３】
この発明によるテスト計画表作成は、適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを所定の記憶装置に記憶させる直交表データ記憶ステップと、テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するための因子・水準データ入力ステップと、因子・水準データ入力ステップで入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択ステップと、直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力ステップで入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付ステップと、因子・水準割付ステップで生成されたテスト計画表データを出力するテスト計画表データ出力ステップと、を含んでいる。
【００１４】
「多水準作成法」とは、直交表のある２列に着目し、その２列の水準の組み合わせパターンを個々の水準と見なせば、２列の水準を乗算した水準数を持つ１列と変換することができる方法である。
【００１５】
「擬水準法」とは、ある機能の１因子の水準数が、直交表の各因子の水準数に満たない場合、水準数を水増しすることでその直交表を適用することができる方法である。
【００１６】
この発明によると、テスト対象となる任意のソフトウェア機能に対して、直交表を利用して最適なテスト計画表を自動的に作成することができる。
【００１７】
この発明の一実施態様においては、直交表選択ステップが、因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、因子数判定手段の判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、を含んでいる。これにより、入力された因子・水準データに適した行数の最も少ない直交表を選択することができる。
【００１８】
この発明の一実施態様においては、因子・水準割付ステップが、選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、を含んでいる。これにより、選択された直交表データで特定される直交表の列に水準数が同じ因子を割り付けることができる。
【００１９】
この発明の一実施態様においては、直交表選択ステップが、因子・水準データ入力ステップにて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定ステップと、因子数判定ステップの判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択ステップと、因子数判定ステップの判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択ステップと、を含み、かつ因子・水準割付ステップが、選択された直交表データで特定される直交表の列に、水準数が同じ因子を割り付ける予備割付ステップと、予備割付ステップによる割付ののちに、因子が余っているか否かを判定する因子数余剰判定ステップと、因子数余剰判定ステップの判定結果が否定であるときに、因子数が割り付けられなかった直交表の列を削除して割付を完了する第１の本割付ステップと、因子数余剰判定ステップの判定結果が肯定であるときに、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する第２の本割付ステップと、を含んでいる。これにより、入力された因子・水準データに適した最も行数の少ない直交表を選択することができ、かつ選択された直交表データで特定される直交表の列に水準数が同じ因子を割り付けることができる。
【００２０】
この発明によるテスト計画書作成装置は、適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを記憶させてなる記憶装置と、テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するための因子・水準データ入力手段と、因子・水準データ入力手段で入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する直交表選択手段と、直交表データ選択ステップにより選択された直交表データにより特定される直交表に、データ入力手段で入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成する因子・水準割付手段と、因子・水準割付手段で生成されたテスト計画表データを出力するテスト計画表データ出力手段と、を含んでいる。
【００２１】
この発明によると、テスト対象となる任意のソフトウェア機能に対して、直交表を利用して最適なテスト計画表を自動的に作成することができる。
【００２２】
この発明の一実施態様においては、直交表選択手段が、因子・水準データ入力手段にて入力された因子・水準データに基づいて、入力された因子の水準数が全て等しいか否かを判定する因子数判定手段と、因子数判定手段の判定結果が肯定であるときに、入力された因子より因子数が多く、水準数が等しい直交表のうち行数が最も少ないものに相当する直交表データを選択する第１の選択手段と、因子数判定手段の判定結果が否定であるときに、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データを選択する第２の選択手段と、を含んでいる。これにより、入力された因子・水準データに適した行数の最も少ない直交表を選択することができる。
【００２３】
この発明によるテスト計画作成方法は、コンピュータを動作させるソフトウェア（プログラム）によっても実現できる。
【発明の効果】
【００２４】
この発明によれば、テスト対象となる任意のソフトウェア機能に対して、直交表を利用して最適なテスト計画表を自動的に作成することが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明方法及びコンピュータプログラムの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【００２６】
本発明方法を実施するためのテスト計画作成装置の構成図が図１に示されている。図示の装置は、いわゆるパソコンに所定のコンピュータプログラムをインストールすることにより実現することができる。
【００２７】
同図に示されるように、このテスト計画表作成装置１００は、演算部１と、メモリ部２と、入出力部３と、データ管理部４と、直交表データ記憶部５と、因子・水準データ記憶部６と、テスト計画表データ記憶部７と、直交表選択処理部８と、因子・水準割付処理部９と、を含んでいる。また、演算部１と、データ管理部４と、直交表選択処理部８と、因子・水準割付処理部９とは、コンピュータのプロセッサ部に該当する。さらに、直交表データ記憶部５と、因子・水準データ記憶部６と、テスト計画表データ記憶部７とは、コンピュータの記憶部（ハードウェア資源）に該当する。
【００２８】
演算部１は、装置全体を統括制御したり、装置の動作（図２〜図４のフローチャートで示される）に必要な所定の数値又は論理演算を実行するためのものであり、この例ではマイクロプロセッサやＲＯＭ，ＲＡＭ等により構成されている。
【００２９】
メモリ部２は、演算部１における各種演算の途中結果を置くワーキングエリア等として機能するためのものであり、この例ではＲＡＭを主体として構成されている。
【００３０】
入出力部３は、操作者との間におけるマンマシンインタフェースとして機能するものであり、例えばキーボード、ディスプレス、マウス等のポインティングデバイス等で構成されている。
【００３１】
データ管理部４は、後述する直交表データ記憶部５，因子・水準データ記憶部，テスト計画表データ記憶手段７に対するデータの読み出しや書き込みを管理するものであり、所定のソフトウェア（ＯＳ等）により機能構成されている。
【００３２】
直交表データ記憶部５は、適用可能な最大因子数に相当する行数並びに適用可能な最大水準数に相当する列数の異なる複数種の直交表に相当する直交表データを記憶するものであり、例えばハードディスク等で構成されている。なお、後述するように、この直交表データ記憶部５には、例えば図５の直交表別因子数内訳テーブルに示されるように、７種類の直交表データ（Ｌ８，Ｌ９，Ｌ１２，Ｌ１６，Ｌ１８，Ｌ２７，Ｌ３６）が格納される。
【００３３】
因子・水準データ記憶部６は、例えば入出力部３を介して予め入力された各ソフトウェア機能毎の因子・水準データをそれぞれＩＤを付して記憶するものであり、例えばハードディスク等の読み書き可能な記憶装置で構成されている。
【００３４】
テスト計画表データ記憶部７は、後述するテスト計画表作成処理（図２のフローチャートで示される）にて作成されたテスト計画表を記憶するためのものであり、例えばハードディスク等の読み書き可能な記憶装置で構成されている。
【００３５】
直交表選択処理部８は、入力された因子・水準データで特定される因子並びに水準に適した直交表に相当する直交表データの１つを、記憶装置に記憶された複数種の直交表データの中から選択する機能を有するものであり、後述する直交表選択処理（図４のフローチャートで示される）を実行することによりソフトウェア的に機能構成される。
【００３６】
因子・水準割付処理部９は、直選択された直交表データにより特定される直交表に、データ入力ステップで入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成するのであり、後述する直交表選択処理（図３のフローチャートで示される）を実行することによりソフトウェア的に機能構成される。
【００３７】
次に、本発明に係るテスト計画作成方法を実現するためのテスト計画作成処理のゼネラルフローチャートが図２に示されている。同図に示されるように、この処理の全体は、因子・水準データ入力処理（ステップ２０１）と、直交表選択処理（ステップ２０３）と、因子・水準割付処理（ステップ２０４）と、テスト計画表出力処理（ステップ２０５）とからなる４つの処理を含んでいる。
【００３８】
因子・水準データ入力処理（ステップ２０１）は、テスト対象となるソフトウェアの１の機能に関する一連の因子並びに各因子の取り得る水準を少なくとも特定する因子・水準データを入力するためのものであり、この因子・水準データ入力処理（ステップ２０１）が完了するのを待って（ステップ２０２ＹＥＳ）、次の処理（ステップ２０３）への移行が行われる。
【００３９】
直交表選択処理（ステップ２０３）は、記憶装置に記憶された複数種の直交表データの中から選択するためのものであり、その詳細は図３のフローチャートに示されている。
【００４０】
因子・水準割付処理（ステップ２０４）は、因子・水準データ入力処理（ステップ２０１）で入力された因子・水準データで特定される因子並びに水準を割り付けてテスト計画表に相当するテスト計画表データを生成するためのものであり、その詳細は図４のフローチャートに示されている。
【００４１】
テスト計画表出力処理（ステップ２０５）は、因子・水準割付処理（ステップ２０４）で生成されたテスト計画表データを出力するためのものであり、出力されたデータは外部に出力されたり、ディスプレイに表示されたり、テスト計画表データ記憶部７に記憶されたりすることとなる。
【００４２】
次に、直交表選択処理（ステップ２０３）の詳細が図３に示されている。同図において、ステップ３０１においては、使用する直交表の昇順ソートが行われる。すなわち、直交表データ記憶部５内には、別途入力された複数種の直交表データがランダムな順序で格納されているから、これを昇順に並べ替えることにより後の処理を容易とするものである。
【００４３】
続くステップ３０２（因子数判定ステップ）においては、因子・水準データ入力処理（ステップ２０１）で入力された因子の水準数が全て等しいか否かの判定が行われる。すなわち、この因子数判定ステップ（ステップ３０２）は行数が最も少ないものに相当する直交表を選択するために設けられている。
【００４４】
因子数判定ステップ（ステップ３０２）の判定結果が肯定の場合には（ステップ３０２ＹＥＳ）、第１の選択ステップ（ステップ３０３）への移行が行われるのに対して、判定結果が否定の場合には（ステップ３０２ＮＯ）、第２の選択ステップ（ステップ３０４〜３０８）への移行が行われる。
【００４５】
第１の選択ステップ（ステップ３０３）においては、入力された因子より因子数が多く、水準数が全て等しい直交表のうち行数が最も少ないものに相当する直交表データの選択が行われる。その結果として選択された直交表が最終的な選択結果とされ、以後の因子・水準割付処理（図４のフローチャートで示される処理）へと受け渡される。
【００４６】
第２の選択処理（ステップ３０４〜３０８）においては、ａ）因子を直交表に割り付けたとき、水準数が全て適合するか、ｂ）因子を直交表に割り付けたとき、水準数が足りるか、又はｃ）多水準作成法で水準数を増やせば、因子を直交表に割り付けることができる、直交表のうちで、行数の最も少ない直交表に相当する直交表データが選択される。
【００４７】
すなわち、先ず、ステップ３０４においては、過去に選択された直交表データを除いた直交表のうちで、行数が最も少ない直交表データの選択が行われる。
【００４８】
続くステップ３０５においては、入力された因子数が、選択された直交表データの因子数よりも少ないか否かの判定が行われる。このとき、判定結果が肯定の場合には（ステップ３０５ＹＥＳ）、次のステップ（ステップ３０６）への移行が行われる。判定が否定の場合には（ステップ３０５ＮＯ）、ステップ３０４への移行が行われ、直交表のうちで、行数が最も少ない直交表データの選択が行われる。
【００４９】
続くステップ３０６においては、因子を直交表に割り付けたとき、水準数が全て適合するか否かの判定が行われる。このとき、判定結果が肯定の場合には（ステップ３０６ＹＥＳ）、選択された直交表が最終的な選択結果とされ、以後の因子・水準割付処理（図４のフローチャートで示される処理）へと受け渡される。判定が否定の場合には（ステップ３０６ＮＯ）、次のステップ（ステップ３０７）への移行が行われる。
【００５０】
続くステップ３０７においては、因子を直交表に割り付けたとき、水準数が足りるか否かの判定が行われる。このとき、判定結果が肯定の場合には（ステップ３０７ＹＥＳ）、選択された直交表が最終的な選択結果とされ、以後の因子・水準割付処理（図４のフローチャートで示される処理）へと受け渡される。判定が否定の場合には（ステップ３０７ＮＯ）、次のステップ（ステップ３０７）への移行が行われる。
【００５１】
続くステップ３０８においては、多水準作成法で水準数を増やせば、因子を直交表に割り付けることができるか否かの判定が行われる。このとき、判定結果が肯定の場合には（ステップ３０８ＹＥＳ）、選択された直交表が最終的な選択結果とされ、以後の因子・水準割付処理（図４のフローチャートで示される処理）へと受け渡される。判定が否定の場合には（ステップ３０８ＮＯ）、ステップ３０４への移行が行われ、直交表のうちで、行数が最も少ない直交表データの選択が行われる。
【００５２】
次に、因子・水準割付処理（ステップ２０４）の詳細が図４に示されている。同図において、予備割付処理（ステップ４０１）においては、直交表データで特定される直交表の列に、水準数が同じ因子の割付が行われる。すなわち、この予備割付処理（ステップ４０１）が実行される結果、因子が余るか否かの判定となる。
【００５３】
続く因子数余剰判定処理（ステップ４０２）においては、割り付けた因子が余るか否か判定が行われる。このとき、判定結果が否定であるときには（ステップ４０２ＮＯ）、第１の本割付処理（ステップ４０８）が実行される。この第１の本割付処理（ステップ４０８）では、割り付けた因子が余ったか否かの判定が行われる。
【００５４】
因子数余剰判定処理（ステップ４０２）における判定結果が肯定であるときには（ステップ４０２ＹＥＳ）、第２の本割付処理（ステップ４０３，４０４，４０５，４０６，４０７，４０８）が実行される。この第２の本割付処理（ステップ４０３，４０４，４０５，４０６，４０７，４０８）においては、ａ）直交表のどの列の水準よりも多い水準を持つ因子があるときには、多水準作成法にて直交表の水準数を増やす一方、ｂ）直交表のどの列の水準よりも少ない水準を持つ因子があるときには、擬水準法にて因子の水準の１つを別の水準とみなして複製追加し、ａ）又はｂ）ののち、直交表の列に水準が同じ因子を割り付け、因子が割り付けられなかった列を削除して割付を完了する処理が実行される。
【００５５】
すなわち、ステップ４０３においては、直交表のどの列の水準よりも多い水準を持つ因子があるか否かの判定が行われる。そのとき、判定結果が肯定の場合には（ステップ４０３ＹＥＳ）、多水準作成法にて直交表の水準数が増やされる（ステップ４０４）。判定結果が否定の場合には（ステップ４０３ＮＯ）、次のステップ（ステップ４０５）への移行が行われる。
【００５６】
ステップ４０５においては、直交表のどの列の水準よりも少ない水準を持つ因子があるか否かの判定が行われる。そのとき、判定結果が肯定の場合には（ステップ４０５ＹＥＳ）、擬水準法にて因子の水準の１つが別の水準とみなして複製追加され（ステップ４０６）、次のステップ（ステップ４０７）への移行が行われる。判定結果が否定の場合には（ステップ４０５ＮＯ）、次のステップ（ステップ４０７）への移行が行われる。
【００５７】
ステップ４０７においては、直交表データで特定される直交表の列に、水準数が同じ因子の割付が行われる。
【００５８】
ステップ４０８においては、直交表データで特定される直交表の列に、水準数が同じ因子の割付が行われた後（ステップ４０１、ステップ４０７）、因子が割り付けられなかった列が削除される。
【００５９】
なお、多水準作成法はすでに各種の文献にて公知であるが、ここで、図６〜図８を参照して念のため説明する。
【００６０】
多水準作成法とは、直交表のある２列に着目し、その２列の水準の組み合わせパターンを個々の水準と見なせば、２列の水準を乗算した水準数を持つ１列と変換することができる方法である。ただし、ある２列を１列に変換する場合、その２列の交互作用となる列も削除しなければならない。直交表の任意の２列の交互作用となる列を調べる方法として、直交表に不可された交互作用表を用いるのが正当であるが、ａ）直交表の成分から計算する方法、ｂ）線点図を用いる方法でも列を調べることが可能である。
【００６１】
第１の直交表の成分から計算する方法を説明する。直交表の成分から計算する方法で使用される成分が付記されたＬ８直交表が図６に示されている。同図に示されるように、直交表には、成分が付記されている。ここで、任意の２列の交互作用となる列は、その２列の成分を乗算した結果と同じ成分を持つ列に相当する。ただし、、２錠となった文字は１に変換する。列番１と列番５との交互作用となる列は、その成分を乗算すると、
（ａ）×（ａ・ｃ）＝ａ２・ｃ＝１・ｃ＝ｃ
となり、列番４が交互作用となる列であると判る。よって、列番１と列番５との水準組み合わせパターンを個々の水準と見なし、列番４を削除すれば、図７の変形Ｌ８直交表で示されるように、Ｌ８直交表に４水準の因子１つを含めることができる。
【００６２】
次に、線点図を用いる方法を説明する。線点図を用いた方法によるテスト計画表作成プロセスの説明図が図８に示されている。同図に示されるように、直交表にはａ、ｂのような線点図が付記されている。この線点図はある２列の交互作用となる列を図式的に示したものである。線分の端点に記された数が交互作用を求める２列の列番でその線分上の数が交互作用となる列番である。例えば、（ａ）の線点図から、列２と列４との交互作用となる列は列６と判るので、列２と列４の水準組み合わせパターンを個々の水準と見なし、列６を削除すれば、（ｃ）の変形Ｌ８直交表で示されるように、Ｌ８直交表に４水準の因子１つを含めることができる。
【００６３】
なお、線点図から交互作用を取り除いた多水準化した場合、その線点図から探し出した交互作用の線分を消去し、端点に引かれている線分を全て消去すれば、またその線点図を元に別の交互作用を探すことができる。例えば、（ａ）の線点図から列２と列４の交互作用を用いて多水準化したならば、線分２−４を削除し、点２に繋がる部分（線分１−２）と点４とに繋がる線分（線分１−４）を削除すれば、その線点図から別の交互作用を探し出すことができる。ただし、今回の例では線分が全て無くなるため、これ以上多水準化できないことになる。
【００６４】
また、１つの直交表に複数の線点図がある場合、複数の線点図を同時に使用して多水準化することはできない。例えば前述の場合だと、（ａ）の線点図から線分２−４を削除し、更に（ｂ）の線点図から線分１−７を削除して２つの多水準化を行うということはできない。多水準化で使用できる線点図は、いずれか１つだけである。
【００６５】
さらに、擬水準法についてもすでに各種の文献にて公知であるが、ここで、図９及び図１０を参照して念のため説明する。擬水準法とは、ある機能の１因子の水準数が、直交表の各因子の水準数に満たない場合、水準数を水増しすることでその直交表を適用することができる方法である。
【００６６】
擬水準法によるテスト計画表作成プロセスを示す説明図が図９に示されている。同図に示されるように、（ａ）のスイッチ因子の水準数が２のため、ここままでは、（ｂ）のＬ９直交表を適用することができない。そこでスイッチ因子の水準３に、水準２と同じ「Ｏｎ」を追加すれば、Ｌ９直交表を適用することができる。この追加した水準３を「擬水準（ダミー）」と呼ぶ。
【００６７】
なお、擬水準法を用いる時には、「標準的に使用される水準」や「重点的にテストしたい水準」を擬水準にすると、その因子・水準のテスト項目数が増えるため適している。また、擬水準を適用したテスト項目を省略してしまうと、他の因子の直交性が保たれなくなる（他の２因子の水準組み合わせに洩れが発生する）ため、擬水準を適用したテストもちゃんと行う必要がある。図１０のテスト計画表の場合だと、擬水準を適用したテスト３と、テスト６と、テスト９とを省略すると、トグル因子と搬送物因子の組み合わせ（右、四角）、（左、三角）、（中、丸）がテストされなくなってしまう。
【００６８】
次に、以上説明した処理（図２〜図４のフローチャートで示される）の実行結果を具体的な２つの事例を挙げて簡単に説明する。
【００６９】
［事例１］入力が２水準が３つ、３水準が２つ（合計５因子）の場合
Ｌ８直交表の場合には、［１］〜［４］の結果により、ＮＧとされる。
［１］直交表の因子数７≧入力因子数５
［２］水準数が合わない因子がある
［３］３水準が無い為、水準数が足りない
［４］２因子を４水準化すると、必要因子数が９になり割付不能
Ｌ９直交表の場合には、［１］の結果により、ＮＧとされる。
［１］直交表の因子数４＜入力因子数５
Ｌ１２直交表の場合には、［１］〜［４］の結果により、ＯＫとされる。
［１］直交表の因子数１１≧入力因子数５
［２］水準数が合わない因子がある
［３］３水準が無い為、水準数が足りない
［４］２因子を４水準化すると、必要因子数が９になるが割付可能
【００７０】
［事例２］入力が２水準が２つ、３水準が５つ（合計７因子）の場合
Ｌ８直交表の場合には、［１］〜［４］の結果により、ＮＧとされる。
［１］直交表の因子数７≧入力因子数７
［２］水準数が合わない因子がある
［３］３水準が無い為、水準数が足りない
［４］因子を４水準化すると、必要因子数が１７になり割付不能
Ｌ９直交表の場合には、［１］の結果により、ＮＧとされる。
［１］直交表の因子数４＜入力因子数７
Ｌ１２直交表の場合には、［１］〜［４］の結果により、ＮＧとされる。
［１］直交表の因子数１５≧入力因子数７
［２］水準数が合わない因子がある
［３］３水準が無い為、水準数が足りない
［４］因子を４水準化すると、必要因子数が１７になり割付不能
Ｌ１８直交表の場合には、［１］〜［３］の結果により、ＯＫとされる。
［１］直交表の因子数８≧入力因子数７
［２］水準数が合わない因子がある
［３］２水準１因子を３水準に当てはめれば、水準数は足りる
【００７１】
以上の実施形態によれば、テスト対象となる任意のソフトウェア機能に対して、直交表を利用することにより、最適なテスト計画表が自動的に作成される。また、自動的に作成されることにより、テスト作業負荷の低減や、テストすべきパラメータの組み合わせに洩れがなくなる。
【産業上の利用可能性】
【００７２】
この発明によれば、テスト対象となる任意のソフトウェア機能に対して、直交表を利用して最適なテスト計画表を自動的に作成することが可能となる。
【図面の簡単な説明】
【００７３】
【図１】本実施形態のテスト計画書作成装置の構成図である。
【図２】本実施形態のテスト計画作成処理を示すゼネラルフローチャートである。
【図３】本実施形態の直交表選択処理の詳細を示すフローチャートである。
【図４】本実施形態の因子・水準割付処理の詳細を示すフローチャートである。
【図５】直交表別因子数内訳を示すテーブルである。
【図６】第１の多水準作成法に使用されるＬ８直交表（成分付記）の説明図である。
【図７】第１の多水準作成法にて作成された変形Ｌ８直交表の説明図である。
【図８】第２の多水準作成法によるテスト計画表作成プロセスを示す説明図である。
【図９】擬水準法によるテスト計画表作成プロセスを示す説明図である。
【図１０】擬水準法を用いて作成したある機能のテスト計画表を示す説明図である。
【図１１】直交表を用いたテスト計画表作成方法の概念説明図である。
【符号の説明】
【００７４】
１００  テスト計画表作成装置
１  演算部
２  メモリ部
３  入出力部
４  データ管理部
５  直交表データ記憶部
６  因子・水準データ記憶部
７  テスト計画表データ記憶部
８  直交表選択処理部
９  因子・水準割付処理部
【図１】
2006252316.tif 000003
【図２】
2006252316.tif 000004
【図３】
2006252316.tif 000005
【図４】
2006252316.tif 000006
【図５】
2006252316.tif 000007
【図６】
2006252316.tif 000008
【図７】
2006252316.tif 000009
【図８】
2006252316.tif 000010
【図９】
2006252316.tif 000011
【図１０】
2006252316.tif 000012
【図１１】
2006252316.tif 000013