この記事は何か?
本記事では、ブラックボックステストのテスト技法の1つであるペアワイズ法の基本と、テスト生成ツール「PICT」の基本的な使い方を解説します。
目次
1. ペアワイズ法の概要
1.1. 特徴
ソフトウェアテストですべての組み合わせをテストすると、テストケース数が膨大になり現実的ではありません。
例えば、3つのブラウザ、3つのOS、2つの言語設定をテストする場合、すべての組み合わせでは18ケースが必要です。パラメータが増えれば、テストケース数はさらに増加します。
ペアワイズ法は「多くの不具合は2つのパラメータの相互作用で発生する」という経験則に基づき、テストケース数を削減する設計技法です。
実務では、PICTやPictMasterなどの専用ツールでテストケースを生成します。
1.2. 適用例
Webアプリケーションで以下の3つのパラメータをテストする場合を考えます。
- ブラウザ: Chrome / Firefox / Safari
- OS: Windows / macOS / Linux
- 言語設定: 日本語 / 英語
すべての組み合わせでは 3 × 3 × 2 = 18ケースが必要です。
ペアワイズ法では、すべての2パラメータの組み合わせを網羅しつつ、以下の9ケースに削減できます。
| No. | ブラウザ | OS | 言語 |
|---|---|---|---|
| 1 | Chrome | Windows | 日本語 |
| 2 | Chrome | macOS | 英語 |
| 3 | Chrome | Linux | 日本語 |
| 4 | Firefox | Windows | 英語 |
| 5 | Firefox | macOS | 日本語 |
| 6 | Firefox | Linux | 英語 |
| 7 | Safari | Windows | 日本語 |
| 8 | Safari | macOS | 英語 |
| 9 | Safari | Linux | 日本語 |
すべての組み合わせの半分のケース数で全ペアをカバーできます。
2. PICTによるテストケース生成
2.1. PICTの導入
PICTは、Microsoftが開発したオープンソースのテストケース生成ツールです。
GitHubの公式リポジトリから、pict.exeをダウンロードできます。
2.2. 基本的な使い方
PICTでは、パラメータと値をテキストファイルに記述します。
1.2.の例を入力ファイル(test.txt)として作成します。
Browser: Chrome, Firefox, Safari
OS: Windows, macOS, Linux
Language: Japanese, English
このファイルを以下のコマンドで実行します。
pict test.txt
標準出力にテストケースがタブ区切りで出力されます。
この出力をそのままテストケースとして使用できます。
Browser OS Language
Chrome Linux English
Safari Linux Japanese
Chrome Windows Japanese
Safari macOS English
Firefox macOS Japanese
Chrome macOS Japanese
Firefox Linux English
Safari Windows English
Firefox Windows English
2.3. 制約条件の指定
実際はすべての組み合わせが有効とは限りません。例えば、SafariはWindows上で動作しないため、この組み合わせを除外する必要があります。
PICTでは制約条件を入力ファイルに記述することで、無効な組み合わせを除外します。
Browser: Chrome, Firefox, Safari
OS: Windows, macOS, Linux
Language: Japanese, English
IF [Browser] = "Safari" THEN [OS] <> "Windows";
このファイルを実行すると、Safari + Windowsの組み合わせは出力されません。
制約条件は複数指定でき、AND/OR/NOTなどの論理演算子も使用できます。
3. まとめ
ペアワイズ法を使うことで、テストケース数を削減しながら効果的なテストを実行できます。