循環的複雑度
他にも、循環的複雑度の値を決定する単純な方法がある。制御フローグラフ内の閉じたループの個数を数え、それに 1 を加えた値である。
すなわち、
M = 閉じたループの数 + 1
ここで、
M = 循環的複雑度
M は、制御フローグラフ上でとりうる経路数の下限である。
M は、完全な分岐網羅率を達成するのに必要なテストケース数の上限である。
例えば、次のような if-then-else 文が2つ連続しているプログラムを考えてみよう。
完全な分岐網羅率を達成するには、2個のテストケースで十分である。
完全な経路網羅率を達成するには、4個のテストケースが必要である。
循環的複雑度 M は 3 であり、上記の2つの値の間にある。これはどんなプログラムでも成り立つ。