This tutorial describes techniques for implementing the Extreme Programming practices of automated testing and continuous integration using open source tools. Let’s unpack that statement. Automated testing and continuous integration are two of the twelve core practices of the Extreme Programming (XP) software development methodology. Extreme Programming is a lightweight software development process that focuses on feedback, communication, simplicity, and courage. The full XP process is summarized in ; suffice it to say for now that it consists of common-sense development practices practiced religiously and in concert.

Two of these common-sense practices are testing and frequent integration. Almost no software development shop would consider leaving these steps out of its process entirely—after all, a system has to be integrated to ship, and it must be tested to ensure that the customers accept the shipment. Thanks to the dot-com shakeout, most of the shops that did skip these practices are now out of business. Still, many software companies either struggle with implementing these processes, or acknowledge that they should be done but claim that “things are just too busy right now” to do them. This tutorial explains and demonstrates the use of software tools to help put these valuable practices into place.