We've spent ten years developing a highly-successful artificial intelligence system used in pathology labs around the world. As a very small team, one of the keys to our succes has been our hard-core approach to testing. Basically, we have automated tests for all aspects of the software, including user interfaces, databases, the RMI system, the Help facility, the user messages, the email sub-system, the export to Excel and PDF functions, and so on. Our automated tests are at the module level (unit tests) and at the complete application level (function tests).
In getting to the stage of having everything automatically tested, we've had to develop a lot of techniques. Now we've written a book: Swing Extreme Testing.
This is not your typical, simplistic testing book. We start where the other books leave off. If you've ever wondered how to write an automated swing test, look no further. If you want to know how to write multi-JVM function tests, this is the book for you. If you find Robot unwieldy, you'll love our Cyborg.