C2カバレッジが複合条件網羅(MCC)かどうか
C2カバレッジが複合条件カバレッジ(multiple condition coverage; MCC)であるとするものが出てきてしまったので真偽を調べる MCCをC2カバレッジとしている例
ISTQB Glossaryによる定義
テストスイートが遂行した条件結果のパーセンテージ。条件カバレッジを100%にするには、各判定ステートメントの全ての単一条件に対し、真と偽をテストする必要がある。
if (A && B) {...}
A && Bはステートメント、判断文
A, Bは単一条件
これはテストケースに寄るが、下記の2パターンがある。
(1) (T, F), (F, T)
(2) (T, T), (F, F)
すべての単一条件(A, B)に対して真、偽をテストしているため、(1), (2)のどちらでも100%のカバレッジを達成している。
テストスイートが遂行した一つのステートメントの中にある全ての単一条件結果の組み合わせのパーセンテージ。100%の複合条件カバレッジは、100%の改良条件判定カバレッジを意味する。
複合条件カバレッジ(MCC)は、「全ての単一条件結果の組み合わせのパーセンテージ」と言っているので(T, T), (T, F), (F, T), (F, F)の4種類を要求しているように見える。
Most professional software developers use C1 and C2 coverage. C1 stands for statement coverage and C2 for branch or condition coverage.
テストツールのベンダー企業もC2は条件網羅率としている。
C2カバレッジは、条件網羅率であり、コード内のすべての条件を少なくとも1回は実行されているかどうかを計測します。
メモ