【ソフトウェア開発】組み合わせ爆発を防ぐ!「ペアワイズテスト(オールペア法)」|情報処理問題1000本ノック
システム開発のテスト工程(ブラックボックステスト)において、複数の設定値(パラメータ)の組み合わせテストを行う際、テスト件数を抑えつつ効率的に不具合を見つけるための代表的なテスト技法を攻略しましょう。
1. 【 問題 】:ソフトウェア開発技術(テスト技法・品質管理)
【 問題 】 ソフトウェアテストの設計技法に関する記述です。OS、ブラウザ、画面サイズなど、複数のパラメータが存在する場合、すべての組み合わせをテストしようとするとテストケース数が膨大(組み合わせ爆発)になります。この問題に対し、「任意の2つのパラメータの組み合わせ(対)」が少なくとも1回は含まれるように選定し、テストケース数を大幅に削減しながら高い網羅性を保つテスト技法を何と呼ぶでしょうか?
(ア)ペアワイズテスト(オールペア法)
(イ)境界値分析(限界値テスト)
(ウ)等価分割法
(エ)トップダウンテスト
2. 正解:
正解:(ア)ペアワイズテスト(オールペア法)
3. 解説:「2つの組み合わせ」を押さえればバグの約8割は見つかる!
ペアワイズテスト(Pairwise Testing / オールペア法)は、2つの因子間の組み合わせ(2因子間網羅)をすべて網羅するようにテストケースを作成するブラックボックステストの手法です。
ソフトウェアの不具合(バグ)の多くは「単独の条件」か「2つの条件の相互作用」によって発生するという経験則に基づいています。そのため、全組み合わせを実行しなくても、2因子間を網羅するだけで高い欠陥検出率を得ることができます。
| テスト設計技法 | アプローチ・目的 |
|---|---|
| (ア)ペアワイズ法(オールペア法) | 組み合わせのパラメータから「2因子のペア」を抽出して件数を大幅削減する。 |
| (イ)境界値分析 | 仕様の「境界ギリギリの値(上限・下限)」を入力して不具合を見つける。 |
| (ウ)等価分割法 | 同等とみなせる入力値のグループ(同値クラス)から代表値を1つ選んでテストする。 |
| (エ)トップダウンテスト | 上位モジュールから下位へと順番に結合して行う構造テスト手法(スタブを使用)。 |
1. 理解のコツ: 「服のコーディネート(帽子・服・靴)」に例えてみましょう。
・帽子3種類 × 服3種類 × 靴3種類 の全組み合わせは「3×3×3=27通り」です。
・しかし、ペアワイズ法を使うと「帽子と服」「服と靴」「帽子と靴」のあらゆるペアを網羅した9通り程度のテストだけで済ませられます。
・「特定の帽子と特定の靴を合わせた時だけ起きる不具合」などを、たった1/3の労力で見つけ出すことができます。
2. 試験対策の視点: ソフトウェア開発技術分野の午後問題や選択式試験で非常によく問われるテーマです。
問題文に「複数のパラメータ」「組み合せ爆発」「2つの因子(ペア)の組み合わせを網羅」「直交表」といったキーワードがあれば、即座にペアワイズ(オールペア)を導き出せるようにしておきましょう。
4. まとめ
パラメータが爆発する組み合わせテストにおいて、「2因子のペアを網羅して件数を削減する」のがペアワイズテストです。境界値分析や等価分割法と並ぶ主要なテスト設計技法として覚えておきましょう!