Testing Extreme Programming

by ;
Edition: 1st
Format: Paperback
Pub. Date: 2002-10-25
Publisher(s): Addison-Wesley Professional
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $41.99

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Testing is a cornerstone of XP, tests are written for every piece of code before it is programmed. This workbook helps testers learn XP, and XP devotees learn testing. This new book defines how an XP tester can optimally contribute to a project, including what testers should do, when they should do it, and how they should do it.

Author Biography

Lisa Crispin has more than ten years of experience testing Web applications, databases, 4GLs, middleware, and business applications. She first elbowed her way onto an XP team in July 2000. Lisa has published articles based on her XP testing experience in STQE Magazine, Novatica, and other technical journals. She has also presented technical papers and seminars on XP testing in the U.S. and Europe.

Tip House, a chief systems analyst at the OCLC Online Computer Library Center, has twenty-five years of experience in software development, testing, and quality assurance. Tip is a Certified Quality Analyst, Certified Software Quality Engineer, and trained Lead Ticket Auditor. He is the creator of numerous tools for test automation and software configuration, including the WebART tool, and is the author of numerous papers and presentations on software testing, software measurement, electronic document control/collaboration, and XP.



0321113551AB09262002

Table of Contents

Foreword xv
Preface xvii
Acknowledgments xix
Part I The XP Tester Role 1(38)
An Overview
3(8)
Introduction
3(1)
Overview of XP
4(2)
Communication
4(1)
Simplicity
5(1)
Feedback
5(1)
Courage
6(1)
How XP Solves Testing and Quality Assurance Problems
6(2)
System and Acceptance Testing Resources Wasted on Unit- and Integration-Level Bugs
7(1)
Missing and Out-of-Date Requirements
7(1)
Huge Gaps between the System and User Expectations
8(1)
Wolves in Sheep's Clothing
8(1)
Summary
9(2)
Why XP Teams Need Testers
11(6)
Definition of Tester
11(1)
The Tester's Contribution, Illustrated
12(2)
Shun the Dark Side
14(1)
Summary
15(2)
How XP Teams Benefit from Having Testers
17(6)
Checks and Balances
18(1)
Acceptance Tests versus Unit Tests
19(1)
Navigating for XP Projects
20(1)
Summary
21(2)
XP Testing Values
23(6)
Communication
24(1)
Simplicity
25(1)
Feedback
26(1)
Courage
27(1)
Summary
28(1)
Overview of the XP Tester Role
29(6)
XP Tester's Bill of Rights
31(1)
XP Tester Activities
32(1)
Summary
33(2)
Quality and XP
35(4)
Defining Quality
35(2)
Setting Quality Criteria
37(1)
Who Is Responsible for Quality?
37(1)
Summary
38(1)
Part II Test Drive through an XP Project 39(162)
User Stories and Release Planning
41(6)
The Tester's Role in Up-Front Activities
42(1)
Goals of Up-Front Tester Activities
43(2)
Summary
45(1)
Exercise 1
45(2)
Identifying Hidden Assumptions
47(8)
A Process for Finding Hidden Assumptions
47(6)
Example 1
49(4)
Summary
53(1)
Exercise 2
53(2)
Introducing the XTrack Application
53(2)
Defining High-Level Acceptance Tests
55(6)
Basic Acceptance Test Definitions
56(3)
Example 2
56(2)
Example 3
58(1)
Summary
59(1)
Exercise 3
60(1)
High-Level Acceptance Test Estimates
61(10)
Ways to Estimate Acceptance-Test Effort
63(5)
Quick-and-Dirty Approach
63(1)
Example 4
63(1)
A More Detailed Estimating Method
64(1)
Example 5
65(3)
Summary
68(1)
Exercise 4
69(2)
Enabling Accurate Estimates during Release Planning
71(6)
Why We Care about Estimates
71(1)
How You Can Improve Estimate Accuracy
72(2)
Summary
74(1)
Exercise 5
74(3)
Planning the First Iteration
77(6)
Overview of Iteration Planning
78(1)
The Tester's Role in Iteration Planning
78(3)
Thinking of All the Tasks
79(1)
Enhancing Communication
80(1)
Summary
81(1)
Exercise 6
82(1)
Defining and Estimating Testing and Test Infrastructure Tasks
83(10)
Identifying and Estimating Test Infrastructure Tasks
84(1)
Identifying and Estimating Functional and Acceptance Testing Tasks
85(2)
A Note on Separate Test Teams
87(5)
Example 6
88(1)
Test Infrastructure Tasks
89(1)
Acceptance Testing Tasks
90(2)
Summary
92(1)
Exercise 7
92(1)
Acceptance Tests and Quality
93(6)
Acceptance Test Details
94(1)
Internal and External Quality
95(1)
Summary
96(1)
Exercise 8
97(2)
Nailing Down the Details
99(10)
Picking the Customer's Brain (and the Programmers'!)
100(1)
The Good, the Bad, and the Ugly
101(3)
Example 7
102(2)
Optional Tests
104(1)
Getting Creative
105(1)
Lights-Out Test Design
105(1)
Summary
106(1)
Exercise 9
107(2)
Writing Acceptance Tests
109(10)
Executable Tests
110(3)
If You Have Trouble Getting Started
113(3)
Summary
116(1)
Exercise 10
116(3)
Organizing Acceptance Tests
119(6)
Version Control of Acceptance Tests
119(1)
Executable Test Files
120(1)
Organizing Acceptance Tests in Spreadsheets
121(2)
Summary
123(1)
Exercise 11
124(1)
Test Design and Refactoring
125(6)
Establishing the Initial System State
125(1)
Tests That Leave the System State Unchanged
126(2)
Coupling between Tests
128(1)
Summary
129(1)
Exercise 12
130(1)
Manual Tests
131(2)
Summary
131(1)
Exercise 13
131(2)
What!?!!
133(6)
Manual Tests Are Unreliable
134(1)
Manual Tests Undermine the XP Testing Practice
134(1)
Manual Tests Are Divisive
135(1)
The Wings-Fall-Off Button
135(1)
What If You Have Manual Tests?
136(1)
Summary
136(1)
Exercise 14
137(2)
Test Automation
139(8)
Modular Tests
141(1)
Data-Independent Tests
142(1)
Self-Verifying Tests
143(1)
Summary
144(1)
Exercise 15
145(2)
Making Executable Tests Run
147(10)
Linking the Executable Test to an Application Test Class
148(1)
Defining the Application Test Class
149(1)
Calling the Code to be Tested
150(1)
Running the Test
150(2)
Getting Additional Tests to Run
152(2)
Combining Multiple Tests into Test Suites
154(1)
Summary
155(1)
Exercise 16
156(1)
Running Executable Tests through Other Interfaces
157(12)
Code Missed by Direct Calls
158(1)
Expanding Coverage of the Executable Tests
158(1)
Interfacing to a Test Tool
159(1)
Creating an Application Test-Interface Class
160(1)
Refactoring the Direct-Call Interface
161(1)
Refactoring the Application Test Class
162(2)
Creating a Tool-Specific Interface Class
164(2)
One Team's Experience with Direct-Call Test Automation
166(1)
Summary
167(1)
Exercise 17
168(1)
Driving the System with a Test Tool
169(8)
WebART Overview
170(1)
Main WebART Script
170(1)
Login Module
171(2)
Validation Criteria
173(2)
Summary
175(1)
Exercise 18
176(1)
Bugs on the Windshield: Running Acceptance Tests
177(8)
How Often Do You Run Acceptance Tests?
177(3)
Educating the Customer
180(1)
Acceptance Criteria
181(1)
Defect Management
181(1)
Road Food for Thought
182(1)
Summary
183(1)
Exercise 19
183(2)
Looking Back for the Future
185(8)
Summary
191(1)
Exercise 20
192(1)
Keep On Truckin': Completing the XP Road Trip
193(8)
Regression Testing
194(1)
Catching Up
195(1)
Maintenance?
196(1)
The Release
196(1)
When XP Projects End
197(1)
Summary
198(1)
Exercise 21
199(2)
Part III Road Hazard Survival Kit 201(50)
Challenges in ``Testability''
203(4)
Designing for Testability
203(1)
A Real-Life Example
204(2)
Summary
206(1)
Exercise 22
206(1)
Selecting and Implementing Tools
207(8)
Evolving Tools
208(1)
Test Tools
208(1)
Other Tools Related to Quality
209(1)
Choosing an Off-the-Shelf Tool
210(1)
Implementing Tools
211(1)
Experimenting with Tools
211(2)
Summary
213(2)
Project Tune-Ups
215(10)
Office Space
215(1)
Accessorizing for XP
216(3)
Whiteboards
216(1)
Celebrating Successes
217(1)
Timer
218(1)
Wiki
218(1)
Metrics
219(2)
Test Environment
221(1)
Other Obvious Best Practices
222(1)
Additional Tester Duties
222(1)
Summary
222(3)
Introducing XP to Your Organization: A Tester's Point of View
225(10)
Test Phases and Practices
227(1)
Introducing People to the XP Tester Role
228(1)
Helping XP Testers Succeed
228(1)
XP Testing with Blended Practices
229(3)
What If You Don't Have Enough Testers?
232(1)
Summary
233(2)
XP for Projects of Unusual Size
235(6)
Adjusting XP
235(1)
Advance Planning Pays Off
236(1)
Working with Customers
237(1)
Satisfying Customer Test Documentation Requirements
238(1)
Iteration Planning and Execution for Large or Multilocation Projects
239(1)
Summary
240(1)
Extreme Testing without Extreme Programming
241(8)
Gathering Requirements
242(1)
System Design
243(1)
Planning and Defining Tests
243(1)
Running Tests
244(1)
Retrospectives
245(1)
Let Worry Be Your Guide
246(1)
Summary
247(2)
In Closing: May the Road Rise Up to Meet You
249(2)
Answers to Exercises 251(36)
Bibliography 287(4)
Afterword 291(2)
Index 293

Excerpts

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 wrote it because we think XP is a better way to develop software and that more teams should use it. We believe 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 a tester has a valid role on the team Convince testing and quality assurance professionals that XP offers solutions to some of their worst problems Convince both groups that testers are needed just as much 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're an XP newbie or veteran, tester, programmer, guide, customer, or manager We hope that if you're not currently using XP, you can influence your 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. We list several excellent books on the subject in the bibliography, and a wealth of information is available on the Web. The book is divided into three major sections: 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's in it for the tester, and generally why XP needs a tester role. Part II: Test Drive through an XP Project Here we navigate 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 to the ideal XP project: large projects, for instance, where an XP team is embedded in a larger, non-XP effort or when critical XP practices are modified or omitted. We've tried to keep things as practical as possible and have provided real-life examples. We've also included exercises, so you can try the ideas out for yourself. The exercises are built around an XP project to develop a simple Web-based tracking application. We provide portions of the application at various stages for you to practice on. We think you'll find this book helpful if you're already a member of an XP team, if you're a testing/quality assurance professional, or if you're in any software development role and are considering XP. Lisa Crispin Tip House June 2002 0321113551P10072002

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.