直交表作成ツール

複数条件の組合せテストで、少ないテストケースでいかに網羅率を上げて品質を確保するかという目的で、直交表というツールが利用できます(詳細は最後の参考文献を参照)。
テストの条件(因子)に対してバリエーション(水準)が2の直交表は比較的簡単に作成できます。ただし、実業務で使用するとなると、水準が10くらいは欲しいところ。そこで、勉強がてら直交表を作成するツールを作成してみました。
言語は Ruby です。作成したデータも一部置いています。
http://svn.sourceforge.jp/svnroot/glad/trunk/oa-ruby/
http://sourceforge.jp/projects/glad/svn/view/trunk/oa-ruby/

使用方法

直交表の大きさを2の対数で第1引数に指定します。水準は一般的に使いそうなものを出力します。
直交表の大きさを第1引数に指定します。水準は一般的に使いそうなものを出力します。

prompt> ruby mkOA.rb 16
"OA(16; 4^5)"
 ,1,2,3,4,5
1,0,0,0,0,0
2,0,1,1,1,1
...
16,3,3,0,1,2

水準を変更したい場合は同じく2の対数で指定することができます。
水準を変更したい場合は第2引数に L^n の形式で指定することができます。

prompt> ruby mkOA.rb 32 "8^1,4^2"
"OA(32; 8^1, 4^2, 2^18)"
 ,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
2,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1
...
32,7,3,0,0,1,0,1,1,0,0,1,0,1,1,0,1,1,1,0,0,1

つぶやき

参考文献

ソフトウェアテストHAYST法入門 品質と生産性がアップする直交表の使い方

ソフトウェアテストHAYST法入門 品質と生産性がアップする直交表の使い方

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

参考URL