流れ図で示したモジュールを表の二つのテストケースを用いてテストしたとき、テストカバレージ指標であるC0(命令網羅) とC1(分岐網羅) とによる網羅率の適切な組みはどれか。ここで、変数V〜変数Zの値は、途中の命令で変更されない。
┌──┬───────┬───────┐
│変数│テストケース1│テストケース2│
├──┼───────┼───────┤
│ V │ 0 │ 1 │
├──┼───────┼───────┤
│ W │ 0 │ 1 │
├──┼───────┼───────┤
│ X │ 0 │ 1 │
├──┼───────┼───────┤
│ Y │ 0 │ 1 │
├──┼───────┼───────┤
│ Z │ 0 │ 1 │
└──┴───────┴───────┘
┌───────┬───────┐
│C0による網羅率│C1による網羅率│
┌─┼───────┼───────┤
│ア│ 100%│ 100%│
├─┼───────┼───────┤
│イ│ 100%│ 80%│
├─┼───────┼───────┤
│ウ│ 80%│ 100%│
├─┼───────┼───────┤
│エ│ 80%│ 80%│
└─┴───────┴───────┘
イ
命令網羅率は、すべての命令に対して、どれだけ実行されたかを表す割合である。
分岐網羅率は、全ての分岐に対して、どれだけ判定条件を網羅しているかを表す割合である。
問題の場合、すべての命令は5つであり、判定条件は10パターンある。
テストケース1の場合、すべての変数の値が0であるため、
(Yes) → 命令1 → (Yes) → 命令2 → (Yes) → 命令4を通り、
3つの命令が実行される。
また、分岐は3パターンを網羅する。
テストケース2の場合、すべての変数の値が1であるため、
(No) → (No) → (Yes) → 命令3 → (No) → (Yes) → 命令5を通り、
2つの命令が実行される。
また、分岐は5パターンを網羅し、これらはテストパターン1と重なっていない。
したがって、表の二つのテストケースを用いてテストしたとき、
命令網羅率: 5 / 5 × 100 = 100%
分岐網羅率: 8 / 10 × 100 = 80%
である。
問47 | 目次 | 問49 |