エラー埋め込み法
2023/01/20
こちらも情報処理技術者試験で問われていたのでまとめる。
このテスト手法は意図的にバグを埋め込んで、その検出率から潜在的なバグ数を推測する方法。例えば100個のバグを意図的に埋め込んでテストした結果、30個のバグが検出されその内訳が以下であった場合、
意図的に埋め込んだバグ:20個
潜在的なバグ:10個
意図的に埋め込んだバグの検出率は20/100=0.2=20%となる。潜在的なバグについても同じ検出率であったと仮定すると、このプログラムには潜在的なバグは10/0.2=50個となる。
数式で問われた場合、直感的にわかりづらいが式変形すれば大丈夫。
潜在バグ残数: T
埋め込みバグ数: A
検出バグ総数: B
検出埋め込みバグ数: C
バグ総数:S
S = B / (C / A)
⇔ S = B * A / C
T = S - A - (B - C)
この方法を実務に落とし込む場合、バグをどこに埋め込むか?バグの内容はどうするか?を考えるのが難しそう...