Testing Extreme Programming

From the Book: This is a book about being a tester on an Extreme Programming (XP) team. It plugs a gap in the currently available XP materials by defining how an XP tester can contribute to the project, including what testers should do, when they should do it, and how they should do it. We are writing it because we think that XP is a better way to develop software and should be used by more teams. We believe that an acknowledged place in XP teams for testing and quality assurance will help bring that about. Our goals in this book are to: Convince current XP practitioners that there is a valid role for a tester on the team Convince testing and quality assurance professionals that XP offers solutions to some of their worst problems Convince both groups that the testers are needed just as much as in an XP project as in a traditional development project Provide enough detail and practical example to allow you to either perform the XP tester role yourself or work productively with a tester on your team, whether you are an XP newbie or veteran, tester, programmer, guide, customer, or manager We hope that if you are not currently using XP, that you can influence your own organization to try it. Even if your team uses some other process for software development, we think you can apply "extreme testing" practices to add value. Because not everyone will be familiar with XP, we provide an overview of the basic concepts in the introduction, and describe a few aspects in more detail as necessary throughout the text. But this will be a bare-bones summary, at best, and there are several excellent books on the subject, as well as a wealth ofinformation on the Web. The book is divided into three major parts: Part I - The XP Tester Role This is where we define what we think the tester role is (and is not), how a project will benefit from it, what is in it for the tester, and generally why XP needs a tester role. Part II - The XP Test Drive Here we go through an XP project step by step and suggest what goals to shoot for, which activities to engage in, and helpful techniques to try as a tester on an XP project. Part III - Road Hazard Survival Kit Finally we provide some resources to help you cope when the real world doesn't conform exactly to the ideal XP project. Large projects, for instance, where an XP team is imbedded in a larger, non-XP effort, or when critical XP practices are modified or omitted. We've tried to keep the things as practical as possible, and provided real-life examples as well as exercises for you to try it out for yourself. The exercises are built around an XP project to develop a simple web-based tracking application, and we provide portions of the application at various stages for you to practice on. We think you will find this book helpful if you are already a member of an XP team, or if you are a testing/quality assurance professional, or if you are in any software development role and considering XP.