It is important that your tests are as thorough as possible. An elegant way to make sure you are testing enough is to use a test coverage tool. There are several test coverage tools available, starting with the commercial Clover (www.cenqua.com/clover/), which offers truly amazing analysis of your code and tests. If you want to use open source alternatives, you can use jcoverage (www.jcoverage.com/downloads.html) or EMMA (http://emma.sourceforge.net/).
In general, test coverage tools work by adding another layer of code to your application and generally require you to modify the build procedure to include the test coverage tool instrumentation layer in the final binary. The test coverage tools are well outside the scope of this chapter, but we do encourage you to try at least one of them. You will be amazed (shocked) to see how much code goes untested.