What is code quality exactly? You may not know how to define it, but you know it when you see it. One thing is sure, though, high code quality usually correlates to fewer defects. Ensuring the quality of your Java code is a two-step process: write tests at all levels, early and often; and continually monitor quality metrics. Andrew Glover brings his considerable expertise as a consultant focused on improving code quality to this moderated chat.
"Fuzz testing" (Elliotte Harold, developerWorks, September 2006): Use defensive coding techniques such as checksums, XML data storage, and code verification to harden your programs against random data.
"Testing object serialization" (Elliotte Harold, developerWorks, June 2006): Why you should be unit testing object serialization.
"Testing legacy code" (Elliotte Harold, developerWorks, April 2006): What to do when you stumble across legacy code that's never been tested.
"An early look at JUnit 4" (Elliotte Harold, developerWorks, September 2005): Obsessive code tester Elliotte Harold takes JUnit 4 out for a spin.
"Test your tests with Jester" (Elliotte Harold, developerWorks, March 2005): Learn about an open source JUnit test tester.
"Cover your code with Hansel and Gretel" (Dennis Sosnoski, developerWorks, February 2005): How complete are your unit tests? Use code coverage tools to find out!
Testing with leverage (Brian Goetz, developerWorks): This three-part series looks at how static analysis tools can change the way you manage software quality.
"Unit test your aspects" (Nicholas Liesecki, developerWorks, November 2005): A catalog of patterns for testing aspects.
"Multithreaded unit testing with Con Test" (Yarden Nir-Buchbinder and Shmuel Ur, developerWorks, April 2006): Check out this new solution to catching concurrent bugs.
testdriven.com: Techniques, tools, and general goodwill in the test-driven community.
"FindBugs, Part 1" (Chris Grindstaff, developerWorks, May 2004): Discusses how to integrate FindBugs into your development methodology and how to use custom bug detectors to enforce project-wide code standards.
Andrew Glover is president of Stelligent Incorporated, which helps companies address software quality with effective developer testing strategies and continuous integration techniques that enable teams to monitor code quality early and often. Visit Andy's blog for a list of his publications.