※いずれも質問投稿には会員登録が必要です
個人情報(個人名やメールアドレスなど)が公開されることはありません。


QUESTION 質問No.455

直交表,ペアワイズ法(PICT)どっちを使うべき?

設計・開発  | 投稿日時:

テストケースを作成しようと思った際、
直交表を用いて作成するか、それとも、ペアワイズ法(PICT)を用いて作成するか、
どちらを使うのかの判断はどのようにしたらいいのでしょうか。




ANSWER
回答No1 | 投稿日時:

村島といいます。品質管理や品質工学のコンサルをしております。
下記のサイトにわかりやすく説明されています。チェック回数だけでしたら通常はペアワイズ法のほうがいいようです。なお、下記サイトは、直行表と書かれていますが、直交表のことでしょう。

http://fry.no.coocan.jp/WordPress/?p=4820

よろしくお願いします。




ANSWER
回答No2 | 投稿日時:

屋根猫様、ご質問ありがとうございます。

PICTと書かれてあったので、テストケースはソフトウェアのテストのことだと思います。

近年ソフトウェアは非常に複雑化しているので、ぺワイズ(2-Way 相互作用)テストだけでは十分な検証ができません。例えばペアワイズ(2-Way)テストを使ってどれだけのバグを検出できたのかという研究データを見ると、ソフトウェアの複雑度にも拠りますが、

- 医療デバイス 98%
- ブラウザー 70%
- サーバー 75%
- データーベース 93%
- 空中衝突防止システム(航空システム) 55%

という結果が出ています。航空システムのような複雑で高信頼性が求められるソフトウェアが、もしペアワイズ(2-Way)テストしかしていなかったら、恐ろしい結果になることが想像できると思います。

また研究データによると、4つのパラメータの組合せ(4-Way)テストを行って初めて大体95%以上のバグが検出できます(空中衝突防止システムは89%)。

私が以前書いた組込み制御ソフトウェアが客先で発生したトラブルは、5つのパラメータの組合せ(5-Way)によって起こったバグが原因でした。

従って、ソフトウェアの高い信頼性を保つためには、せめて4-Wayテストが必要になります。

現在 t-Wayを組合せるテストケースを生成するソフトウェア(Combinatorial Testing Software)がいくつか出回っています(tは組み合わせるパラメータの数。例えば6-Wayは1から6までのパラメータを組み合わせたテストケースを生成する)。

私はNIST(National Institute of Standard and Technology)が提供するACTS(Automated Combinatorial Testing for Software)を使っています(無料)。このソフトウェアはとても使いやすいので仲間に奨めています。

https://www.nist.gov/

https://csrc.nist.gov/Projects/automated-combinatorial-testing-for-software

最大6つのパラメータの組合せ(6-Way)までサポートしており、各パラメータの制約条件や、パラメータの組合せの制約条件を加えることで劇的にテストケースの数を減らすことができます。

またIPOGやPainballなど、t-Wayテストケース生成アルゴリズムにご興味がおありでしたら、NISTのサイトに多くの情報があります。

以上、少しでも参考になれば幸いです。