Extreme Software Engineering: A Hands-On Approach can be used by professionals looking to learn eXtreme Programming (XP) or by students in a software engineering class. This book explains the practices and the methodology of XP and provides a sequence of tutorials for experimenting with some of the core practices. We present two of those tutorials as downloads.
The first download is Chapter 10, "Test First: Learning a New Way of Life." This tutorial uses Conway's Game of Life to illustrate the process of test-first development in an extended but simple example. Usually, when you start to write Life, you begin by thinking of the GUI -- you need to see whether a cell is alive or dead, and you click on a cell to change its state. With test-first development, the GUI remains thin and is added later.
The second download is Chapter 14, "Customer-Written Tests: Automating the Acceptance Process". This tutorial was written during the early days of the Fit framework. It takes you through an example of building a testing framework that allows the customer to write and run acceptance tests against your code. You get an understanding of how this contributes to a succesful developer/customer relationship.
Daniel W. Palmer is an associate professor at John Carroll University where
he has been teaching Software Engineering and Computer Science for eight
years.