ISSRE2011のIndustry Papers発表にてTakeo Niwaさんが信頼度成長曲線について発表していた内容を記しておく。
<発表概要 始>------
横軸が実行済みテストケース数の場合における信頼度成長曲線収束の意味についての発表。
立ち上がりや収束の振る舞いといった曲線の傾向がテスターの恣意やテストケースの実行順に由来するものでない場合、あるテストケーススイートにおける曲線の傾向は、テストケースの実行順に関わらず同一であるはずとし、その上で次のような思考実験を行っていた。
対象テストケーススイートの中で、全てのエラーが、
①各々1つのテストケースでしか発見できない場合
②各々2つのテストケースで発見できる場合
③各々3つのテストケースで発見できる場合
④各々N+1つのテストケースで発見できる場合
に、テストケーススイート中のテストケースを乱数を用いてランダムに順序付けして実行した場合に得られる信頼度成長曲線は、それぞれ、
①直線
②収束しつつあるように見える曲線
③②よりもより収束しているように見える曲線
④Nつのテストケースの場合よりもより収束しているように見える曲線
となる。
以上から、信頼度成長曲線の傾向がテスターの恣意やテストケースの実施順に由来するものでない場合、エラーを発見できるテストケースに重複があれば、曲線は収束傾向を示し、テストケースが重複するエラーの数が多いほど、また個々のエラーに対し重複するテストケースの数が多いほど、早期かつ明瞭な収束となると言える。
これは、他に曲線が収束する要因があるか否かに関わらず成り立つ。
よって、信頼度成長曲線におけるテスト十分性の要素の1つとして「テストする内容が複数のテストケースで重複していること」があると言える。
ではこの「重複していること」のテスト十分性における意味は何であろうか。
重複していることが、テスト十分性の観点から良いことであるならば、極端な話、同じテストケースを何度も繰り返せば良いことになるし、現にそれで収束していくだろう。しかし本当にそれで良いのであろうか。
<発表概要 終>------
最後の部分は問いかけで終わっており、発表内では答えは示されなかったのですが、どうなのでしょう。
確かに、過去、「テストケースを3回回せ。そうすれば収束する」みたいなことを言うコンサルもみたことがありますので、重複が重要と言う人もいるとは思いますが、違和感を覚えます。
発表では、まず最初に「信頼度成長曲線が活用されることは多いが、直観的に理解しているだけでなぜ傾きが寝ると信頼度が上がるのかを論理的に説明できる人は少ない」とも言われていた。
これは皆様どう思われますか。
最近のコメント