プロジェクトマネージャ 2014年 午前2 問16
問題文
ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100個のエラーを故意にプログラムに埋め込んだとき、そのエラーの存在を知らない検査グループが30個のエラーを発見した。そのうち20個は故意に埋め込んでおいたものであった。この時点で、このプログラムには埋込みエラーを除く残存エラー数は幾つと推定できるか。
選択肢
ア:40(正解)
イ:50
ウ:70
エ:150
🔒 解説は解答すると表示されます
エラー埋込み法による残存エラー推定【午前2解説】
正解の理由
エラー埋込み法では、故意に埋め込んだエラーがどの程度発見されたかを手掛かりに、プログラムにもともと存在するエラーの総数を推定します。
埋め込んだエラーは100個で、そのうち20個が発見されています。つまり、埋込みエラーの発見率は です。
発見された30個のうち、埋込みエラーではないものは 個です。この10個を、発見率0.2で発見されたと考えると、プログラムにもともと存在するエラーの総数は 個と推定できます。
このうち10個はすでに発見済みなので、残存エラー数は 個です。したがって、アが正解です。
解法ステップ
-
発見されたエラーのうち、もともとのエラーを求めます。
個 -
埋込みエラーの発見率を求めます。
-
もともと存在するエラーの総数を推定します。
個 -
発見済みの10個を引き、残存数を求めます。
個
選択肢別の誤答解説
- ア:正解です。もともとのエラーの推定総数50個から、すでに発見した10個を引いた残存数です。
- イ:50個は、もともとのエラーの推定総数です。問題が尋ねている残存数にするには、発見済みの10個を引く必要があります。
- ウ:埋込みエラーの未発見数80個と、もともとのエラーの発見数10個を単純に加えた値です。埋込みエラーは推定対象から除くため、残存エラー数には含めません。
- エ:埋込みエラー100個ともともとのエラーの推定総数50個を足した値です。埋込みエラーは推定対象外なので、合計しません。
よくある誤解
- 発見された30個を、すべてもともとのエラーと数えてしまうことがあります。30個には埋込みエラー20個が含まれているため、もともとのエラーは10個です。
- 推定した総数50個を、そのまま残存数だと考えがちです。すでに発見した10個を引く必要があります。
- 故意に埋め込んだエラーも、プログラム本来の残存エラーに含めてしまう誤りがあります。埋込みエラーは発見率を推定するための基準です。
補足コラム
この方法は、埋込みエラーともともとのエラーが、検査グループに同程度の確率で発見されることを前提としています。埋込みエラーが不自然で見つけやすい場合などは発見率が実態と合わず、推定値の精度が下がることがあります。
FAQ
Q. なぜ埋込みエラーの発見率を、もともとのエラーにも使うのですか?
A. 両者が同程度の見つけやすさを持つと仮定し、埋込みエラーの発見状況から検査の発見率を推定するためです。
A. 両者が同程度の見つけやすさを持つと仮定し、埋込みエラーの発見状況から検査の発見率を推定するためです。
Q. 100個の埋込みエラーのうち、未発見の80個は答えに加えないのですか?
A. 加えません。求めるのは埋込みエラーを除いた、プログラム本来の残存エラー数です。
A. 加えません。求めるのは埋込みエラーを除いた、プログラム本来の残存エラー数です。
関連キーワード: エラー埋込み法、ソフトウェアテスト、残存エラー、エラー発見率

\ せっかくなら /
プロジェクトマネージャを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

