[Webtest] 100% test coverage

Dierk Koenig webtest@lists.canoo.com
Tue, 29 Jul 2003 17:40:33 +0200


I'm happy to announce that Canoo WebTest is now covered 100% by its
You can explore this under

The coverage is achieved by a combination of unit tests and
functional selftests. No manual test is involved.

There are a few classes that were excluded from the statistics.
These are classes that I do not expect to be covered 100%:
- The selftest dummy webapp
  is very likely also covered 100% but I haven't found an
  easy way to sneak in the report.
- The httpunit package
  is only a playground without any functional purpose.
- The security package
  contains wrappers around the JDK JSSE implementation.
  I just didn't take the challenge to test this, yet.
  Any help is appreciated.
- The "Throw" class in the "self" package
  is a weird thing. It encapsulates the testing of
  exception handling. Testing its error scenarios is
  fairly complicated as would involve tweaking JUnit.
- Append.java
  should actually be removed from WebTest as it does
  not belong there.(Tool-Task for testing XSLT with WebTest)
- AllTests
  to allow uncovered points of starting TestSuite execution.

I deliberately included the JUnit test classes.
That helped me finding tests that were not included in any
suite and test-methods that re-named in order to suppress
their execution (like "testMe()" to "_testMe()").

Overall, the exercise took some time but was not too
complicated. Seeing the green bar growing was a good
During the exercise, it appeared to me that untested code
is very likely to be duplicated or even multiplied.
Especially centralizing the error handling improved both,
coverage and code appearance.
Re-visiting the code for coverage purposes certainly
improved the codebase.

Finally, I'd like to emphasize that 100% test coverage has
nothing to with "code complete" and certainly not "error-free".


Dierk Koenig
Canoo Engineering AG
Kirschgartenstrasse 7
CH-4051 Basel
Tel +41 61 228 9444
Fax +41 61 228 9449

ULC - Grant your Servlets a Swing Look&Feel