I miss Java

I decided to finally download Java 5 tonight. I want to play with the new concurrency support. While I was downloading, I found a bunch of articles linked off of the pages. One thing that caught my eye was Jester.

Jester is a neat idea. You have a bunch of code and you have a bunch of unit tests. The unit tests check to make sure your code doesn’t have any bugs. But how do you know if your unit tests have bugs? How do you know if your unit tests adequately check for bugs in your code? I’ve used code coverage tools in the past (i.e. Clover) and they’re very cool for telling you whether or not your unit tests adequately cover your existing code. Jester takes things a step further. It actually takes your code and tweaks it in subtle ways, trying to create bugs. It then runs your unit tests and checks to see if your unit tests picked up on the bugs it introduced. If not, Jester concludes (sometimes incorrectly) that your unit tests have bugs.

Maybe it’s just me not paying enough attention, but I never hear about projects like that for other languages. Maybe I’m just more hooked into the Java world than I am with any other language, but it always seems to me like some of the coolest tools for creating quality projects are built for Java.

I’ll totally welcome being proven wrong on that last point.

Leave a Reply