Pairwise法と直交表のテストケース数と3因子間網羅率を比較する | 組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題

Pairwise法と直交表のテストケース数と3因子間網羅率を比較する

直交表ベースの組み合わせテストではPairwise法と比較してテストケース数は多くなるが、3因子間網羅率(3-Wayカバレッジ)が高くなると言われています。そこで実際にパラメータ数と水準数を変化させた場合の比較を行なってみました。比較はパラメータ数を固定して水準数を変化させた場合と、水準数を固定してパラメータ数を変化させた場合の2種類について行ないました。

最初はパラメータ数を固定して水準数を変化させた場合です。パラメータ数は8で固定しています。水準数を2から16まで変化させた場合のテストケース数と3-Wayカバレッジを測定しました。

水準数を変化させた場合の直交表とPairwise法のテストケース数と3-Wayカバレッジの変化

1


次に水準数を固定してパラメータ数を変化させた場合です。水準数は6で固定しています。なぜ8水準ではなく6水準かというと、8水準では直交表にとって最適な水準数になるからです。8水準はL64直交表にぴったりマッチする水準です。直交表ベースでは最もテストケース数が少なくなる理想的な水準です。実際のテスト作業では、理想的な水準だけでテストされる訳ではないので、ここでの水準数は4水準と8水準の中間となる6水準を用いています。パラメータ数を3から20まで変化させた場合のテストケース数と3-Wayカバレッジを測定しました。

パラメータ数を変化させた場合の直交表とPairwise法のテストケース数と3-Wayカバレッジの変化

2


表だけでは分かりにくいのでグラフ化しました。まずパラメータ数を固定して水準数を変化させた場合です。

3



4


テストケース数は、Pairwise法では段々と連続的に増加しています。直交表では8水準から9水準に変わった時点で64件から256件に大きく増加しています。Pairwise法の方が多い水準数もありますが、全体でみると直交表の方が多くなっています。

3-Wayカバレッジは、双方にそれほど大きな違いは出ていませんが、全体では直交表の方が多くの場合Pairwise法よりも多いという結果となっています。

次に水準数を固定してパラメータ数を変化させた場合です。

5



6


この比較ではPairwise法と直交表で大きな違いが出ました。Pairwise法ではパラメータ数が増えてもテストケース数はあまり増加しません。直交表ではテストケース数が64→128→256と2のべき乗で不連続に増加しています。全体として直交表でのテストケース数はPairwise法よりも2~3倍も多くなっています。特に直交表でパラメータ数が多くなるとテストケース数が倍々に増加することが大きく影響しています。

3-Wayカバレッジはパラメータ数が9個までは双方に大きな違いは出ませんが、10個以上になると2倍程度直交表の方が多い結果となっています。これはテストケース数がそれだけ増加したためであることが見て取れます。

直交表ベースの組み合わせテストではPairwise法と比較してテストケース数は多くなるとは言っても、多くなる程度が問題です。この比較では、2~3倍もの違いが出ています。これだけテストケース数が多くなっても直交表を使いたいという理由は、3パラメータ間の組み合わせが均等に出現する、ということだけであるように思われます。3-Wayカバレッジが高いのはテストケース数が大幅に多くなったので当然です。これだけを重視するのであれば、PictMasterの「カバレッジを指定して生成」の機能で実現可能です。