Basics of Software Testing
1.4 CORRECTNESS VERSUS RELIABILITY
1.4.1 CORRECTNESS
Though correctness of a program is desirable, it is almost never the ob-
jective of testing. To establish correctness via testing would imply testing
a program on all elements in the input domain, which is impossible to
accomplish in most cases that are encountered in practice. Thus, correct-
ness is established via mathematical proofs of programs. The proof uses
the formal specification of requirements and the program text to prove or
disprove that the program will behave as intended. While a mathematical
proof is precise, it too is subject to human errors. Even when the proof
is carried out by a computer, the simplification of requirements specifi-
cation and errors in tasks ...