Code inspections are one of the most powerful tools for eliminating bugs. These inspections are useful, in part, because they tend to catch errors overlooked during testing. Code inspections are even more beneficial if reviewers look for specific mistakes -- in particular, those more easily found by reading code than testing it. This article presents a list of these types of programming mistakes that you can easily detect by inspecting your code. (2,000 words)
Automation is necessary for frequent and consistent testing, which is the foundation of agile development. However, acceptance tests of GUI applications are not always easy to automate. This article explains a simple way of automating Java Swing application acceptance tests, starting from Swing components' unit tests and extending them to acceptance tests without human intervention. (1,200 words; November 15, 2004)