what is cyclomatic complexity? plz explain with example
Answers were Sorted based on User's Feedback
Answer / srinivas
Cyclomatic Complexity is a White Box Testing Type.
Is This Answer Correct ? | 232 Yes | 45 No |
Answer / dhakshna
The easiest way is to sum the number of binary decision
statements (e.g. if, while, for, etc.) and add 1 to
it
Below is a simple program as an
example:
IF A = 354
THEN IF B > C
THEN A = B
ELSE A = C
ENDIF
ENDIF
Print A
one may calculate the cyclomatic complexity using the
decision points rule. Since there are two decision points,
the cyclomatic complexity is 2 + 1 = 3.
Is This Answer Correct ? | 109 Yes | 14 No |
Answer / sujatha
Hai,
It's used to measure the complexcity of the software
process.
It's used to measure the how many no.of test cases are used
to test the app in all posible ways.
Is This Answer Correct ? | 107 Yes | 29 No |
Answer / amit
Cyclomatic Complaxity comes under white box testing.
It means best path searching. To measure logical Complaxity
of a prog.
for ex.
1-main()
2-if(a>1)
3{
------
------
}
4-else
5-{
-------
-------
}
}
Now a diagram would drawn from top as it would start from 1.
underneath it would be 2. and 2 would have two edges i.e. 3
and 4. they would futher combine to form 5.
2,3,4 & 5 would make close regeoin while outside would
become open region..
the arrows joining would be edges 2 would become predicate
node. while others are simple nodes.
it has got a formula:
v(g)=Node-edges+2
v(g)= 5-5+2
v(g)=2
v(g)= predicate node+1
v(g)=1+1
v(g)=2
So its logical correct.
Please correct me if i'm wrong.
Is This Answer Correct ? | 74 Yes | 29 No |
Answer / mrinalini
Cyclomatic complexity is a metric used for complexity based
testing proposed by McCabe
McCabe actually proposed 3 metrics:cyclomatic,essential and
actual complexity.All 3 are based on the graphical
representation of the program being tested.First 2 are
calculated from the graph and the 3rd one is runtime metric.
mcCabe used the theory of graph in defining Cylocamatic
complexityThere are sets of
linearly independent program paths through any program
graph. A maximum set of these linearly
independent paths, called a basis set, can always be found.
Intuitively, since the program graph
and any path through the graph can be constructed from the
basis set, the size of this basis set should be related to
program complexity. hence in a layman's language Cyclomatic
complexity is number of Decision statements in the program
being tested plus one.
Is This Answer Correct ? | 41 Yes | 9 No |
Answer / hnv bhaskar
Cyclomatic complexity is a white box testing technique, used
for Structural Testing.
CC can be calculated with two types of formulae:
a) M=E-N+2P
b) M=E-N+P (For Strongly connected systems, i.e, Exit point
is connected back to Starting Point.
E= No. of Edges.
N= No. of Nodes.
P= No. of Connected components.
Is This Answer Correct ? | 6 Yes | 1 No |
Answer / dheemanth kumar
Cyclomatic complexity is a software metric (measurement).
It was developed by Thomas McCabe and is used to measure
the complexity of a program. It directly measures the
number of linearly independent paths through a program's
source code.
M = E − N + 2P
where
M = cyclomatic complexity
E = the number of edges of the graph
N = the number of nodes of the graph
P = the number of connected components.
"M" is alternatively defined to be one larger than the
number of decision points (if/case-statements, while-
statements, etc) in a module (function, procedure, chart
node, etc.), or more generally a system.
Separate subroutines are treated as being independent,
disconnected components of the program's control flow graph.
[edit] Alternative definition
v(G) = e − n + p
G is a program's flowgraph
e is the number of edges (arcs) in the flowgraph
n is the number of nodes in the flowgraph
p is the number of connected components
[edit] Alternative way
There is another simple way to determine the cyclomatic
number. This is done by counting the number of closed loops
in the flow graph, and incrementing the number by one.
i.e.
M = Number of closed loops + 1
where
M = Cyclomatic number.
Is This Answer Correct ? | 19 Yes | 16 No |
Answer / keerthana
example
int a,b;
a=10,b=20;
if(a<b)
{
printf("a is greater");
}
else
{
printf("b is greater");
}
draw the flow chart for this program and count number nodes
in the flowchart.
the formula is v(G)=E-N+2P
E is edge
N is number of nodes
p predicated node
for eg
V(G)=E-n+2P
4-4+2=2
the path of the program is 2 we got write answer
Is This Answer Correct ? | 6 Yes | 3 No |
Answer / devyani
Below is a simple program as an example:
IF A = 354
THEN IF B > C
THEN A = B
ELSEA= C
ENDIF
ENDIF
Print A
The control flow generated from the program would look like Figure 3.2.
The control flow shows seven nodes (shapes) and eight edges (lines), thus using the formal formula the cyclomatic complexity is 8-7 + 2 = 3. In this case there is no graph called or subroutine. Alternatively one may calculate the cyclomatic complexity using the decision points rule. Since there are two decision points, the cyclomatic complexity is 2 + 1 = 3.
Is This Answer Correct ? | 6 Yes | 3 No |
Answer / praveen kumar
M = E − N + 2P
where
M = cyclomatic complexity
E = the number of edges of the graph
N = the number of nodes of the graph
P = the number of connected components
Is This Answer Correct ? | 3 Yes | 1 No |
What are the advantages of Automated Testing?
Explain Acceptance Testing with an Example
Assume you are handling multiple projects and the scheduled were clashing how would you mange about this
hi there… can any1 tel me small testing companies in bangalore to work…I hav learnt testing basics at home..I want to experience d job…watever may b d salary i dont bother..I just want to gain knowledge thanx in advance…
Can any one explain the difference between test scenario and test case.
In front end if you enter one record it will be inserted in to 20 tables in back end.so How you are going to test in Manually whether data is going properly in to concern data tables or not? Is there any better solution to do that instead of opening the table and checking individually?
how will you test a wine filled bottle along with 100 glasses
Upps..., sorry my email id is this : preet405p@yahoo.com Thanks in advanced.
Give example of High Severity and low Priority Bug you filed?
1.what is function incrementation and Bing- Bang 2. Drivers are also known as: a. Spade b. Test harness c. scaffolding
when we swipe the credit card what will genertaed in Back end. how system will validated from the back end for credit card who is Aquriree and Issuer ,
Hi all, Am a new comer of this site, and into testing. Basically a BBA graduate, a fresher in IT industry..well am doing my testing course in STC.., chennai. Cld anyone send me across few testcases.. Thankyou