Preliminaries
The idea of fault coverage in hardware is also used in software testing
using program mutation. A program is mutated by injecting a number of
faults using a fault model that corresponds to mutation operators. The
effectiveness or adequacy of a test set is assessed as a fraction of the mu-
tants covered to the total number of mutants. Details of this technique
are described in Chapter 7.
1.8 TESTING AND VERIFICATION
Program verification aims at proving the correctness of programs by
showing that it contains no errors. This is very different from testing
that aims at uncovering errors in a program. While verification aims at
showing that a given program works for all possible inputs that satisfy a
set of conditions, testing aims to show tha ...