コンピュータサイエンスにおいて、全ペアテストまたはペアワイズテストは、システム(通常はソフトウェアアルゴリズム)への入力パラメータの各ペアについて、それらのパラメータのすべての可能な離散的な組み合わせをテストするソフトウェアテストの組み合わせ手法です。慎重に選択されたテストベクトルを使用すると、パラメータペアのテストを「並列化」することで、すべてのパラメータのすべての組み合わせを網羅的に検索するよりもはるかに高速に実行できます。 [1]
根拠
ほとんどの場合、プログラムのバグの原因は、単一の入力パラメータまたは2つのパラメータ間の相互作用です。[2] 3つ以上のパラメータ間の相互作用を含むバグは、次第に一般的ではなくなり[3]、また、そのようなテストでは、すべての可能な入力をテストすることが限界となるため、発見にますます費用がかかります。[4]したがって、全ペアテストのようなテストケースを選択するための組み合わせ手法は、機能カバレッジを大幅に損なうことなくテストケースの数を大幅に削減できる、費用対効果の高い妥協策です。[5]
より厳密に言えば、テスト ケースに のセットで与えられたパラメータがあると仮定します。パラメータの範囲は で与えられます。 と仮定しましょう。すべての可能なテスト ケースの数は であることに注意してください。コードが一度に 2 つのパラメータのみを取る条件を処理すると想像すると、必要なテスト ケースの数が減る可能性があります。[説明が必要]
例として、X、Y、Z パラメータがあるとします。3つのパラメータすべてを入力として取る 3 次述語の形式を使用するか、または という形式の 3 つの異なる 2 次述語を使用できます。は、という同等の形式で記述できます。ここで、コンマは任意の組み合わせを示します。コードがパラメータの「ペア」を取る条件として記述されている場合、範囲の選択肢のセットは、マルチセット[説明が必要]になる可能性があります。これは、同じ数の選択肢を持つ複数のパラメータが存在する可能性があるためです。
多重集合の最大値の1つです。 このテスト関数のペアワイズテストケースの数は次のようになります。
したがって、 の場合、テストの回数は通常 O( nm ) です。ここで、nとm は、最も選択肢が多い 2 つのパラメータのそれぞれについての可能性の数であり、網羅的な · よりもかなり少なくなります。
Nワイズテスト
N ワイズ テストは、ペアワイズ テストの一般化された形式と考えることができます。[引用が必要]
アイデアは、セットに ソートを適用して、セットも順序付けすることです。ソートされたセットを タプルにします:-
これで、このセットをペアワイズ テストと呼ぶことができます。さらに一般化すると、このセットを3 ワイズ テストと呼ぶことができます。最終的には、 T ワイズ テストと呼ぶことができます。
N ワイズ テストは、上記の式からのすべての可能な組み合わせになります。
例
以下の表に示すパラメータを考慮してください。
「有効」、「選択タイプ」、および「カテゴリ」の選択範囲はそれぞれ 2、3、および 4 です。徹底的なテストには 24 のテスト (2 x 3 x 4) が含まれます。2 つの最大値 (3 と 4) を掛け合わせると、ペアワイズ テストには 12 のテストが含まれることがわかります。Microsoft の「pict」ツールによって生成されたペアワイズ テスト ケースを以下に示します。
参照
注記
- ^ Berger, Bernie (2003). 「All-Pairs による効率的なテスト」(PDF) . TechWell Corporation . 2023 年11 月 21 日閲覧。
- ^ Black, Rex (2007).実用的なソフトウェアテスト: 効果的で効率的なテストプロフェッショナルになる方法. ニューヨーク: Wiley . p. 240. ISBN 978-0-470-12790-2。
- ^ Kuhn, D. Richard; Wallace, Dolores R.; Gallo, Albert M. Jr. (2004 年 6 月). 「ソフトウェア障害の相互作用とソフトウェア テストへの影響」(PDF) . IEEE Transactions on Software Engineering . 30 (6): 418–421. doi :10.1109/TSE.2004.24. S2CID 206778290.
- ^ Kuhn, D. Richard; Kacker, Raghu N.; Yu Lei (2010 年 10 月). 実用的な組み合わせテスト。SP 800-142 (レポート)。米国国立標準技術研究所。doi : 10.6028/NIST.SP.800-142。
- ^ IEEE 12. 第 5 回国際ソフトウェアテストおよび検証会議 (ICST) の議事録。ソフトウェア コンピテンス センター ハーゲンベルグ。「テスト設計: 学んだ教訓と実践的影響」。2008 年 7 月18日。pp. 1–150。doi :10.1109 / IEEESTD.2008.4578383。ISBN 978-0-7381-5746-7。
{{cite book}}:|journal=無視されました (ヘルプ)
外部リンク
- ペアワイズテスト
- ペアワイズおよび一般化t方向組み合わせ検定
- 現実世界におけるペアワイズテスト: テストケースシナリオの実用的な拡張
- ペアワイズテスト - 組み合わせテストケース生成
