We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process
A good test case is a test case that has a high probability of detecting an undiscovered error, not a test case that show that the program works correctly.