組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題 -33ページ目

図書館の図書貸出手続きのデシジョンテーブルを作成する

図書館で本を借りたことがある方は多いと思いますが、今回はPictMasterを使って図書館の図書貸出手続きのデシジョンテーブルを作成してみます。取り上げるモデルには実際の図書館の貸出手続きと一部異なる部分があることをお断りしておきます。


図書館の図書貸出手続きのルールは次の通りです。


図書館で本の貸し出しを行なうには貸出カードが必要です。そのカードが有効なカードである必要があります。未返却の本がある場合は貸し出しはできません。在庫がないと当然ですが貸し出しはできません。ただし、同じ行政地域の他の図書館に在庫があるときは取寄せで貸し出しを行なうことができます。取寄せを行なうかどうかは借りる人が決めます。


このデシジョンテーブルの条件と取りうる値は次の通りとなります。


貸出カード:有効、無効
未返却本: なし、あり
在庫:   あり、なし
取寄せ:  する、しない
他館在庫: あり、なし


PictMasterでデシジョンテーブルを扱う場合はかならず結果表を使用します。組み合わせるパラメータ数にはパラメータの数と同じ5を指定します。この場合のパラメータ欄と値の並び欄および結果表は次の通りとなります。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-0


このモデルの生成結果を次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-1


全部で32件の組み合わせとなしました。ミッションクリティカルなテストでは、この組み合わせでテストを行なう行なうことになります。そうでない場合は結果に影響を与えない組み合わせを削除して、テーブルを圧縮します。色の塗りつぶしを行なった組み合わせは結果に影響を与えない組み合わせなので、同じ色では1つの組み合わせだけを残して後は削除します。削除後のデシジョンテーブルを次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-2


全部で6件のデシジョンテーブルとなりました。この方法では制約表を使用していません。そのため、最初の組み合わせでは2の5乗の32件のテーブルとなりました。制約表を使用すると結果に影響を与えない組み合わせをあらかじめ除外することができます。このモデルでの制約指定を次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-3

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-4


パラメータの値に「-」が追加になっていること注意してください。これは結果に影響を与えない組み合わせを除外するために必要なダミーの値です。この制約表を使用して生成された組み合わせを次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-5


このデシジョンテーブルは先ほどの32件から手作業で6件に圧縮したテーブルと同じです。


このように制約表で意味のない組み合わせを除外することで、手作業のテーブル圧縮作業を省略できる場合があります。このモデルではうまくいきましたが、必ずしもすべてこうした結果になるとは限りません。手作業でテーブルを圧縮する際に間違う可能性があります。あらかじめ制約表を使用することでこうした誤りを防ぐことができます。ただし、制約指定を間違う可能性もありますので充分慣れている必要はあります。


今回のデシジョンテーブルは比較的サイズが小さいので、PictMasterを使用せずに最初から手作業で作成することができます。しかし、サイズが大きく、複雑な論理を持つ場合はPictMasterの使用が有効だと思われます。

テストケース数を調整する

テストを行なっているとテストケー数を調節したい場合がよくあります。テスト工数が限られており、2パラメータ間の組み合わせを網羅したテストケース数では多すぎる場合です。こうした場合はパラメータの組み合わせは行なわず、値を列挙したテストケースとする方法があります。この方法は、テスト対象が変更のない既存機能であり、障害発生のリスクがかなり小さいと考えられる場合に実施することができます。


値を列挙したテストケースでは、テストケース数は最も値の数が多いパラメータの値の数となります。この方法ではテストケース数が少なくなりすぎるといった点が問題となることがあります。例えばパラメータの値が次に示す6×2+4×3+2×5の場合、2パラメータ間の組み合わせではテストケース数は36件となりますが、値を列挙した場合のテストケース数は6件です。このときの2-wayカバレッジは44.5%です。この場合、テストケース数は1/6となります。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-0


値を列挙したテストでは少なすぎるが、2パラメータ間の組み合わせとしたテストでは多すぎる場合、テストケース数を調整するには次の2つの方法があります。いずれも組み合わせるパラメータ数には1を指定します。


サブモデルを使用する


サブモデルを使用して特に重要と考えられる特定のパラメータのみ、2パラメータ間の組合せとする方法です。サブモデルで指定するパラメータが最も値の数が多いパラメータだけであると、テストケース数は2パラメータ間の組み合わせを行なった場合と同じになります。逆に値の数が最も少ないパラメータだけであると、テストケース数は値を列挙した場合と同じになります。こうした条件とならないよう例えば次に示すようにサブモデルで特定のパラメータのみ2パラメータ間の組み合わせを指定します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-1


この例ではテストケース数は16件、2-wayカバレッジは73.6%という結果となりました。このようにサブモデルの対象とするパラメータを適切に選択することでテストケース数を調整することができます。


「カバレッジを指定して生成」を使用する


2-wayカバレッジに希望する値を指定してテストケースを生成します。例えば80%を指定すると、テストケース数は18件、2-wayカバレッジは83.5%となりました。サブモデルを指定する方法ではテストケース数は16件、2-wayカバレッジは73.6%でしたから、カバレッジを指定して生成する方法がテストケース数の割りに高いカバレッジを確保できることが分かります。参考として、2-wayカバレッジを5%刻みに変化させた場合のテストケース数のグラフを次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-2


このように2-wayカバレッジを指定することで任意の件数のテストケースを生成することができます。


テストケース数を調整したい場合、通常はカバレッジを指定する方法が簡単です。特に重点的にテストしたいパラメータがある場合はサブモデルを使用する方法がよいでしょう。その場合、サブモデルで取り上げるパラメータの値の数に注意する必要があります。

直交表とPairwise法の併用にメリットはあるか?

Pairwise法(All-pair法)と比較して、一般的に直交表は3因子間網羅率が高い、組み合わせのばらつきがないというメリットがあります。その反面、テストケースの作成が完了するまで長い時間がかかる、テストケース数が多くなる、少し複雑な制約があると2因子間網羅率100%を確保できなくなるなどのデメリットもあります。


こうしたことから、テスト対象の性質に応じて直交表方式とPairwise法(All-Pair法)を使い分ければよい、という考え方が生まれました。具体的には、制約がない場合は直交表方式を採用し、制約がある場合はPairwise(All-Pair法)を採用するということです。


今回は具体例をもとに直交表とPairwise法の併用を行なってみて、こうした考え方の妥当性を検証してみましょう。


今回取り上げるモデルは6水準の因子が2つ、4水準の因子が4つ、2水準の因子が6つとします。数字で表現すると次の通りとなります。
6×2+4×4+2×6


このモデルに合う2水準系直交表は L64 の直交表です。線点図をもとに8水準の因子を4水準と2水準に分割します。モデルで最も水準数が多いのは6水準ですから、6水準の因子にはダミーの水準を割りつけて8水準を6水準にします。この操作により、6水準の因子は水準の重みづけを行なったことになります。


最初に制約がない場合の3因子網羅率を測定してみます。既存のテストケースの3因子網羅率を測定できるPictMasterは v5.4 なのでこのPictMasterを使用することにします。このPictMasterに因子と水準をパラメータ欄と値の並び欄に記入します。これでいったんテストケースを生成します。これでPICTに渡すモデルファイル a.txt ができました。生成したテストケースファイル a.xls は不要なので削除します。


続いて新規のExcelファイル a.xls を作成し、先ほどの直交表を貼り付けます。PictMasterの設定で「既存テストケースのカバレッジを表示」を選択します。次に「実行」ボタンをクリックすることで直交表の3因子間網羅率が表示されます。ここで注意してもらいたいことがあります。表示される2因子間網羅率が100%となっていることを確認します。そうでない場合は、パラメータ欄と値の並び欄への記入に誤りがあるかもしれません。


3因子間網羅率の測定結果として直交表の場合とPairwise法の場合を以下に示します。


直交表ベース
テストケース数: 64件
3因子間網羅率: 81.2%


PictMaster(Pairwise法)
テストケース数: 36件
3因子間網羅率: 62.2%


この結果はこれまで言われてきたことと同じ傾向を示していることが分かります。


次に制約があるモデルを取り上げてみます。因子と水準は前と同じものを使用します。因子と水準、制約指定を次に示します。

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-0


この制約指定はそれほど複雑ではありませんが、PictMasterを使わずに手作業で直交表にこの制約を盛り込むことは至難の業です。テストケース数がいくら増えても構わないなら手作業でもなんとかなるレベルですが、それはそれで避けたいところです。


このモデルで組み合わせを生成した結果、テストケース数と3因子間網羅率は次の通りとなりました。


PictMaster(Pairwise法) ※ 制約を指定した場合
テストケース数: 39件
3因子間網羅率: 73.8%


生成結果の3因子間網羅率が直交表の3因子間網羅率(64件で81.2%)より少なくなっています。これは生成されたテストケース数が少ないためであると考えられます。


PictMasterには「カバレッジを指定して生成」の機能があります。次ではPictMasterで3因子間網羅率を指定してテストケースを生成してみましょう。直交表の3因子間網羅率が81.2%でしたから、希望する3-wayカバレッジには81%を指定します。この条件で生成した結果を次に示します。


PictMaster(Pairwise法) ※ 制約を指定し、3-wayカバレッジに81%を指定した場合
テストケース数: 56件
3因子間網羅率: 81.3%


直交表の64件より8件少ない56件のテストケースで、直交表の81.2%とほぼ同じ3因子間網羅率という結果となりました。次に制約がない場合のテストケースを生成してみます。結果は次の通りとなりました。


PictMaster(Pairwise法) ※ 制約がなく、3-wayカバレッジに81%を指定した場合
テストケース数: 65件
3因子間網羅率: 82.0%


直交表の64件より1件多い65件のテストケースで、直交表の81.2%より0.8%高い82.0%の3因子間網羅率という結果となりました。制約がある場合よりもテストケース数が多くなったのは、制約がある場合、必要なペアの数は少なくなりますが、制約がないとこの数が多くなるためと考えられます。


以上の結果から、少なくともこのモデルでは、直交表ではなく直接PictMasterからテストケースを生成したほうが、テストケース数も3因子間網羅率もほぼ直交表と同等のテストケースが生成できるということが言えます。さまざまなモデルがあり得ますから、このモデルの結果を一般化することはできません。この結果から言えることは、これまで言われていた直交表とPairwise法の使い分け、または併用といった、それぞれの特性に合わせて適用する技法を選択するという方法は必ずしもその通りだとは限らないということです。


これまでのPairwise法のツールでは3-wayカバレッジを指定して生成するということはできませんでした。PictMasterではこれが可能なため、比較的少ないテストケース数で3-wayカバレッジを例えば80%確保するといったことができます。この機能が追加されたために従来の「Pairwise法はテストケース数は少ないが3因子間網羅率は低い」といった見方はできなくなっています。


3因子間網羅率が直交表並みに高くなると、水準のばらつきの問題は相対的に小さくなります。3因子網羅率80%でのばらつきは、ばらつきがない場合と比較して、欠陥検出効果に大きな違いは出ないといって差し支えありません。PictMasterの「3-wayカバレッジを指定して生成」の機能を有効に使うことによって、従来Pairwise法の弱点とされてきた、3因子間網羅率が低い、組み合わせにばらつきがある、といったことは解消できると言えるでしょう。


なお、他の記事と同様にこの記事でもテストケース生成において、最小テストケース生成回数に30回を指定しているため、必ずしも同一の結果とはならないことをお断りしておきます。

フリーの組み合わせテストツールQumiasを使ってみる

Qumiasは国産の組み合わせテストツールであり、フリーソフトです。大阪大学・土屋達弘教授とバルテス株式会社による共同研究の成果として完成したそうです。組み合わせ生成エンジン CIT-BACH はPairwise法によるものでJavaベースで書かれています。この生成エンジンをExcelのアドインソフトによりExcel上からGUIで使用することができます。


土屋教授が CIT-BACH を開発し、Excelアドインソフトは、バルテスの石原一宏上席研究員が開発したとのことです。Qumias の正式名称はQumias - Combination Designer(クミアス - コンビネーション・デザイナー)です。次のサイトからダウンロードすることができます。なおダウンロードするためには「会員登録」が必要で、利用規約に同意したうえでメールアドレス、氏名、生年月日、性別などの個人情報をサイトに登録する必要があります。


http://www.qbook.jp/qptool/special


おそらく国産としては初めてのPairwise法によるフリーソフトの組み合わせテストツールだと思われます。Qumias ではPICTで値の数が多いモデルで複雑な制約を指定した場合、組み合わせ生成に長時間かかる場合がある問題を大きく改善したとしています。上記のサイトには、Qumias とPICTでの生成時間の比較が掲載されています。


さっそくダウンロードしてみましたので、使ってみた感想を書いてみたいと思います。


テストケース生成までの手順は PictMaster とはかなり異なります。Qumias ではPCのマイドキュメント直下にQumiasフォルダを作成し、そこにアドインソフトと生成エンジンを置きます。アドインソフトをダブルクリックするとExcelの新規ワークシートが開かれます。ワークシートにパラメータと値を記入します。


記入が終わったら記入したパラメータと値を選択状態とし、Qumias のメニューから「新規作成」を選びます。そうするとダイアログが表示されるので、組み合わせるパラメータ数を指定します。「次に」をクリックし、制約指定画面に進みます。「次に」をクリックすると最小テストケース生成を何回行なうか回数を指定する画面となります。最後に「作成」をクリックすると組み合わせ結果が表示されます。


第一印象


テストケースの生成を行なうたびに3つの設定画面を経由する必要があり、さらに生成条件の確認を求めるダイアログも表示されるため、かなり煩雑な印象を受けます。


3つ目の設定画面で最小テストケース生成を何回繰り返すか指定することができますが、デフォルトが1回なので毎回30なり50なりの回数を入力し直さなければならないのは不便です。ここは30なり50なりをデフォルト値としてほしいところです。


パラメータや値を変更しただけで制約が関係しない場合は直前の設定を用いてワンタッチで生成ができるようにすれば便利だと感じました。


生成を行なうたびに生成結果などが格納されたフォルダが増えていくのですが、これはそうする必要があるのか疑問です。どんどんフォルダが増えていくのはできれば避けたいです。生成結果は上書きとし、残しておきたい場合だけ、適切な名称にリネームすればそれで済むように思います。


生成されるテストケース数


PICTとQumiasで生成されるテストケース数を比較してみました。


5個の値を持つパラメータが5個あるモデルで、最小テストケース生成を50回繰り返した場合の組み合わせ数は、PICT が32件、Qumias が29件。10個の値を持つパラメータが10個あるモデルでは、PICT が164件、Qumias が150件でした。この結果から、PICT に比べてQumiasがより少ないテストケース数となることが分かります。おおよそQumiasがPICTより10%程度少ない件数となりました。明らかにQumiasの組み合わせ生成エンジンがより優れた性能を有していると言えます。


ただし、実際のテスト現場で使用した場合、この結果をそのまま当てはめることはできないようです。実際のテストでは、値の数がすべてのパラメータで等しいというケースはまずあり得ません。値の数はパラメータによってばらついています。例えばパラメータごとの値の数が、8,6,6,4,4,4,2,2,2,2である場合、PICT では51件、Qumias では同じく51件でした。同じく、6,6,6,4,4,4,4,2,2,2,2,2である場合、PICTでは43件、Qumias では42件でした。実際のテスト現場においては、生成されるテストケース数にそれほどの違いはでないようです。


複雑な制約指定での生成時間


次に複雑な制約を指定した場合の生成時間の違いを見てみましょう。


上記のサイトには、複雑な制約を指定した場合の生成時間の比較が3つ掲載されています。いずれもQumiasがPICTより圧倒的に速い結果となっています。


ここに掲載されている制約指定をよく見て見ると、条件1は一般的なパラメータと値との制約指定ではなく、パラメータとパラメータとの制約指定です。実際のテストで使用される制約指定はそのほとんどがパラメータと値との制約指定であり、パラメータとパラメータとの制約指定が必要なケースはかなり少ないと思います。その制約指定が8つもあるケースは非常に珍しいと言えるでしょう。


条件2は4種類の制約対象がOR条件となっており、さらにパラメータとパラメータとの制約指定を4つ含んでいます。条件3は無条件制約が4つある制約指定です。いずれの制約指定も、その内容はめったに使用されることのない制約指定です。色々なテスト現場がありますから、ここであげられた制約指定が必要なテスト現場があり得ることは否定しません。ですがこうした制約指定が必要となるケースはかなり例外的だと思います。


QumiasがPICTの弱点である値の数が多いモデルで、複雑な制約を指定した場合に生成時間が非常に長くなるという問題を解決した点は素晴らしいと思います。ですが実際のテスト現場でそれがメリットになるかといえば、先ほどの生成されるテストケース数と同様に、あまりないように思います。制約がない場合、大きなモデルの生成時間はQumiasよりPICTが圧倒的に速いという結果でした。


制約の指定方法


Qumiasの制約指定方法は独特です。これまでにいくつかフリーの組み合わせテストツールを紹介してきましたが、そのどれとも異なります。その指定方式を一言で言い表すとすれば「ツリー形式」の指定方式ということができます。1つの制約で複数のパラメータについて制約条件または制約対象を指定すると、それはちょうどツリー形式として表示されます。例えば、PictMasterでの制約指定が次の通りだとすると、


組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-0


同じ制約指定をQumiasで行なうと次の通りとなります。


組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-1


1つの値の下に別のパラメータの値が木の枝のようにつながる形となります。この例から分かるように、例えば制約指定で3つのパラメータについて3つの値を AND 条件で指定すると、3×3×3=27個の枝が生じることになります。生成エンジンの制約処理アルゴリズムをそのままGUIに反映したような印象で、ユーザにとってはあまり使いやすくないかもしれません。もしかしたらもっとスマートな指定方法があるのかもしれませんが、いろいろ試してはみましたがこの方法しか見つけられませんでした。20ページほどのクイックリファレンスがあるのですが制約の指定方法については、ごく簡単に書かれているだけですので参考になりません。このクイックリファレンスの中に「詳細機能については別添の仕様マニュアルをご覧ください」とあるのですが、仕様マニュアルが見当たりません。


無条件制約の指定方法は分かりましたが、パラメータとパラメータとの制約指定の方法が分かりませんでした。例えばPictMasterで次の制約指定を行なうことができますが、これと等価な制約指定をQumiasで行なう方法が分かりません。


組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-2


本当はできるのかもしれませんが...。


矛盾した制約や無意味な制約、間違った制約を指定してもエラーメッセージが表示されず、テストケースが生成されてしまいます。例えば次の制約指定は矛盾した制約ですが、何もメッセージが表示されることなくテストケースが生成できてしまいます。


組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-0


生成されたテストケースにはパラメータAの値1が1つも含まれていません。テストの現場で発生する矛盾した制約はこの例で示したような分かりやすいものではなく、多くの制約指定が複雑に相互作用した結果として生まれるものです。ですからユーザが事前に見つけることはほとんど不可能です。


組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-1

これ以外に、制約指定画面で意味のない制約や間違った制約が入力できてしまうのですが、このことについてテストケース生成までの間にエラーチェックが行なわれている様子がありません。現状のままではユーザの意図しない生成結果となってもユーザが誤りに気付かないといったことが起こります。


パラメータや値の名称をリストから選択できるのは記述ミスを防ぐことができるので便利だと思います。一度入力した名称の変更が簡単にできるように考慮されている点も便利です。


パラメータの重み付け


QumiasではPICTのサブモデルに相当する機能があります。いくつかの特定のパラメータについて、通常のパラメータ組み合わせ数とは異なる組み合わせ数を指定できる機能です。Qumias の場合にサブモデルで指定できるパラメータ組み合わせ数は全数組み合わせのみです。パラメータ組み合わせ数は2だが、いくつかの特定のパラメータについては組み合わせ数を3にする、といった指定はできません。全数組み合わせとなるとテストケース数が大幅に増加するため、サブモデルで指定する意味があまりないように思うのですが...。


テスト対象のモデル化


PictMasterでは、テスト対象をパラメータ欄、値の並び欄、サブモデル欄、制約表欄そして結果表欄でモデル化することができます。これらは1つのワークシートにまとめられています。こうしてまとめた後でそれに対応する組み合わせを生成することになります。


Qumiasでは、組み合わせを生成した後でパラメータ、値、制約指定などがExcelファイルで出力されます。それぞれは異なるワークシートに分かれます。このExcelファイルは内容確認のためのもので、実際に組み合わせ生成で参照されるモデルは拡張子がqmsというモデルファイルです。このファイルは内容を見ることができず修正することはできません。


過去に生成したモデルを修正したい場合、Qumiasではどのように行なえばよいのか分かりませんでした。モデルそのものがqmsファイル内に閉じているので修正することができません。クイックリファレンスでは「既存のモデルファイルから作成」を選択することでパラメータや値を修正することができると書かれていますが、実際の動作はそうなっていません。一度組み合わせを生成した後、ずっと後になってから新しいパラメータを追加したり、値を追加したりといったことができません。最初からすべて入力しなおす必要があります。


実際にはできる方法があるのかもしれませんが、色々試行錯誤してみたものの結局分かりませんでした。このままでは非常に不便です...。


テスト対象をモデル化するという視点から見ると、Qumiasのアプローチ方法とPictMasterのアプローチ方法は全く異なります。どちらが使いやすいかは一概には言えません。実際に使ってみて判断していただくしかないと思います。


カスタマイズのしやすさ


Qumiasのソフトウェア使用許諾契約書によれば、組み合わせ生成結果のExcelファイルに手を加えることが禁じられています。VBAのソースコードにはパスワードロックがかけられており、見たり変更したりはできません。生成エンジンそのものは非公開でよいと思いますが、VBAの部分についてはオープンソースとしてほしかったところです。ユーザがQumiasをカスタマイズできる余地はまったくと言っていいほどありません。せっかくのExcelベースなのですが、ユーザのニーズに合わせてカスタマイズができないのはとてもに残念です。



いろいろ辛口なコメントになってしまいましたが、Qumiasは日本語が使えるフリーの組み合わせテストツールとしては貴重なものです。ユーザにとってPictMaster以外の選択肢が増えることは歓迎すべきことだと思います。


Qumiasではエイリアスが使えない、値の重み付けができない、原型シートに相当する機能がないなどPictMasterと比較するとできないことが多いのですが、まだバージョン 1.0 台ですので今後に期待したいと思います。

膨大な直交表のライブラリを掲載している3つのサイト

今回は膨大な数の直交表のライブラリを掲載しているサイトを紹介します。


最初に紹介するサイトは A Library of Orthogonal Arrays  です。このサイトには200以上の直交表が掲載されています。このサイトには強度3(3因子間の組み合わせ網羅率が100%)の直交表が多く掲載されています。水準数は2水準、3水準、6水準のものが大部分を占めています。多水準の直交表はあまり多くはありません。


2番目のサイトは sas.com です。このサイトには327個の直交表が掲載されています。このサイトに掲載されている直交表は、因子ごとの水準の数字が隣の因子の水準の数字とくっついているので、直交表を利用するにはエディタで因子間に空白またはカンマを挿入する必要があります。水準が1桁の場合はそれほど問題はありませんが、2桁となる多水準の場合は、エディタでの置換にやや手間がかかります。


掲載されている直交表は2水準のものがほとんどを占めています。4水準以上では因子の数が1つだけの直交表が多く、ソフトウェアのテストに利用できるものはごくわずかに限られます。


最後に紹介するサイトは Orthogonal Array Finder というサイトです。この名称から分かるように、希望する大きさの直交表を探してくれる便利なサイトです。このサイトで直交表を探すにはちょっとしたコツが必要です。希望する直交表の大きさに合わせて複数の因子について水準数を指定するとほとんどの場合、直交表が見つからないという結果になります。希望する直交表の最も水準数が多い因子についてのみ指定すれば多くの直交表のリストが表示されるようになります。


例えば、希望する直交表で最も多い水準数が10で、その因子の数が1つの場合は、入力欄に 10.1 を入力し、Find Orthogonal Arrays のボタンをクリックすると、次のように直交表のリストが表示されます。

 

組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題-1

 


この中から希望の直交表の因子と水準にあう直交表を決定し、虫めがねのアイコンをクリックすれば直交表が表示されます。このサイトで表示される直交表は、前の2つのサイトと同じく、2水準、3水準、6水準、12水準の直交表がほとんどを占めています。多水準の因子を含む直交表もありますが、残りの大部分の因子が2水準の直交表であるというパターンが多く、ソフトウェアのテストに使えそうな直交表はかなり少ないようです。この特徴は3つのサイトに共通しています。ですが丹念に探せば見つけられるかもしれません。
 
【注】 現在では直交表に対応したオープンソースのフリーソフトである PictMaster を利用することができるようになっています。PictMaster は約300種類の直交表テンプレートを内蔵し、モデルに最適なテンプレートを決定してテストケースを生成します。テスト対象に応じて直交表方式とPairwise方式のいずれかを選択することができます。
 
 
※ 2014.6.9 A Library of Orthogonal Arrays のサイトがリンク切れになっていたので修正しました。
※ 2017.4.4 PictMasterについての記述を追加しました。