Code coverage
Printed From: One Stop Testing
Category: Software Testing @ OneStopTesting
Forum Name: Beginners @ OneStopTesting
Forum Discription: New to the Club...!!! Don't Worry, We are here for you...!!! Learn the very basics of Software Testing and other pertinent Informations.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=460
Printed Date: 23Jan2025 at 1:55pm
Topic: Code coverage
Posted By: jack45
Subject: Code coverage
Date Posted: 02Apr2007 at 5:18am
Code coverage is inherently a white box testing activity. The target
software is built with special options or libraries and/or run under a
special environment such that every function that is exercised
(executed) in the program(s) are mapped back to the function points in
the source code. This process allows developers and quality assurance
personnel to look for parts of a system that are rarely or never
accessed under normal conditions (error handling and the like) and
helps reassure test engineers that the most important conditions
(function points) have been tested.
Test engineers can look at code coverage test results to help them
devise test cases and input or configuration sets that will increase
the code coverage over vital functions. Two common forms of code
coverage used by testers are statement (or line) coverage, and path (or
edge) coverage. Line coverage reports on the execution footprint of
testing in terms of which lines of code were executed to complete the
test. Edge coverage reports which branches, or code decision points
were executed to complete the test. They both report a coverage metric,
measured as a percentage.
Generally code coverage tools and libraries exact a performance and/or
memory or other resource cost which is unacceptable to normal
operations of the software. Thus they are only used in the lab. As one
might expect there are classes of software that cannot be feasibly
subjected to these coverage tests, though a degree of coverage mapping
can be approximated through analysis rather than direct testing.
There are also some sorts of defects which are affected by such tools.
In particular some race conditions or similar real time sensitive
operations can be masked when run under code coverage environments; and
conversely some of these defects may become easier to find as a result
of the additional overhead of the testing code.
|
|