エンベデッドシステムスペシャリスト 2017年 午前2 問24
問題文
自動車分野の機能安全規格ISO 26262においてテスト指標として用いられるC1カバレージの説明として、適切なものはどれか。
選択肢
ア:最初にターゲットとする顧客ユースケースのテスト範囲
イ:プログラムの分岐網羅率(正解)
ウ:保証する動作温度範囲
エ:ユーザの振舞いや外部仕様を基にしたテスト
🔒 解説は解答すると表示されます
C1カバレージ【午前2解説】
正解の理由
C1カバレージは、プログラム中の判定について、各分岐の結果を少なくとも一度ずつ実行したかを示す指標です。たとえば
if 文であれば、条件が真になる場合と偽になる場合の両方を実行できたかを確認します。このため、C1カバレージの説明に当たるのは、プログラムの分岐網羅率を示すイです。
解法ステップ
- 「C1カバレージ」が、ソフトウェアのテストにおけるカバレージ指標だと捉えます。
- カバレージ指標には、文や分岐など、プログラムの構造をどの程度実行したかを測るものがあります。
- 「分岐網羅率」と説明している選択肢を選びます。
選択肢別の誤答解説
- ア:顧客のユースケースをテスト対象にする範囲の説明であり、プログラムの分岐網羅率ではありません。
- イ:C1カバレージに当たる分岐網羅率の説明です。
- ウ:システムが保証する動作温度範囲に関する説明で、テストカバレージの指標ではありません。
- エ:ユーザの振舞いや外部仕様を基にテストする、仕様ベースのテストの説明です。プログラム内部の分岐を網羅したかどうかとは異なります。
よくある誤解
- 分岐網羅と経路網羅を混同する:C1は各分岐の結果を実行したかを確認します。プログラム内のあらゆる実行経路を網羅することまでは求めません。
- 仕様ベースのテストと構造ベースのテストを混同する:外部仕様を基にするテストと、プログラム内部の構造を基にするカバレージ測定は異なります。
- 「分岐網羅率」を単にテスト件数の割合だと考える:分岐網羅率は、実行したテストケース数ではなく、実行できた分岐の割合を表します。
補足コラム
カバレージ指標には、文を実行したかを見るC0(命令網羅)、分岐の結果を実行したかを見るC1(分岐網羅)、複合条件の独立した影響まで確認するMC/DCなどがあります。安全性が重要なソフトウェアでは、求められる安全度に応じて、適用する指標や網羅の水準が定められます。
FAQ
C1カバレージが100%なら、すべての不具合を検出できますか?
いいえ。分岐の結果をすべて実行したことは確認できますが、テストデータの適切さや、仕様そのものの誤りまでは保証できません。
いいえ。分岐の結果をすべて実行したことは確認できますが、テストデータの適切さや、仕様そのものの誤りまでは保証できません。
C1カバレージは、C0カバレージより厳しい指標ですか?
一般に、C1は分岐の両方の結果を確認するため、文の実行を確認するC0より厳しい観点です。ただし、C1を達成したからといって、すべての実行経路を確認したことにはなりません。
一般に、C1は分岐の両方の結果を確認するため、文の実行を確認するC0より厳しい観点です。ただし、C1を達成したからといって、すべての実行経路を確認したことにはなりません。
関連キーワード: ISO 26262、C0カバレージ、分岐網羅率、MC/DC、構造ベーステスト

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

