In the previous post, we explained the problem of Infeasible Test Requirements. Today we move on to Characteristics Of Good Coverage Criterion. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.
The Problem Of Good Criterion
We all strive to be good at something. But what is good is very hard to define. What is a good coverage criterion? Here are three important issues that can affect the usage of coverage criteria:
- the difficulty of computing test requirements
- the difficulty of generating tests
- how well the tests reveal faults
It could be tempting to conclude that subsumption could be used to compare criteria. If the C1 coverage criterion subsumes C2, then we can conclude that it should reveal more faults. But no theoretical study could support this statement.
But we have the following relations for sure. How difficult it is to compute test requirements is related to the criterion and software artifact used in that criterion. Also, a number of revealed faults are related to how difficult it is to generate tests. Harder to generate tests leads to less revealed faults.
It is hard to determine what is a good testing criterion. You should remember what stands in the way of the usage of coverage criteria.