システムアーキテクト試験 2017年 午前209


ソフトウェアの潜在エラー数を推定する方法のーーつにエラー埋込み法がある。100個のエラーを意図的に埋め込んだプログラムを、そのエラーの存在を知らない検査グループがテストして30個のエラーを発見した。そのうち20個は意図的に埋め込んでおいたものであった。この時点で、このプログラムの埋込みエラーを除く残存エラー数は機つと推定できるか。
40(正解)
50
70
150

解説

ソフトウェアの潜在エラー数推定(エラー埋込み法)【午前2 解説】

要点まとめ

  • 結論:残存エラー数は埋込みエラーを除き40個と推定できる。
  • 根拠:埋込みエラー100個中20個発見、検出率20%から未発見の実エラー数を推定。
  • 差がつくポイント:埋込みエラーの検出率を基に実際のエラー数を比例推定する理解が重要。

正解の理由

エラー埋込み法では、意図的に埋め込んだエラーの検出率を利用して、実際のプログラムに潜む未知のエラー数を推定します。
今回、100個の埋込みエラーのうち20個が発見されているため、検出率は20%です。
実際に発見されたエラーは30個で、そのうち20個が埋込みエラーなので、残りの10個は実際のエラーです。
検出率20%で10個の実エラーが見つかったなら、全体の実エラー数は 10÷0.2=5010 ÷ 0.2 = 50 個と推定されます。
しかし、問題は「埋込みエラーを除く残存エラー数」を問うているため、発見済みの10個を除いた残存エラー数は 5010=4050 - 10 = 40 個となります。
よって正解はア: 40です。

よくある誤解

検出率を単純に発見数に掛けるだけで終わらせ、残存エラー数の計算を誤ることが多いです。
また、埋込みエラーを除くことを忘れて全体のエラー数を答えてしまう誤りもあります。

解法ステップ

  1. 埋込みエラー数と発見された埋込みエラー数から検出率を計算する。
  2. 実際に発見された実エラー数を確認する。
  3. 実エラー数を検出率で割り、全体の実エラー数を推定する。
  4. 発見済みの実エラー数を引いて残存エラー数を求める。
  5. 埋込みエラーを除いた残存エラー数として答える。

選択肢別の誤答解説

  • ア: 正解。検出率と発見数から正しく残存エラー数を推定している。
  • イ: 50は全体の実エラー数推定値であり、残存エラー数ではない。
  • ウ: 70は計算根拠がなく、誤った推定値。
  • エ: 150は埋込みエラー数と混同した誤答で、根拠がない。

補足コラム

エラー埋込み法はソフトウェアテストの品質管理で使われる統計的手法です。
検出率を基に未知のエラー数を推定できるため、テストの効果測定やリリース判断に役立ちます。
ただし、埋込みエラーの検出難易度が実際のエラーと同等であることが前提条件です。

FAQ

Q: なぜ埋込みエラーの検出率を使うのですか?
A: 埋込みエラーは数が既知で検出率を計算できるため、未知の実エラー数を推定する基準となるからです。
Q: 発見された実エラー数が多いほど残存エラー数はどうなりますか?
A: 発見数が多いと推定される全体のエラー数も増えますが、残存エラー数は発見数を差し引くため、必ずしも増えるとは限りません。

関連キーワード: エラー埋込み法, ソフトウェアテスト, 残存エラー数, 検出率, 品質管理
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ