サイクロマティック複雑度
Cyclomatic Complexity
さいくろまてぃっくふくざつど
プログラムの制御フローグラフから算出される複雑度の指標。分岐の数に基づいて計算され、値が大きいほど複雑でテストケースが多く必要になる。一般に10以下が望ましいとされ、リファクタリングの判断基準に用いる。
テスト・検証 > 品質管理と品質指標
他の資格での定義
FEサイクロマティック複雑度
プログラムの制御フローグラフに基づいて算出される複雑度の指標。分岐の数が多いほど値が大きくなり、テストすべきパス数の目安となる。メトリクス計測に用いられ、コードレビューの判断材料にもなる。
APサイクロマティック複雑度
プログラムの制御フローの複雑さを定量的に測定する指標。McCabeが提案し、分岐の数に基づいて算出する。値が大きいほどテストケースが多く必要で、バグが混入しやすい。一般に10以下が望ましいとされる。
ESサイクロマティック複雑度
プログラムの制御フローグラフの独立パス数を表す複雑度指標。分岐(if、switch、for等)が増えるほど値が大きくなる。一般に10以下が推奨され、値が大きいモジュールはテストやメンテナンスが困難になる。
関連キーワードの用語
SAテストカバレッジ
テストによってどの程度のプログラムコードが実行されたかを示す指標。命令網羅率(C0)、分岐網羅率(C1)、条件網羅率(C2)などがある。カバレッジ100%でも完全な品質保証にはならない点に注意が必要。
SA品質メトリクス
ソフトウェアの品質を定量的に測定するための指標の総称。バグ密度(KLOC当たりのバグ数)、テストカバレッジ、コード複雑度、欠陥除去率などがある。プロジェクトの品質状況の把握と改善判断に活用する。
SAバグ密度
プログラムの規模あたりのバグ検出数を示す品質指標。KLOC(千行)あたりのバグ数やFPあたりのバグ数で測定する。工程ごと・モジュールごとに計測し、品質の偏りや問題箇所の特定に活用する。過去の実績値と比較して評価する。
APベロシティ
アジャイル開発において、チームが1スプリントで完了できる作業量を示す指標。ストーリーポイントの合計値で表され、過去のスプリント実績から次のスプリントの計画に用いる。チームの生産性の目安となる。