ソフトウェアテストのテストパターンについてです。

条件網羅のテストケースを作成すると、テストパターンはO(nm) n=項目数 m=各項目のパターン数 となり、指数的にパターンが増えてしまい、複雑な条件判定のテストが困難になります。その問題を解決するために、特徴のあるパターンを抽出してテストをする方法が一般的です。

項目が少なければ人間の頭の中である程度特徴のあるパターン出しが行えますが、数が多くなると網羅することは不可能です。

パターン抽出には様々な手法があり、論文が発表されています。
http://en.wikipedia.org/wiki/All-pairs_testing

商用プロダクトも数多く出回っています。無料で有名なのはMicrosoftが提供しているPICTです。しかし、Windowsのみ。。。。

ってことで、今回はJavaで書かれたコマンドラインツールと、無料で使えるWebアプリケーションを紹介します。

■1.mcdowella’s program

実行結果は以下のようになります。パラメータもいくつか取れます。
Screen Shot 2011 12 12 at 22.27.09 268x500 Pairwise testing

■2.HEXAWISE
同じテストデータを食わせてみました。
Screen Shot 2011 12 12 at 23.16.37 477x500 Pairwise testing

どちらもかなり楽に直行表を作れます。
HEXAWISEの方がオススメです。パターン数に対するカバレッジをグラフ化できます。