There are many types of test coverage. Test coverage can be used in any level of the testing. Test coverage can be measured based on a number of different structural elements in a system or component. Coverage can be measured at component testing level, integration-testing level or at system- or acceptance-testing levels. For example, at system or acceptance level, the coverage items may be requirements, menu options, screens, or typical business transactions. At integration level, we could measure coverage of interfaces or specific interactions that have been tested.
We can also measure coverage for each of the specification-based techniques:
- EP: percentage of equivalence partitions exercised (we could measure valid and invalid partition coverage separately if this makes sense);
- BVA: percentage of boundaries exercised (we could also separate valid and invalid boundaries if we wished);
- Decision tables: percentage of business rules or decision table columns tested;
- State transition testing: there are a number of possible coverage measures:
- Percentage of states visited
- Percentage of (valid) transitions exercised (this is known as Chow’s 0- switch coverage)
- Percentage of pairs of valid transitions exercised (‘transition pairs’ or
- Chow’s 1-switch coverage) – and longer series of transitions, such as transition triples, quadruples, etc.
- Percentage of invalid transitions exercised (from the state table).
The coverage measures for specification-based techniques would apply at whichever test level the technique has been used (e.g. system or component level).
The different types of coverage are:
1) Statement coverage
2) Decision coverage
3) Condition coverage