There are many ways to verify a program’s design. Some of these methods, like testing, can be automated, while others cannot. For large and complex programs, even the most time-consuming of the labor-intensive methods is much faster and more effective than testing. This chapter explains why this is true and describes some of the more effective methods for verifying the correctness of your programs.
Although it may seem pointless to verify the design of each small PSP exercise, you should use these methods as often as you can. This will give you the experience needed to use the methods on larger and more complex programs, and it will help you to build the skills required to properly use the methods when you need them.