経験則から導かれた方法ではあるが、どういう利点と欠点があるのかを調べる
概要
3つ以上のパラメータがある場合、そのすべてのパラメータの組み合わせを調べるのではなく、パラメータを2つで1つのペアと考え、そのペアのパターンが全網羅されるようにテストケースを考える手法
例
たとえば利用者の「性別」「成年かどうか」「過去に1回でも利用しているか」の3つの要素によって振る舞いが変わる処理があるとする。その場合愚直に組み合わせをつくると8個のケースを考える必要がある。
ただし、ペアワイズ法を用いると、それぞれの要素の組み合わせがあるかを見ればいいので4個のケースを探せば満たせる
ケースを減らす背景
組み合わせは増えれば増えるほど爆発的に増えるので、全数テストをせずにいかにバグを出すかということが求められるのでその1つのアプローチ。
なぜペアなのか
なぜペアワイズはペアで考えるのかというと2004年頃の論文にて「データとして残っている障害のうち70%以上が1つか2つの条件によってのみ引き起こされている」という旨の記載があり、4つや5つのパラメータの組み合わせのパターンでは発生しないということが説明されている。
このような研究結果と、全数テストが難しいというところで編み出されたのがこのペアワイズの手法である。
ペアワイズを試したい場合
3つのパラメータなどであれば上記であげたようにできるが、4つ以上のパラメータになると組み合わせの洗い出しだけでも難しいので自動ツールを使うとよい。もともとはマイクロソフトが提供しているPICT が有名であるが、現在ではいろいろなツールが提供されている。
参考サイト
- DevelopSense - Things can be different - Pairwise Testing
- ペアワイズ法(ペアワイズテスト)|テスト技法ツールGIHOZ(ギホーズ)|ソフトウェアテスト・第三者検証のベリサーブ
- 組合せテストの技法: ペアワイズ法(オールペア法)を3分で理解する - Qiita
- PICTの論文を読んでみる|SHIFT Group 技術ブログ|note
- ペアワイズ法は本当に有効なのか?組み合わせテスト技法と上手に付き合う方法 | DevelopersIO
- Pairwise Testing in the Real World: Practical Extensions to Test-Case Scenarios | Microsoft Learn)