Difference between revisions of "Cyclomatic complexity"
From Wiki @ Karl Jones dot com
Karl Jones (Talk | contribs) (→External links) |
Karl Jones (Talk | contribs) (→See also) |
||
Line 24: | Line 24: | ||
* [[Code refactoring]] | * [[Code refactoring]] | ||
* [[Complexity]] | * [[Complexity]] | ||
+ | * [[Essential complexity]] | ||
== External links == | == External links == |
Revision as of 08:18, 6 September 2016
Cyclomatic complexity is a software metric used to indicate the complexity of a computer program.
Description
Cyclomatic complexity is a quantitative measure of the number of linearly independent paths through a program's source code.
Cyclomatic complexity is computed using the control flow graph of the program:
- The nodes of the graph correspond to indivisible groups of commands of a program
- A directed edge connects two nodes if the second command might be executed immediately after the first command
Cyclomatic complexity may also be applied to individual functions, modules, methods or classes within a program.
Basis path testing
One testing strategy, called basis path testing by McCabe who first proposed it, is to test each linearly independent path through the program; in this case, the number of test cases will equal the cyclomatic complexity of the program.
History
It was developed by Thomas J. McCabe, Sr. in 1976.
See also
External links
- Cyclomatic complexity @ Wikipedia