Last updated : 01/10/2002; 18:20:47

Joe's Jelly

Joe Walnes rambling on and on about Software Development, Java and Extreme Programming.

NAVIGATION >>

/WIKI /WEBLOG /THOUGHTWORKS /OPENSYMPHONY /EMAIL

:: ELSEWHERE
xp developer wiki
c2 xp wiki
the server side
javaworld
sd magazine
jakarta

:: BLOGS
Mike Cannon-Brookes
Graham Glass
Paul Hammant
Elliotte Rusty Harold
Darren Hobbs
Patrick Lightbody
Charles Miller
Brett Morgan
Rickard Öberg
Mike Roberts
Sam Ruby
Joel Spolsky
James Strachan
Clemens Vasters

:: INVOLVEMENTS
SiteMesh
QDox
MockDoclet
OSCore
OSUser
PropertySet
RichTags
Marathon
SiteMesh C++
Alt-RMI
Jelly MockTags
more...
:: BACKLOGS
September 2002
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
Aug   Oct



Click here to visit the Radio UserLand website.

:. 13 September 2002

  8:25:01 PM  

I am quickly running out of super smart friends without blogs. Eugene Belyaev (of IDEA fame) is the latest to take up the challenge with Begblog, and just like Rickard he has come out of the blocks on fire.

Another blog to aggregate and watch. I'm expecting great things. Eugene is from the same mold as Graham and Rickard - wickedly smart people who don't think in a straight line and leave everyone else running after them.

[rebelutionary]

And another scary mind....


  8:17:25 PM  

Mutant Jesters

There are many tools that can increase your visibility of unit-tests - coverage tools such as Clover can show you uncovered parts of your code or execution paths that are never followed. This makes it very easy to expand your test coverage.

But that's not all...

Jester is a code mutation tool by Ivan Moore that can show you much more than this - how effective your tests are rather than just how well covered your code is. An automated test tester.

One of the rules of test driven development is that any line of code in your system that isn't there to make a test pass is redundant - get rid of it! Jester helps you enforce this by mutating your code. It's pretty simple - if it can change a line of source code, rerun the tests and they still pass, it's redundant code. This is reflected in a nice little HTML report.

It's easy to write a test that executes an entire chunk of code and pleases a coverage tool - however there's no point if it isn't actually testing all the results and interactions. Read Ivan's paper for a more in depth discussion on the topic. This can be used to either find out your testing weaknesses or identify useless code.

So, once you think your code has pretty good test coverage, try testing how effective your tests actually are. It's very eye-opening.

Jester should be in the core distribution of Maven, methinks :)


Web-design by John Doe from open source web design.