ABSTRACT

Assume that you are a software engineer. You know that as soon as you have finished the coding of a particular assignment, you will want to prove that it works right. However, there is a hidden fallacy in this mind-set. This is the right approach in the sense that this is a fairly factual representation of real life, but it is wrong if you expect testing to be a productive means of making the code more correct. The primary goal of testing is not the demonstration of the correctness of the software but, rather, the uncovering of as many defects within the software as possible. Just like death and taxes, there are defects in software.