Testing
A program should be executed multiple times with various input in an attempt to find errors
Debugging is the process of discovering the cause of a problem and fixing it
Programmers often erroneously think that there is "only one more bug" to fix
Tests should focus on design details as well as overall requirements