システム監査技術者 2014年 午前2 問20
問題文
ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100個のエラーを故意にプログラムに埋め込んだとき、そのエラーの存在を知らない検査グループが30個のエラーを発見した。そのうち20個は故意に埋め込んでおいたものであった。この時点で、このプログラムには埋込みエラーを除く残存エラー数は幾つと推定できるか。
選択肢
ア:40(正解)
イ:50
ウ:70
エ:150
🔒 解説は解答すると表示されます
エラー埋込み法による残存エラー推定【午前2解説】
正解の理由
故意に埋め込んだエラーの発見率を、もともとプログラムに存在するエラーの発見率にも当てはめて推定します。
埋込みエラーは100個中20個が発見されているため、発見率は20%です。一方、発見された30個のうち、埋込みエラーではないものは10個です。この10個は、もともと存在するエラー全体の20%に相当すると推定できます。
したがって、もともと存在するエラーの総数は50個で、そのうち発見済みの10個を除いた残存数は40個です。よって、アが正解です。
解法ステップ
-
発見された埋込みエラー数から、エラーの発見率を求めます。
(20%) -
発見されたエラーのうち、もともと存在するエラーの数を求めます。
(個) -
もともと存在するエラーの総数を推定します。
(個) -
発見済みの10個を差し引き、残存エラー数を求めます。
(個)
選択肢別の誤答解説
- ア:正解です。もともと存在するエラーの推定総数50個から、発見済みの10個を引いた残存数です。
- イ:50個は、もともと存在するエラーの推定総数です。問題で尋ねられている残存数ではありません。
- ウ:発見されたエラー30個と埋込みエラー100個の関係を正しく使えていない値です。発見率を適用すると、もともと存在するエラーの推定総数は50個になります。
- エ:埋込みエラーを含めたエラー総数の推定値に近い考え方ですが、埋込みエラーを除いた残存数ではありません。
よくある誤解
-
推定総数と残存数を混同する
もともと存在するエラーの推定総数は50個ですが、発見済みの10個を除くため、残存数は40個です。 -
30個すべてを、もともと存在するエラーと考える
30個のうち20個は故意に埋め込んだものです。もともと存在するエラーとして扱うのは、差し引いた10個です。 -
埋込みエラーの発見数だけを答えに使う
埋込みエラーの発見数は、検査の発見率を推定するために使います。最終的には、もともと存在するエラーの残存数を計算します。
補足コラム
エラー埋込み法では、「故意に埋め込んだエラー」と「もともと存在するエラー」が、同じような確率で発見されると仮定します。この仮定のもとで、埋込みエラーの発見状況を手掛かりに、未発見のエラー数を推定します。
FAQ
Q. なぜ埋込みエラーの発見率を、もともと存在するエラーにも適用できるのですか?
A. 両者が検査で同程度に発見されると仮定する方法だからです。実際に検出しやすさが大きく異なる場合、推定の精度は低下します。
A. 両者が検査で同程度に発見されると仮定する方法だからです。実際に検出しやすさが大きく異なる場合、推定の精度は低下します。
Q. 「もともと存在するエラーの総数」と「残存エラー数」はどう違いますか?
A. 総数は発見済みと未発見を合わせた数です。残存数は、総数から発見済みのエラーを差し引いた数です。
A. 総数は発見済みと未発見を合わせた数です。残存数は、総数から発見済みのエラーを差し引いた数です。
関連キーワード: エラー埋込み法、残存エラー数、エラー発見率、ソフトウェアテスト

\ せっかくなら /
システム監査技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

