サンプルコード
1 2 3 4 |
statement1; if ((x == 0) || (y == 0)) { statement2; } |
C0 : statement coverage (命令網羅)
全ての命令文(statements)を網羅すること。
網羅条件の例
サンプルコード の statement1 と statement2 を各1回以上、テスト条件で網羅すること。
x | y | |
---|---|---|
C0テスト条件1 | 0 | 0 |
C1 : branch coverage (分岐網羅)
全ての条件分岐(branch)を網羅すること。
網羅条件の例
サンプルコード の if文の中に「分岐するケース」と「分岐しないケース」の両方の条件を網羅すること。
x | y | |
---|---|---|
C1テスト条件1 | 0 | 0 |
C1テスト条件2 | 1 | 1 |
次の例では C0 も C1 もテスト条件は同じである。
1 2 3 4 5 6 |
statement1; if ((x == 0) || (y == 0)) { statement2; } else { statement3; } |
C2 : condition coverage (条件網羅)
全ての条件の組み合わせを網羅すること。
網羅条件の例
サンプルコード の 論理和の両辺の条件の組み合わせを網羅すること。
x | y | |
---|---|---|
C2テスト条件1 | 0 | 0 |
C2テスト条件2 | 0 | 1 |
C2テスト条件3 | 1 | 0 |
C2テスト条件4 | 1 | 1 |