CIS 2250 Lecture 20: Testing
Document Summary
Debugging and testing are not the the same thing! Testing only tells your program doesn"t work in certain scenarios. Testing is a systematic attempt to break a program. Bug-free programs by construction are the goal but not possible so we must test it! Testing is done when you think the program works -- to see if it doesn"t. Testing is often called verification and validation. Verification is to see if the program works. Validation is to see if the program meet the user"s/customer"s requirements. It is not unusual for developerings to spend 40% of the total project time on testing. For life-critical software (e. g. flight control, reactor monitoring), testing can cost 3 to 5 times as much as all other activities combined. Since testing is basically destructive in nature, it requires that the tester discard preconceived notions about the software being tested. When you test you don"t look at the code should do, but what the code is doing.