During Design, we walk through the class interfaces, their protocols, and patterns of collaboration to ensure that the design can sufficiently and completely realize the domain model. During coding, we conduct peer inspections of code. Every line of code is read, understood and verified by at least one other developer and the technical lead of the team. The code is hand executed for correctness and checked for consistency, clarity, reusability, and maintainability. Unit Testing Unit testing is the lowest level of code testing.
Individual developers are responsible for testing their classes and methods.
The developer builds a set of scripts and programs that act as the driver for the class being tested. Test drivers are not part of the final version of the system. However, once written, they can be used to retest the program whenever it changes. A good collection of reusable drivers is a powerful testing tool. The next higher level of code testing is subsystem testing.