OS × ブラウザ × 会員種別 × 決済手段。
掛け算で膨らんだ組み合わせを、最小限の表に畳む。
「OS4種 × ブラウザ3種 × 会員3種 × 決済3種」を全部試すと108件。現実には回しきれないので勘で間引いて、そこを漏らす——組み合わせテストの事故はここで起きます。ペアワイズ法は「どの2つの組み合わせも必ず1回は試す」という条件だけを守って件数を削る考え方です。因子と水準を書けば、その表をこの場で作ります。入力した内容はブラウザの外に出ません。
1行に1因子。名前: 水準, 水準, 水準 の形式(全角の「:」「、」でも可)。# で始まる行はコメント。
1行に1ルール。因子名=水準, 因子名=水準 と書くと、その組み合わせを含むケースを作りません。
テストで変えたい項目が因子、その項目が取りうる値が水準です。「OS: Windows, Mac, iOS」のように1行ずつ書きます。まず上のプリセットを押して、形を見てから直すのが早いです。
「iOSにFirefoxは入れない」「無料会員は代引きを選べない」など、仕様上ありえない組み合わせは禁則に書きます。書いておかないと、テストできないケースが表に混ざります。
生成すると、全網羅から何件に減ったかが出ます。表はそのままテストケース表に貼れるので、CSVかMarkdownでコピーしてください。この結果に、外せない重要ケースを手で足すのが実務での使い方です。
組み合わせテストの件数は、因子が増えるほど掛け算で膨らみます。4因子それぞれ3水準なら81件、5因子なら243件。全部やるのは早々に無理になります。
そこで「バグの多くは、1つの条件か、2つの条件の噛み合わせで再現する」という経験則を使います。3つ以上が同時に揃わないと出ないバグは、相対的に少ない。ならば「どの2因子の組み合わせも必ず1回は試す」という条件だけ守って、あとは自由に詰め込めばいい——これがペアワイズ法(オールペア法)です。
効果は件数に出ます。上のプリセット「Webサービス」(4×3×3×3=108件)は、ペアワイズなら十数件まで落ちます。1割前後まで削っても、2因子の組み合わせは1つも漏れていないのがこの手法の勘所です。
ただし万能ではありません。ペアワイズが保証するのは2因子までなので、3つの条件が三つ巴で絡むバグは通り抜けます。決済・権限・在庫のように事故ったときの被害が大きいところは、3因子間網羅に切り替えるか、重要ケースを手で追加してください。技法そのものの解説は テスト技法カタログ にまとめています。
技法そのものの解説は テスト技法カタログ、件数の考え方を演習するなら テスト技法ドリル、観点の洗い出しは TESTパターン集、入力値そのものを作りたいときは 意地悪テストデータ生成器 をどうぞ。