Anybody who needs help with automating the testing and integration of their Java software can benefit from reading and using the tools and techniques presented in this book. Whilst the title includes eXtreme programming it is misleading to think that the material is only appropriate for those practising eXtreme programming. Really the book provides an excellent tutorial on open source tools for automating the testing and integration of Java software.
The book begins with an introduction to the twelve core practices of eXtreme programming followed by an overview of J2EE deployment concepts, in particular web application WAR files, Enterprise Bean JAR files and J2EE EAR files. The tools are introduced by way of a case study - an online pet store. All the example code can be downloaded from the book's web site. The first tool to receive cover is Ant, a build tool that enables the user to automate the build process. Importantly it is highlighted that Ant compliments IDEs rather than replacing them. The three chapters on Ant are excellent, introducing the basics and then building up to a full J2EE project, including servlets, JSPs and EJBs. Unit level testing using JUnit is the next subject covered. The features and facilities are covered and its integration with Ant detailed. Unit testing on Servlets and JSPs is undertaken using Cactus, which allows in-container testing to be performed. For functional testing of web based applications HttpUnit is detailed. Finally, performance testing for applications is discussed with JMeter and JUnitPerf. These are complimentary tools, which if used correctly allow potential bottlenecks to be highlighted early in the development process.
All the tools described in this book are freely available and of high quality. However, as is often the case the accompanying documentation is not so detailed or missing. This book provides such documentation and makes using these tools much easier. For anybody wanting to improve their build and testing processes I strongly recommend this book.