メインコンテンツへ
ソフトウェア

以下の制御フローグラフ(辺E=9、節点N=7、連結成分P=1)をもつモジュールのMcCabe循環複雑度(CC)として正しいものはどれか。

ア.2
イ.3
ウ.4正解
エ.7

解説

McCabeの循環複雑度は「迷路の通り道の数」を数える指標。分岐が多い迷路ほど出口ルートが増え、テストで全ルートを確認するコストが上がる。CC=4なら4本の独立パスをテストすれば十分。

なぜ ウ が正解か

ウが正解。McCabeの循環複雑度 CC = E - N + 2P(E=辺数、N=節点数、P=連結成分数)= 9 - 7 + 2×1 = 4。CCは「独立したテストパスの最小数」を表し、CC=4ならホワイトボックステストで4つのパスを網羅すればよい。CC≦10を品質基準とする組織が多い。

なぜ ア は間違いか

2はE-N(辺-節点のみ)を計算してしまった誤り。+2P(連結成分補正)を忘れている。

なぜ イ は間違いか

3はE-N+Pとして計算(2Pの2を忘れた)。公式はE-N+2P。「2」を落とさないよう注意。

なぜ エ は間違いか

7は節点数Nをそのまま答えた誤り。節点数と複雑度は別の概念。

出典: AI生成問題(学習用)