TestingSoftware
From Ohmpedia
Writing tests for your software helps you be more confident that the software is behaving as it should, and allows you to pinpoint problems when it isn't. It also encourages you to write your software in a more modular way (in the case of unit testing, in particular).
Testing frameworks
Java
JUnit cannot be left unmentioned! JUnit isn't thread safe, so concurrent running of a test class in different threads can cause woe, unless you use something like GroboUtils which allows multithreaded testing. If you're testing web sites or services, HttpUnit is a handy simple tool.
