テストツールのテスト論考

テストツール(テスト環境)を作っていて頻繁に出てくるのが、テストツールのテストってどこまでやるの?という疑問です。テストツールのテストのためにテストツールを作ると、さらにそのテストツールのテストツールのテストが必要になって、その無限ループにはまる!というお遊びです。

それに関連して、面白いツイートを見かけました。こちらです。

残存欠陥数を徐々に減らしていくと、十分欠陥が検出できる、という議論です。これはテストツールにも適用できると思っています。まぁどれだけのリスクを許容するかですね。

テストツールの欠陥で発生してはいけないのは、検出もできず、結果に影響を与えてしまう欠陥です。別の言葉で言うと、偽陰性が問題です。偽陽性については、検出ができるから問題がないのです。

ここで書かれている、ISO26262におけるTDとTIの話ですね。

で、テストツール(テストスクリプトではないです)を想定した場合、誤ってPassと判断してしまう欠陥がどの程度発生しうるか、です。僕が思うに、偽陰性の問題は、常にPassとしてしまうようなことでしか発生しえません。テストスクリプトであれば判定Stepを入れ忘れるケースや、常にPassとなる判定Stepを書いてしまうケースがあるのですけどね。

ということで、例えばテストツールの欠陥数を100件と想定した場合、偽陰性は多くて10%ぐらいかな、と思います。さらに、偽陰性の原因となる欠陥は顕在化しやすい傾向にあると思うので、一通りのテストをしていると9割の欠陥は検出できると考えます。その結果、残存していて、かつ検出できず、結果に影響を与える欠陥は1件あるかないか、ということになります。

これは十分にリスクが低い状態、と言えるのではないでしょうか。


よって、テストツールのテストは

・無限にやる必要はなく、一通りのテストをすればよい

・一通りのテストについても複雑なテストは不要

・テストスクリプトについては別議論

ということができると思います。



この記事が気に入ったらサポートをしてみませんか?