Code
coverage is one of the important measures that comes across while carrying
out the software testing.
What is Code Coverage?
- Code coverage is the measure that gives the degree up
to which the source of a software system or application has been tested.
- Code
coverage earlier was recognized as one of the methods that were developed for
carrying out a systematic software testing.
- The term code coverage was first referenced
under the “communications of the ACM” in the year of 1963 by Maloney and
miller.
- Code coverage is measured using a specialized tool called code coverage
analyzer for instrumenting the binaries in order to add all the tracing calls
and run all the automated test cases against the software system or application
under question.
- A good code coverage analyzer will not only give you the degree
of the coverage but will also allow you to dig deeper in to the data and check
out for the lines of the code that are executed during a particular test.
- Today
we have a large number of code coverage criteria that amount to the total code
coverage.
Types of Code Coverage
- The software system or application
that is under testing is adorned with certain options that run under a particular environment.
- Each and every function of the program
that is executed is traced back to the function calls in the source code which
allows the easy checking of the rarely accessed, never accessed parts of the
program under normal conditions.
- This gives the software testers an assurance
that the most important conditions of the source code have been tested.
- The
outcome is then subjected to analyzation for sorting out of the code that has
been analyzed.
- The process is a combination of several code coverage methods
that aim to provide a manageable and rigorous set of regression tests.
- The
output of the code coverage analyzation can be used by the engineers for devising
the test cases and configuration sets that in turn will increase the code
coverage relating to the vital functions.
- Mostly two common forms of the code
coverage are used by the software testers namely:
1. Line coverage or statement
coverage:
- This type of the code coverage reports regarding the execution
foot print of the software testing in terms of the lines of code which are
executed for the completion of the test.
- The statement coverage provides you with the benefit of the
identification of the bugs that arise in the constructs of the control
flow of the source code like consecutive switch labels and compound conditions.
- The major setback of this code coverage type is that even though it seems
like you have achieved 100 percent of the code coverage, there might be
100s of wicked and uncaught bugs.
- This disadvantage of the statement or
line coverage is over-comed by a more advance form of code coverage called
the branch coverage.
2. Edge or branch coverage:
This
type of code coverage reports regarding the branches or the code decisions
that like statements are executed for the completion of the tests.
- Both of the above mentioned types of
the code coverage provide the result in the form of code coverage metric in
terms of percentages.
- Out of the two, the branch code coverage is considered to
be quite comprehensive that the equivalent percentage of the statement code
coverage.
- It is also very easy to determine the number of branches that have to
be tested since the Boolean decisions have only two outcomes i.e., either true
or false.
No comments:
Post a Comment