I gave a talk at pycon 2008 dealing with testing, code coverage, complexity and how to know when you are "done" testing. Though the talk was given at a Python conference, and the examples are in python, the talk is actually a general discussion of developer testing methodology, so it applies to Java, ruby, .... [insert you're favorite programming language]. My slides have been up for a while. Now the video has been posted up to youtube. If you've ever wondered what coverage is actually good for, watch the video. Here's a hint:
.
I'm still pining for python coverage at a finer than line level granularity....