Testing is the process of executing programs with the intention of finding errors.
“A good test is one that has a high probability of finding an, as yet, undiscovered error.”
In fact, a good program tester will try to make programs fail.
When considering the kind of tests to apply, a systematic approach should be used and test cases should be developed which will uncover common classes of errors. Never rely on intuition. The data collected during the testing should be kept as a means of demonstrating the correct operation of the program. This is important for future maintenance.