Agile Testing: A Practical Guide for Testers and Agile Teams

Paperback
from $0.00

Author: Lisa Crispin

ISBN-10: 0321534468

ISBN-13: 9780321534460

Category: Programming Methodology

Search in google:

“As Agile methods have entered the mainstream, we’ve learned a lot about how the testing discipline fits into Agile projects. Lisa and Janet give us a solid look at what to do, and what to avoid, in Agile testing.”—Ron Jeffries, www.XProgramming.com“An excellent introduction to agile and how it affects the software test community!”—Gerard Meszaros, Agile Practice Lead and Chief Test Strategist at Solution Frameworks, Inc., an agile coaching and lean software development consultancy“In sports and music, people know the importance of practicing technique until it becomes a part of the way they do things. This book is about some of the most fundamental techniques in software development—how to build quality into code—techniques that should become second nature to every development team. The book provides both broad and in-depth coverage of how to move testing to the front of the development process, along with a liberal sprinkling of real-life examples that bring the book to life.”—Mary Poppendieck, Author of Lean Software Development and Implementing Lean Software Development“Refreshingly pragmatic. Chock-full of wisdom. Absent of dogma. This book is a gamechanger. Every software professional should read it.”—Uncle Bob Martin, Object Mentor, Inc.“With Agile Testing, Lisa and Janet have used their holistic sensibility of testing to describe a culture shift for testers and teams willing to elevate their test effectiveness. The combination of real-life project experiences and specific techniques provide an excellent way to learn and adapt tocontinually changing project needs.”—Adam Geras, M.Sc. Developer-Tester, Ideaca Knowledge Services“On Agile projects, everyone seems to ask, ‘But, what about testing?’ Is it the development team’s responsibility entirely, the testing team, or a collaborative effort between developers and testers? Or, ‘How much testing should we automate?’ Lisa and Janet have written a book that finally answers these types of questions and more! Whether you’re a tester, developer, or manager, you’ll learn many great examples and stories from the real-world work experiences they’ve shared in this excellent book.”—Paul Duvall, CTO of Stelligent and co-author of Continuous Integration: Improving Software Quality and Reducing Risk“Finally a book for testers on Agile teams that acknowledges there is not just one right way! Agile Testing provides comprehensive coverage of the issues testers face when they move to Agile: from tools and metrics to roles and process. Illustrated with numerous stories and examples from many contributors, it gives a clear picture of what successful Agile testers are doing today.”—Bret Pettichord, Chief Technical Officer of WatirCraft and Lead Developer of WatirTesting is a key component of agile development. The widespread adoption of agile methods has brought the need for effective testing into the limelight, and agile projects have transformed the role of testers. Much of a tester’s function, however, remains largely misunderstood. What is the true role of a tester? Do agile teams actually need members with QA backgrounds? What does it really mean to be an “agile tester?” Two of the industry’s most experienced agile testing practitioners and consultants, Lisa Crispin and Janet Gregory, have teamed up to bring you the definitive answers to these questions and many others. In Agile Testing, Crispin and Gregory define agile testing and illustrate the tester’s role with examples from real agile teams. They teach you how to use the agile testing quadrants to identify what testing is needed, who should do it, and what tools might help. The book chronicles an agile software development iteration from the viewpoint of a tester and explains the seven key success factors of agile testing.Readers will come away from this book understandingHow to get testers engaged in agile developmentWhere testers and QA managers fit on an agile teamWhat to look for when hiring an agile testerHow to transition from a traditional cycle to agile developmentHow to complete testing activities in short iterationsHow to use tests to successfully guide developmentHow to overcome barriers to test automationThis book is a must for agile testers, agile teams, their managers, and their customers.

Foreword by Mike Cohn    xxiiiForeword by Brian Marick    xxvPreface    xxviiAcknowledgments    xxxviiAbout the Authors    xliPart I: Introduction    1Chapter 1: What Is Agile Testing, Anyway?    3Agile Values 3What Do We Mean by “Agile Testing”? 4A Little Context for Roles and Activities on an Agile Team 7How Is Agile Testing Different? 9Whole-Team Approach 15Summary 17Chapter 2: Ten Principles for Agile Testers    19What’s an Agile Tester? 19The Agile Testing Mind-Set 20Applying Agile Principles and Values 21Adding Value 31Summary 33Part II: Organizational Challenges    35Chapter 3: Cultural Challenges    37Organizational Culture 37Barriers to Successful Agile Adoption by Test/QA Teams 44Introducing Change 49Management Expectations 52Change Doesn’t Come Easy 56Summary 58Chapter 4: Team Logistics    59Team Structure 59Physical Logistics 65Resources 66Building a Team 69Summary 71Chapter 5: Transitioning Typical Processes    73Seeking Lightweight Processes 73Metrics 74Defect Tracking 79Test Planning 86Existing Processes and Models 88Summary 93Part III: The Agile Testing Quadrants    95Chapter 6: The Purpose of Testing    97The Agile Testing Quadrants 97Knowing When a Story Is Done 104Managing Technical Debt 106Testing in Context 106Summary 108Chapter 7: Technology-FacingTests that Support the Team 109An Agile Testing Foundation 109Why Write and Execute These Tests? 112Where Do Technology-Facing Tests Stop? 119What If the Team Doesn’t Do These Tests? 121Toolkit 123Summary 127Chapter 8: Business-Facing Tests that Support the Team    129Driving Development with Business-Facing Tests 129The Requirements Quandary 132Thin Slices, Small Chunks 144How Do We Know We’re Done? 146Tests Mitigate Risk 147Testability and Automation 149Summary 150Chapter 9: Toolkit for Business-Facing Tests that Support the Team 153Business-Facing Test Tool Strategy 153Tools to Elicit Examples and Requirements 155Tools for Automating Tests Based on Examples 164Strategies for Writing Tests 177Testability 183Test Management 186Summary 186Chapter 10: Business-Facing Tests that Critique the Product    189Introduction to Quadrant 3 190Demonstrations 191Scenario Testing 192Exploratory Testing 195Usability Testing 202Behind the GUI 204Testing Documents and Documentation 207Tools to Assist with Exploratory Testing 210Summary 214Chapter 11: Critiquing the Product Using Technology-Facing Tests 217Introduction to Quadrant 4 217Who Does It? 220When Do You Do It? 222“ility” Testing 223Performance, Load, Stress, and Scalability Testing 233Summary 238Chapter 12: Summary of Testing Quadrants    241Review of the Testing Quadrants 241A System Test Example 242Tests Driving Development 244Automation 245Critiquing the Product with Business-Facing Tests 248Documentation 251Using the Agile Testing Quadrants 252Summary 253Part IV: Automation    255Chapter 13: Why We Want to Automate Tests and What Holds Us Back    257Why Automate? 258Barriers to Automation—Things that Get in the Way 264Can We Overcome These Barriers? 270Summary 271Chapter 14: An Agile Test Automation Strategy   273An Agile Approach to Test Automation 274What Can We Automate? 279What Shouldn’t We Automate? 285What Might Be Hard to Automate? 287Developing an Automation Strategy—Where Do We Start? 288Applying Agile Principles to Test Automation 298Supplying Data for Tests 304Evaluating Automation Tools 311Implementing Automation 316Managing Automated Tests 319Go Get Started 324Summary 324Part V: An Iteration in the Life of a Tester    327Chapter 15: Tester Activities in Release or Theme Planning    329The Purpose of Release Planning 330Sizing 332Prioritizing 338What’s in Scope? 340Test Planning 345Test Plan Alternatives 350Preparing for Visibility 354Summary 366Chapter 16: Hit the Ground Running 369Be Proactive 369Advance Clarity 373Examples 378Test Strategies 380Prioritize Defects 381Resources 381Summary 382Chapter 17: Iteration Kickoff    383Iteration Planning 383Testable Stories 393Collaborate with Customers 396High-Level Tests and Examples 397Summary 403Chapter 18: Coding and Testing    405Driving Development 406Tests that Critique the Product 412Collaborate with Programmers 413Talk to Customers 414Completing Testing Tasks 415Dealing with Bugs 416It’s All about Choices 419Facilitate Communication 429Regression Tests 432Resources 434Iteration Metrics 435Summary 440Chapter 19: Wrap Up the Iteration 443Iteration Demo 443Retrospectives 444Celebrate Successes 449Summary 451Chapter 20: Successful Delivery 453What Makes a Product? 453Planning Enough Time for Testing 455The End Game 456Customer Testing 464Post-Development Testing Cycles 467Deliverables 468Releasing the Product 470Customer Expectations 475Summary 476Part VI: Summary    479Chapter 21: Key Success Factors 481Success Factor 1: Use the Whole-Team Approach 482Success Factor 2: Adopt an Agile Testing Mind-Set 482Success Factor 3: Automate Regression Testing 484Success Factor 4: Provide and Obtain Feedback 484Success Factor 5: Build a Foundation of Core Practices 486Success Factor 6: Collaborate with Customers 489Success Factor 7: Look at the Big Picture 490Summary 491Glossary    493Bibliography    501Index    509