Book review: Testing Extreme Programming by Lisa Crispin and Tip House

Testing Extreme Programming is part of the Addison-Wesley XP series of books. The most
well known book in this series is probably Extreme Programming Explained: Embrace
Change, by Kent Beck. Since one of the frustrating things about being a QA engineer or
software tester on an agile or XP project is that there is hardly mention of the role of QA or
the place of the tester in most XP literature, I decided to read this book.
If you do not know much about the tenets of XP, this is briefly explained in the beginning of
the book, from a tester's point of view. There is no prerequisite to read Extreme
Programming Explained. The first part of the book gives an overview of XP: communication,
simplicity, feedback, and courage. Then it goes more in depth about the role of the tester in
an XP project and why XP projects need testers. In examining unit testing versus
acceptance testing, the authors propose that acceptance tests are not as easy for
developers to write as it breaks from their natural workflow. Since this book was written in
2002, this obviously predates Fit for Developing Software: Framework for Integrated Tests
by Rick Mugridge and Ward Cunningham. But I do think that, in my experience, developers
do not have the same testing focus as a dedicated tester, so, in general, I agree with the
authors.
The second part of the book takes the reader on a test drive of an XP project. The authors
start the road trip with the release planning and iteration planning phases and explain how
the tester can facilitate. Giving real-world examples, I believe their ideas and suggestions
can be very helpful, especially to the tester who has never worked with XP. The authors
then go into great detail describing how acceptance tests should be developed and
automated. Using JUnit as an example, the authors show how to quickly automate
acceptance tests. Here the authors make the assertion that Java is easy to write. I'm sure
this is just to encourage the tester to dive in, but if the tester is technically weak, I'm not
sure that the examples would be easily digested. A technically weak tester would need to
pair with a developer to overcome this. But overall, the presentation is good.
The last section of the book explains how to use these ideas in less than ideal XP situations.
Ideas are given for collaborating and communicating in large or distributed environments
that are very helpful. Also, the authors conclude that you can use these ideas to gradually
ease a project into XP, or even just for the test organization on a waterfall project.
One slight nag I have about this book is that the example project that is given in the book is
a web application called XTrack (similar to XPlanner) at xptester.org. The xptester.org
website is now defunct, but it would have been neat to actually view the website while
reading the book. Also Brian Marick's old testing.com website is referenced (this is now
exampler.com). But such is the danger of print. It would be great if there was a second
edition, but it looks like Lisa Crispin has moved on to co-authoring another book.
In reading this book, I have made notes of concepts that I would like to explore in the
future and hopefully apply to my day-to-day work. Overall, I'd recommend this book to both
new and experienced testers. I rate this book 9 out of 10.
In Untagged
Comment (0)
Read More...