オールペア法で組み合わせテスト

http://orto-app.com/ のテスト&バグ取りをずっと続けているのですが、テストする要因の組み合わせで、テスト項目数が指数関数的に爆発します。

いろいろ調べていたのですが、「組み合わせテストをオールペア法でスピーディに!:特集|gihyo.jp … 技術評論社」の記事がおもしろかったです。組み合わせテストといっても、第1回 組み合わせテストの技法:組み合わせテストをオールペア法でスピーディに!|gihyo.jp … 技術評論社にあるように、3個以下の要因で発生するのが大半であり、少なくとも2個の組み合わせを全て網羅するようにして、かつ、テスト項目数を指数関数的に爆発させない方法があります。

上の記事では、PICT というソフトが紹介されていて、使ってみたら楽しかったです。

たとえば、Ortoの画面転送では、以下のような因子があるとします。

Sender: IE6, IE8, Fx3.0, Fx3.5, Fx3.6, Chrome, Safari3, Safari4, Safari5, Opera
Recver: IE6, IE8, Fx3.0, Fx3.5, Fx3.6, Chrome, Safari3, Safari4, Safari5, Opera
Net: LAN, WiMAX
App: app1, app2, app3, app4, app5, app6, app7, app8, app9, app10

これ、全部の組み合わせをテストすると、10*10*2*10 = 2000 通りありますが、pict.exe input.txt で実行すると、PICTの出力結果1 こんな感じの表が作られ、110項目になります。

110項目多いなぁ、と思い、

Sender: IE8, Fx3.6, Chrome, Safari5, Opera
Recver: IE8, Fx3.6, Chrome, Safari5, Opera
App: app1, app2, app3, app4, app5, app6, app7, app8, app9, app10

最新のブラウザ&回線はWiMAX限定にしてみたら、PICTの出力結果2 となり、テスト数は50に減ります。

実は、思ったよりも減らなかったのですが、よく考えたら、組み合わせ爆発しないような仕組みになっているので、レガシーブラウザを切っただけでは、大きく減ることはないのですね。

おもしろかったです!