Tuesday, March 08, 2005

Watching the Watchers

Test your tests with Jester "Any statements that are not executed at least once are not being tested.

This approach, taken by tools like Clover and EMMA (see Resources), is valuable for finding untested statements -- but it's not enough. Knowing that a statement isn't executed by the test suite proves that it isn't being tested. However, the inverse is not true. If a line of code is executed, it doesn't necessarily follow that it's tested. It's entirely possible that the test doesn't check whether the line of code produces the correct result."

"Because Jester recompiles the code base and reruns the test suite for each change it makes, it runs orders of magnitude more slowly than more traditional tools like Clover. It's therefore important to pay some attention to performance. You can use a number of techniques to speed up Jester runs."

A list of useful OS tools from Thoughtworks (who have contributed to Jester) is: ThoughtWorks Open Source Java.

No comments: