Forestall the first wave of beta test reports in most betas, you'll get plenty of suggestions on how to improve the user interface or the feature set of the program by being highly conscious of the user during the design process, by reviewing functional specifications and prototypes carefully, and by performing usability testing on your product long before the beta ships. Programmers are sometimes resistant to participating in code review. However, review is used by all other forms of engineering. No-one would consider working alone to build a bridge, and no engineering company would permit it. Development managers should make sure that the reviews are conducted by the development team with the goal of finding defects , not with finding fault .
Code review is also a very inexpensive way to for developers to teach and to learn.
Automated tools, such as Lint and BoundsChecker can find subtle problems, improving quality while saving enormous amounts of time. Remember also that testing alone tells your neither about the cause of the problem nor where to find it in the code. Unless you choose to look for it, a defect such as a null pointer or a memory leak can easily lie submerged until the product ships to paying customers. A product's installation program is often written by a junior programmer with relatively little supervision. However, the installation program is critical to assuring a good beta test.