
You may want to print this on a separate page, so here it is .
Test is the most important thing on the model, so it has the thick line. The rest of the design flows out from Test. Note the small number of methods in Test, making it conceptually light and more flexible. This was achieved by the use of delegates, which are TestInfo and TestContext.
Note the encapsulation of test designer decisions in the form of information and policy, in TestInfo and ExceptionPolicy. Rather than build specific behavior into Jester we allow the test designer to decide that sort of thing for themself. This provides extreme flexibility, and so Jester won't fizzle out as you scale up the size and complxity of your test suites.
The rest of the model mostly speaks for itself. We are using colors to signify class archetypes, as expoused by Peter Coad in the book Java Modeling in Color with UML. This is pretty useful, but we have just started using color and are still novices.