直交表テスト
直交表テスト (ちょっこうひょうテスト、英: orthogonal array testing) は、ソフトウェアテストの体系的で統計的な方法であるブラックボックステスト手法である[1][2]。 これは、システムへの入力の数が比較的少ないが、システムへのすべての可能な入力の徹底的なテストを可能にするには大きすぎる場合に使用される。 これは、コンピュータソフトウェアシステム内の障害のあるロジックに関連するエラーを見つけるのに特に効果的である。 直交表は、ユーザーインターフェイステスト、システムテスト、回帰テスト、構成テスト、およびパフォーマンステストに適用される。テストケースはそれぞれ、結果が無相関であるように選択されているため、各テスト結果は固有の情報を提供する。このような処理で実験を整理することで、同じ情報を最小数の実験で収集できる。
背景
[編集]直交ベクトル
[編集]直交ベクトルは直交性を示す。直交ベクトルは次の特性を示す。
- 各ベクトルは、シーケンス内の他のベクトルとは異なる情報を伝達する。つまり、各ベクトルは一意の情報を伝達するため、冗長性が回避される。
- 線形加算では、信号を簡単に分離できる。
- 各ベクトルは他のベクトルから統計的に独立している。つまり、それらの間の相関はゼロとなる。
- 線形に加算すると、結果は個々のコンポーネントの算術和になる。
テクニック
[編集]3つのパラメータを持つシステムを考えよう{国;製品;営業担当者}とそれぞれに3つの値がある。これらのパラメーターの可能なすべての組み合わせをテストするには(つまり、徹底的なテスト)、3 3 =27個のテストケースが必要になる。パラメーターの組み合わせごとにシステムをテストする代わりに、直交表を使用してこれらの組み合わせのサブセットのみを選択する。直交表テストを使用すると、検討するテストケースの数を最小限に抑えながら、テストカバレッジを最大化できる[3]。 ここでは、パラメーター間の相互作用を最大化するペアにはより多くの欠陥があり、この手法が機能すると仮定する。
テストケース↓ | 国 | 製品 | 営業担当者 |
---|---|---|---|
TC-1 | DE | ノート | チャーリー |
TC-2 | DE | デスクトップ | ボブ |
TC-3 | DE | マウス | アリス |
TC-4 | US | ノート | ボブ |
TC-5 | US | デスクトップ | アリス |
TC-6 | US | マウス | チャーリー |
TC-7 | GB | ノート | アリス |
TC-8 | GB | デスクトップ | チャーリー |
TC-9 | GB | マウス | ボブ |
その仮定を前提として、表は、入力パラメーターの相互作用を考慮して、障害をキャッチするのに十分なパラメーターの9つの組み合わせのセットを示している。これは、非常に効果的で経済的です。パラメータ間のすべての可能なペアの組み合わせは1つなので、配列は直交している[3]。 与えられたL9直交表は、テストケースの結果を次のように評価する[1]。
- シングルモード・フォールト–シングルモード・フォールトは、1つのパラメーターが原因で発生する。たとえば、上記の直交表で、テストケースTC-7、TC-8、およびTC-9にエラーが表示された場合、パラメータ{国}の値{GreatBritain}がエラーの原因であると予想できる。同様に、エラーを検出して切り分けることができる。
- ダブルモード・フォールト–ダブルモード・フォールトは、2つの特定のパラメーター値が相互作用することによって発生する。このような相互作用は、パラメーター間の有害な相互作用である。
- マルチモード・フォールト– 3つ以上の相互作用するコンポーネントが一貫した誤った出力を生成する場合、それはマルチモード・フォールトと呼ばれる。直交表はマルチモード・フォールトを検出する。
詳細については、「Orthogonal Array Testing Strategy (OATS) Technique.」[※ 1]を参照。
利点
[編集]- テストのサイクルタイムが短縮され、分析がより簡単になる。
- テストケースのバランスが取れるため、より簡単に欠陥を特定してパフォーマンスを評価できる。全ペアテストよりも大幅なコスト削減が実現する。
注釈
[編集]脚注
[編集]- ^ a b Pressman, Roger S (2005). Software Engineering: A Practitioner's Approach (6th ed.). McGraw-Hill. ISBN 0-07-285318-2
- ^ Phadke. “Planning Efficient Software Tests”. Phadke Associates, Inc.. 2020年12月21日閲覧。 “Numerous articles on utilizing Orthogonal Arrays for Software and System Testing.”
- ^ a b Dustin. “Orthogonally Speaking”. 2020年12月21日閲覧。 (要購読契約)
関連項目
[編集]外部リンク
[編集]- Rao, Calyampudi Radhakrishna (2009). “Orthogonal arrays”. Scholarpedia 4 (7): 9076. doi:10.4249/scholarpedia.9076 .
- Delius (May 2004). “Orthogonal Arrays (Taguchi Designs)”. University of York. 2020年12月21日閲覧。
- Kuhfeld. “Orthogonal Arrays”. SAS Institute Inc. 2020年12月21日閲覧。 “SAS provides a catalog of over 117,000 orthogonal arrays.”
- Phadke. “Planning Efficient Software Tests”. Phadke Associates, Inc.. 2020年12月21日閲覧。 “Numerous articles on utilizing Orthogonal Arrays for Software and System Testing.”
- “rdExpert Software for Orthogonal Array Testing”. Phadke Associates, Inc.. 2020年12月21日閲覧。 “Commercial toolset for Orthogonal Array Testing.”