3.3. 直交表と All-Pair法 - テスト技法
最近のソフトウェアは大規模・複雑化してきています。このようなソフトウェアでは、機能のすべて網羅する組み合わせ数は膨大です。このため、ソフトウェアテストでは、 テストケースは多くなり過ぎて、テスト実施が不可能 になることがあります。
このような場合、組み合わせの網羅性を確保した上で、 テストケースを実行可能なレベルまで少なくする ことが、テスト実施のさいの課題となります。
この課題を解決する手法が、直交表とAll-Pair法 (別名 Pairwise法) です。直交表とAll-Pair法は、 組み合わせテストケースを合理的に削減 するために使われます。直交表とAll-Pair法で作成したテストケースでは、 2因子間網羅度が 100% であることが特徴です。
直交表
直交表は、実験計画法や、田口玄一博士による手法タグチメソッド (品質工学とも言う) で使われ、進化してきました。
直交表には、以下のような特徴があります。
直交表の特徴
All-Pair法
All-Pair法は、複数の計算アルゴリズムを使い、2因子を組み合わせます。このとき、なるべく少ないテストケース数となるように組み合わせます。計算アルゴリズムはひとつではないため、使用する All-Pair法のツールによって、結果が異なることもあります。
All-Pair法には、以下のような特徴があります。
All-Pair法の特徴
直交表・All-Pair法における因子・水準の洗い出し
直交表やAll-Pair法を使ったテストケースを作成するには、まず、因子と水準を洗い出します。このとき、いかに漏れのない適切な因子・水準の洗い出せるかが重要です。因子・水準の洗い出しがテスト品質を左右します。
因子の洗い出しにあたっては、テスト対象となる機能、条件、変数などの項目を抽出します。また、ほかの因子に影響を与える依存関係を検討します。依存関係がないと判断できるものは因子から外すこともあります。
水準の洗い出しの基本は、因子ごとに、そのバリエーションとなる項目を洗い出すことです。連続する値の場合は、同値分割法や境界値分析を用いて水準を設定します。
All-Pair法の使用例
図9 プリンタ印刷設定画面
図9「プリンタ印刷設定画面」 はプリンタの印刷設定画面の例です。それぞれの設定項目 (因子) と、項目ごとに選択できる値 (水準) を表3「因子と水準例」に示します。
| 因子 | 水準 | |||
|---|---|---|---|---|
| 用紙サイズ | A4 | B4 | B5 | A3 |
| 印刷方向 | 縦 | 横 | ||
| 給紙装置 | 自動選択 | 用紙トレイ | ||
| 用紙種類 | 普通紙 | 再生紙 | 厚紙 | |
| 印刷品質 | きれい | はやい | ||
これらをすべて組み合わせたテストケースを作成すると 4 × 2 × 2 × 3 × 2 = 96通り (表4「すべて組み合わせたテストケース」) となります。
| No. | 用紙サイズ | 印刷方向 | 給紙装置 | 用紙種類 | 印刷品質 |
|---|---|---|---|---|---|
| 1 | A3 | 横 | 自動選択 | 再生紙 | はやい |
| 2 | A3 | 横 | 自動選択 | 普通紙 | はやい |
| 3 | A3 | 横 | 自動選択 | 厚紙 | きれい |
| 4 | A3 | 横 | 自動選択 | 普通紙 | きれい |
| 5 | A3 | 横 | 自動選択 | 厚紙 | はやい |
| 6 | A3 | 横 | 自動選択 | 再生紙 | きれい |
| ...(中略)... | |||||
| 91 | B5 | 縦 | 用紙トレイ | 厚紙 | はやい |
| 92 | B5 | 縦 | 用紙トレイ | 厚紙 | きれい |
| 93 | B5 | 縦 | 用紙トレイ | 普通紙 | はやい |
| 94 | B5 | 縦 | 用紙トレイ | 再生紙 | きれい |
| 95 | B5 | 縦 | 用紙トレイ | 普通紙 | きれい |
| 96 | B5 | 縦 | 用紙トレイ | 再生紙 | はやい |
一方、 All-Pair法を使い 2因子間網羅 100% の組み合わせテストケースを作成すると 12通り (表5「All-Pair法 による 2因子間網羅 100% の組み合わせテストケース」) となります。
| No. | 用紙サイズ | 印刷方向 | 給紙装置 | 用紙種類 | 印刷品質 |
|---|---|---|---|---|---|
| 1 | A3 | 横 | 用紙トレイ | 普通紙 | はやい |
| 2 | A3 | 縦 | 自動選択 | 再生紙 | きれい |
| 3 | A3 | 縦 | 用紙トレイ | 厚紙 | はやい |
| 4 | A4 | 横 | 自動選択 | 普通紙 | はやい |
| 5 | A4 | 横 | 自動選択 | 再生紙 | きれい |
| 6 | A4 | 縦 | 用紙トレイ | 厚紙 | はやい |
| 7 | B4 | 横 | 用紙トレイ | 再生紙 | はやい |
| 8 | B4 | 縦 | 自動選択 | 厚紙 | きれい |
| 9 | B4 | 縦 | 自動選択 | 普通紙 | きれい |
| 10 | B5 | 横 | 自動選択 | 厚紙 | きれい |
| 11 | B5 | 横 | 用紙トレイ | 再生紙 | はやい |
| 12 | B5 | 縦 | 用紙トレイ | 普通紙 | きれい |
すべてを組み合わせたテストケースと、All-Pair法により作成したテストケースの数を比べると、 1/8 に削減されています。一般に因子・水準が増えるほど削減効果は大きくなります。
この記事のキーワードと関連記事
テストケース:
All-Pair法: