コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Pairwise法に関してざっくりまとめる

経験則から導かれた方法ではあるが、どういう利点と欠点があるのかを調べる

概要

3つ以上のパラメータがある場合、そのすべてのパラメータの組み合わせを調べるのではなく、パラメータを2つで1つのペアと考え、そのペアのパターンが全網羅されるようにテストケースを考える手法

たとえば利用者の「性別」「成年かどうか」「過去に1回でも利用しているか」の3つの要素によって振る舞いが変わる処理があるとする。その場合愚直に組み合わせをつくると8個のケースを考える必要がある。

ただし、ペアワイズ法を用いると、それぞれの要素の組み合わせがあるかを見ればいいので4個のケースを探せば満たせる

ケースを減らす背景

組み合わせは増えれば増えるほど爆発的に増えるので、全数テストをせずにいかにバグを出すかということが求められるのでその1つのアプローチ。

なぜペアなのか

なぜペアワイズはペアで考えるのかというと2004年頃の論文にて「データとして残っている障害のうち70%以上が1つか2つの条件によってのみ引き起こされている」という旨の記載があり、4つや5つのパラメータの組み合わせのパターンでは発生しないということが説明されている。

このような研究結果と、全数テストが難しいというところで編み出されたのがこのペアワイズの手法である。

ペアワイズを試したい場合

3つのパラメータなどであれば上記であげたようにできるが、4つ以上のパラメータになると組み合わせの洗い出しだけでも難しいので自動ツールを使うとよい。もともとはマイクロソフトが提供しているPICT が有名であるが、現在ではいろいろなツールが提供されている。

参考サイト