応用情報技術者試験 令和4年秋 午前問48 解説付き過去問
問題
流れ図で示したモジュールを表の二つのテストケースを用いてテストしたとき、テストカバレージ指標であるC0(命令網羅)とC1(分岐網羅)とによる網羅率の適切な組みはどれか。
ここで、変数V~変数Zの値は、途中の命令で変更されない。


正解
解説
この問題は、流れ図を用いたモジュールに対して、与えられた2つのテストケースが命令網羅(C0)および分岐網羅(C1)の指標においてどの程度の網羅率を達成しているかを評価する問題です。
- 命令網羅(C0)とは
命令網羅は、プログラム内のすべての命令(処理文)が少なくとも1回は実行されることを目標としたテストカバレッジ指標です。
命令網羅100%とは、すべての命令が一度は通過したことを意味します。 - 分岐網羅(C1)とは
分岐網羅は、すべての条件分岐について、真(Yes)と偽(No)の両方向に一度は評価されることを目標とするカバレッジ指標です。
分岐網羅100%を達成するためには、各判断条件の両方の結果(Yes/No)を試す必要があります。 - 今回のテストケースによる評価
・テストケース1(全ての変数が0)では、分岐が全て「No」に評価される経路を通ります。
・テストケース2(全ての変数が1)では、分岐が全て「Yes」に評価される経路を通ります。
この2つを合わせることで、すべての命令が実行されるため命令網羅は100%となります。
しかし、一部の分岐(例えば「Z≠0」から「No」への分岐など)は通過されていないため、全分岐のうち80%しか網羅されておらず、分岐網羅は80%にとどまります。
したがって、命令網羅は100%、分岐網羅は80%であり、この2つのカバレッジ率の組合せが正しい選択肢となります。