【ぺあわいずてすと】

ペアワイズテスト とは?

最終更新:
💡 2条件の組み合わせを網羅し、限界も押さえる

選んだパラメータと値について、実現可能な2パラメータ間の値の組み合わせをすべて含むよう、テストケースを設計する方法。全組み合わせより件数を減らせる場合があります。ただし3つ以上の条件がそろう不具合や、正しい結果の判定まで保証するものではありません。

📌 このページのポイント
ペアワイズ:2条件の値の組を網羅架空の設定A・B・C:それぞれ0か1全通り8件 → ペア網羅の例4件ケースABC1000201131014110A–B:00・01・10・11が各1回A–C、B–Cにも全ペアが含まれる3条件の全通りは網羅していない例:A=0・B=0・C=1は含まれないケースを選ぶことと、期待結果の判定は別
1件に3設定を指定し、どの2設定を選んでも値の全ペアを含めます。成立しない組み合わせは制約として扱い、3条件以上や順序・境界値の不具合は別に考えます。
ひよこ ひよこ
ペアワイズテストって2項目だけ試すの?
ペンギン先生 ペンギン先生
1件のケースには、対象の全パラメータの値を指定するよ。そのケースを組み合わせて、どの2パラメータを選んでも、必要な値のペアが少なくとも1回含まれるようにする。2項目だけを動かして、残りを決めない方法ではないんだ。
ひよこ ひよこ
小さい例で見たいな。
ペンギン先生 ペンギン先生
説明用の3設定A・B・Cを、それぞれ0か1としよう。全通りなら8件。000、011、101、110の4件を選ぶと、AとB、AとC、BとCの各組で00・01・10・11がすべて出る。図で実際に確認できるよ。
ひよこ ひよこ
4件なら全不具合を見つけられる?
ペンギン先生 ペンギン先生
いいえ。たとえばA=0・B=0・C=1の3条件が同時に必要な不具合は、この4件では見つからない。NISTも2条件の組み合わせだけで十分と決めつけないよう注意している。欠陥の一定割合が必ず見つかる、と一般化はできないんだ。
ひよこ ひよこ
成立しない組み合わせがあったら?
ペンギン先生 ペンギン先生
対応していない環境などは、生成前に制約として記述する。生成後にそのケースだけを消すと、同じケースが担っていた別の有効なペアの網羅も失う可能性があるよ。制約を含めて、実現可能な組み合わせが残っているか確認しよう。
ひよこ ひよこ
ツールなら最小件数が出る?
ペンギン先生 ペンギン先生
MicrosoftのPICTなどで、パラメータ・値・制約からケースを生成できる。ただし生成に使う方法や設定で件数が変わり、常に最小と保証されるわけではない。小さな例は手でも作れるが、多くの条件ではツールと網羅の検査が役立つね。
ひよこ ひよこ
ほかのテストを省いてよい?
ペンギン先生 ペンギン先生
ペアワイズは組み合わせの選び方の1つだよ。必要なら3条件以上を網羅する強度に上げる。境界値、操作の順番、業務上の重要な条件や過去の不具合も別に考える。そして各ケースで何が正しい結果かを決め、実行して判定することが必要なんだ。
もっと詳しく知りたい人へ

直交表と同じもの?

どちらも組み合わせを扱いますが、同義ではありません。ペアワイズで使うカバリング配列は必要なペアが少なくとも1回出ることを求めます。直交配列は各組が同じ回数出るという、さらに強い条件を持ちます。全組み合わせテストの別名でもありません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ペアワイズ」って出てきたら「実現可能な2条件の値の組を網羅するケース設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Pairwise Testing / All-Pairs Testing」 = ペアごとのテスト / 全ペアのテスト
💬 pairwiseは2つずつの組を指します。全パラメータの全組み合わせを試すこととは異なります。

参考資料

← 用語集にもどる