Simple Explanation for Statement , Branch and Path Coverage :
Statement Coverage:
Branch/Decision Coverage:
Test
coverage criteria requires enough test cases such that each condition
in a decision takes on all possible outcomes at least once, and each
point of entry to a program or subroutine is invoked at least once.
That is,every branch (decision) taken each way, true and false. It
helps in validating all the branches in the code making sure that no
branch leads to abnormal behavior of the application.
Path Coverage:
In
this the test case is executed in such a way that every path is
executed at least once. All possible control paths taken, including
all loop paths taken zero, once, and multiple (ideally, maximum)
items in path coverage technique, the test cases are prepared based
on the logical complexity measure of a procedural design. In this
type of testing every statement in the program is guaranteed to be
executed
at
least one time. Flow Graph, Cyclomatic Complexity and Graph Metrics
are used to arrive at basis path
How to calculate Statement Coverage, Branch Coverage and Path Coverage?
Draw
the flow in the following way
-
Nodes represent entries, exits, decisions andeach statement of code.
-
Edges represent non branching and branching links between nodes.
Example:
Read
P
Read
Q
IF
P+Q > 100 THEN
Print
“Large”
ENDIF
If
P > 50 THEN
Print
“P Large”
ENDIF
Calculate
statement coverage, branch coverage and path coverage.
Statement Coverage (SC) :
To
calculate Statement Coverage, find out the shortest number of paths
following which all the nodes will be covered. Here by traversing
through path 1A-2C-3D-E-4G-5H all the nodes are covered. So by
traveling through only one path all the nodes 12345 are covered, so
the Statement coverage in this case is 1.
Branch Coverage(BC)/Decision Coverage (DC):
To
calculate Branch Coverage, find out the minimum number of paths which
will ensure covering of all the edges. In this case there is no
single path which will ensure coverage of allthe edges atone go. By
following paths 1A-2C-3D-E-4G-5H, maximum numbers of edges (A, C, D,
E, G and H) are covered but edges B and F are left.To cover these edges we can follow 1A-2B-E-4F.
By the combining the above two paths we can ensure of traveling through
all the paths. Hence Branch Coverage is 2. The aim is to cover all
possible true/false decisions.
Path Coverage (PC) :
Path
Coverage ensures covering of all the paths from start to end.All
possible paths are
1A-2B-E-4F
1A-2B-E-4G-5H
1A-2C-3D-E-4G-5H
1A-2C-3D-E-4F
1A-2B-E-4G-5H
1A-2C-3D-E-4G-5H
1A-2C-3D-E-4F
So
path coverage is 4.
Thus
for the above
example SC=1, BC=2 and PC=4
No comments:
Post a Comment