Principle 7: Avoid throwaway test cases unless the program is truly a throwaway program.
This problem is seen most often with interactive systems to test program.
A common practice is to sit at a terminal and invent test cases on the fly, and then send these test cases through the program. The major issue is that test cases represent
a valuable investment that, in this environment, disappears after the testing has been completed.
Whenever the program has to be tested again (e.g., after correcting an error or making an improvement), the test cases must be reinvented. More often than not, since this reinvention requires a considerable amount of work, people tend to avoid it. Therefore, the retest of the program is rarely as rigorous as the original test, meaning that if the modification causes a previously functional part often goes undetected. Saving test cases and running them again after changes to other components of the program is known as regression testing.
Principle 8: Do not plan a testing effort under the tacit assumption that no errors will be found.
This is a mistake project managers often make and is a sign of the use of the incorrect definition of testing-that is, the assumption that testing is the process of showing that the program functions correctly. Once again, the definition of testing is the process of executing a program with the intent of finding errors. And it should be obvious from our previous discussions that it is impossible to develop a program that is completely error free. Even after extensive testing and error correction, it is safe to assume that errors still exist; they simply have not yet been found.