平成29年度 秋期 システムアーキテクト試験 午前Ⅱ 問9
ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100個のエラーを意図的に埋め込んだプログラムを,そのエラーの存在を知らない検査グループがテストして30個のエラーを発見した。そのうち20個は意図的に埋め込んでおいたものであった。この時点で,このプログラムの埋込みエラーを除く残存エラー数は幾つと推定できるか。
解答・解説
正解: ア. 40
エラー埋込み法は、テスト対象のプログラムに既知のエラー(埋込みエラー)を意図的に埋め込み、テストで発見された埋込みエラーの割合と、未知のエラー(真の潜在エラー)が発見される割合が等しいと仮定して、プログラム全体の潜在エラー数を推定する手法です。
計算の手順
発見された真のエラー数を求める
テストで発見されたエラーの総数は 個であり、そのうち意図的に埋め込んだエラーは 個であるため、元からプログラムに存在していて発見された真のエラー数は次のようになります。エラーの発見率を求める
意図的に埋め込んだ 個のエラーのうち 個が発見されたため、エラーの発見率は次の通りです。テスト前の真の潜在エラー総数を推定する
真の潜在エラー総数を 個とすると、そのうち にあたる 個が発見されたことになるため、次の比例式が成り立ちます。残存エラー数を求める
テスト前の真の潜在エラー総数が 個と推定され、そのうち 個が今回のテストですでに発見されているため、埋込みエラーを除く残存エラー数は次のようになります。
したがって、正解はアです。
各選択肢の解説
- ア(40):正解です。テスト前の真の潜在エラー数 個から、すでに発見された真のエラー数 個を引いた残存エラー数です。
- イ(50):誤りです。これはテスト開始前に存在していたと推定される真の潜在エラーの総数であり、今回のテストで発見された 個を差し引いていません。
- ウ(70):誤りです。総エラー数を 個と誤認し、発見された総エラー数 個を引いた値()です。
- エ(150):誤りです。発見された総エラー数 個をそのまま分子に用いて と計算した値であり、埋込みエラーを含んだテスト前の総エラー数になっています。