基本情報技術者試験 - 令和5年1月修了 - 問47
バグ埋込み法によってソフトウェア内に残存するバグを推定する。テストによって現在までに発見されたバグは48個であり,総埋込みバグ22個のうち,テストによって発見されたものは16個であった。あと幾つのバグが潜在していると推定されるか。ここで,埋込みバグの発見数とソフトウェアのバグの発見数は比例するものとする。
| ア | 6 |
|---|---|
| イ | 10 |
| ウ | 18 |
| エ | 22 |
答え : ウ
分野 : テクノロジ系 › 開発技術 › システム開発技術 › 実装・構築
「バグ埋込み法」は,ソフトウェアに意図的に既知のバグ(テスト用のバグ)を埋め込み,そのうちどれだけがテストで発見されたかという割合を使って,実際に潜んでいる未知のバグの総数を推定する手法です。この手法は,埋め込みバグの発見率と,実際のソフトウェアのバグの発見率が等しいという仮定に基づいています。
問題文では,総埋込みバグ22個のうち16個が発見されたとあるので,埋込みバグの発見率は16を22で割った値になります。この発見率が,実際のソフトウェアのバグの発見率とも等しいと仮定すると,テストで発見された実際のバグ48個が,全体のバグ数のうちこの発見率に相当する部分であると考えられます。
つまり,全体のバグ数をxとすると,48をxで割った値が16を22で割った値と等しくなるという式が成り立ちます。この式を解くと,xは48に22を掛けて16で割った値,すなわち66になります。従って,まだ発見されていない残りのバグの数は,全体の66個から既に発見された48個を引いた18個となり,選択肢「ウ」が正解です。
分野 : テクノロジ系 › 開発技術 › システム開発技術 › 実装・構築
同一問題 : 〔平23修1問48〕
解説 : 「バグ埋込み法」は,ソフトウェアに意図的に既知のバグ(テスト用のバグ)を埋め込み,そのうちどれだけがテストで発見されたかという割合を使って,実際に潜んでいる未知のバグの総数を推定する手法です。この手法は,埋め込みバグの発見率と,実際のソフトウェアのバグの発見率が等しいという仮定に基づいています。
問題文では,総埋込みバグ22個のうち16個が発見されたとあるので,埋込みバグの発見率は16を22で割った値になります。この発見率が,実際のソフトウェアのバグの発見率とも等しいと仮定すると,テストで発見された実際のバグ48個が,全体のバグ数のうちこの発見率に相当する部分であると考えられます。
つまり,全体のバグ数をxとすると,48をxで割った値が16を22で割った値と等しくなるという式が成り立ちます。この式を解くと,xは48に22を掛けて16で割った値,すなわち66になります。従って,まだ発見されていない残りのバグの数は,全体の66個から既に発見された48個を引いた18個となり,選択肢「ウ」が正解です。