This extensively classroomtested text uses an innovative approach to explaining software testing and covers the latest techniques to test software such as OO web applications and embedded software. This new edition features vastly expanded coverage of the basics and the JUnit framework as well as many new examples and exercises.