Page 1108 - (ISC)² CISSP Certified Information Systems Security Professional Official Study Guide
P. 1108
automated attack techniques.
Test Coverage Analysis
While testing is an important part of any software development
process, it is unfortunately impossible to completely test any piece of
software. There are simply too many ways that software might
malfunction or undergo attack. Software testing professionals often
conduct a test coverage analysis to estimate the degree of testing
conducted against the new software. The test coverage is computed
using the following formula:
Of course, this is a highly subjective calculation. Accurately computing
test coverage requires enumerating the possible use cases, which is an
exceptionally difficult task. Therefore, anyone using test coverage
calculations should take care to understand the process used to
develop the input values when interpreting the results.
The test coverage analysis formula may be adapted to use many
different criteria. Here are five common criteria:
Branch coverage: Has every if statement been executed under all
if and else conditions?
Condition coverage: Has every logical test in the code been
executed under all sets of inputs?
Function coverage: Has every function in the code been called and
returned results?
Loop coverage: Has every loop in the code been executed under
conditions that cause code execution multiple times, only once, and
not at all?
Statement coverage: Has every line of code been executed during
the test?
Website Monitoring

