SPECIAL OFFERS
Keep up with new releases and promotions. Sign up to hear from us.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
A Comprehensive Collection of Agile Testing Best Practices: Two Definitive Guides from Leading Pioneers
Janet Gregory and Lisa Crispin haven’t just pioneered agile testing, they have also written two of the field’s most valuable guidebooks. Now, you can get both guides in one indispensable eBook collection: today’s must-have resource for all agile testers, teams, managers, and customers. Combining comprehensive best practices and wisdom contained in these two titles, The Agile Testing Collection will help you adapt agile testing to your environment, systematically improve your skills and processes, and strengthen engagement across your entire development team.
The first title, Agile Testing: A Practical Guide for Testers and Agile Teams, defines the agile testing discipline and roles, and helps you choose, organize, and use the tools that will help you the most. Writing from the tester’s viewpoint, Gregory and Crispin chronicle an entire agile software development iteration, and identify and explain seven key success factors of agile testing.
The second title, More Agile Testing: Learning Journeys for the Whole Team, addresses crucial emerging issues, shares evolved practices, and covers key issues that delivery teams want to learn more about. It offers powerful new insights into continuous improvement, scaling agile testing across teams and the enterprise, overcoming pitfalls of automation, testing in regulated environments, integrating DevOps practices, and testing mobile/embedded and business intelligence systems.
The Agile Testing Collection will help you do all this and much more.
Both guides in this collection are thoroughly grounded in the authors’ extensive experience, and supported by examples from actual projects. Now, with both books integrated into a single, easily searchable, and cross-linked eBook, you can learn from their experience even more easily.
Agile Testing: A Practical Guide for Testers and Agile Teams
Note from the Publisher iiA
Foreword by Mike Cohn xxxvA
Foreword by Brian Marick xxxviiA
Preface xviiiiA
Acknowledgments xlixA
About the Authors liiiA
Part I: Introduction 1A
Chapter 1: What Is Agile Testing, Anyway? 3A
Agile Values 3A
What Do We Mean by “Agile Testing”? 4A
A Little Context for Roles and Activities on an Agile Team 7A
How Is Agile Testing Different? 9A
Whole-Team Approach 15A
Summary 17A
Chapter 2: Ten Principles for Agile Testers 19A
What’s an Agile Tester? 19A
The Agile Testing Mind-Set 20A
Applying Agile Principles and Values 21A
Adding Value 31A
Summary 33A
Part II: Organizational Challenges 35A
Chapter 3: Cultural Challenges 37A
Organizational Culture 37A
Barriers to Successful Agile Adoption by Test/QA Teams 44A
Introducing Change 49A
Management Expectations 52A
Change Doesn’t Come Easy 56A
Summary 58A
Chapter 4: Team Logistics 59A
Team Structure 59A
Physical Logistics 65A
Resources 66A
Building a Team 69A
Summary 71A
Chapter 5: Transitioning Typical Processes 73A
Seeking Lightweight Processes 73A
Metrics 74A
Defect Tracking 79A
Test Planning 86A
Existing Processes and Models 88A
Summary 93A
Part III: The Agile Testing Quadrants 95A
Chapter 6: The Purpose of Testing 97A
The Agile Testing Quadrants 97A
Knowing When a Story Is Done 104A
Managing Technical Debt 106A
Testing in Context 106A
Summary 108A
Chapter 7: Technology-Facing Tests that Support the Team 109A
An Agile Testing Foundation 109A
Why Write and Execute These Tests? 112A
Where Do Technology-Facing Tests Stop? 119A
What If the Team Doesn’t Do These Tests? 121A
Toolkit 123A
Summary 127A
Chapter 8: Business-Facing Tests that Support the Team 129A
Driving Development with Business-Facing Tests 129A
The Requirements Quandary 132A
Thin Slices, Small Chunks 144A
How Do We Know We’re Done? 146A
Tests Mitigate Risk 147A
Testability and Automation 149A
Summary 150A
Chapter 9: Toolkit for Business-Facing Tests that Support the Team 153A
Business-Facing Test Tool Strategy 153A
Tools to Elicit Examples and Requirements 155A
Tools for Automating Tests Based on Examples 164A
Strategies for Writing Tests 177A
Testability 183A
Test Management 186A
Summary 186A
Chapter 10: Business-Facing Tests that Critique the Product 189A
Introduction to Quadrant 3 190A
Demonstrations 191A
Scenario Testing 192A
Exploratory Testing 195A
Usability Testing 202A
Behind the GUI 204A
Testing Documents and Documentation 207A
Tools to Assist with Exploratory Testing 210A
Summary 214A
Chapter 11: Critiquing the Product Using Technology-Facing Tests 217A
Introduction to Quadrant 4 217A
Who Does It? 220A
When Do You Do It? 222A
“ility” Testing 223A
Performance, Load, Stress, and Scalability Testing 233A
Summary 238A
Chapter 12: Summary of Testing Quadrants 241A
Review of the Testing Quadrants 241A
A System Test Example 242A
Tests Driving Development 244A
Automation 245A
Critiquing the Product with Business-Facing Tests 248A
Documentation 251A
Using the Agile Testing Quadrants 252A
Summary 253A
Part IV: Automation 255A
Chapter 13: Why We Want to Automate Tests and What Holds Us Back 257A
Why Automate? 258A
Barriers to Automation–Things that Get in the Way 264A
Can We Overcome These Barriers? 270A
Summary 271A
Chapter 14: An Agile Test Automation Strategy 273A
An Agile Approach to Test Automation 274A
What Can We Automate? 279A
What Shouldn’t We Automate? 285A
What Might Be Hard to Automate? 287A
Developing an Automation Strategy–Where Do We Start? 288A
Applying Agile Principles to Test Automation 298A
Supplying Data for Tests 304A
Evaluating Automation Tools 311A
Implementing Automation 316A
Managing Automated Tests 319A
Go Get Started 324A
Summary 324A
Part V: An Iteration in the Life of a Tester 327A
Chapter 15: Tester Activities in Release or Theme Planning 329A
The Purpose of Release Planning 330A
Sizing 332A
Prioritizing 338A
What’s in Scope? 340A
Test Planning 345A
Test Plan Alternatives 350A
Preparing for Visibility 354A
Summary 366A
Chapter 16: Hit the Ground Running 369A
Be Proactive 369A
Advance Clarity 373A
Examples 378A
Test Strategies 380A
Prioritize Defects 381A
Resources 381A
Summary 382A
Chapter 17: Iteration Kickoff 383A
Iteration Planning 383A
Testable Stories 393A
Collaborate with Customers 396A
High-Level Tests and Examples 397A
Summary 403A
Chapter 18: Coding and Testing 405A
Driving Development 406A
Tests that Critique the Product 412A
Collaborate with Programmers 413A
Talk to Customers 414A
Completing Testing Tasks 415A
Dealing with Bugs 416A
It’s All about Choices 419A
Facilitate Communication 429A
Regression Tests 432A
Resources 434A
Iteration Metrics 435A
Summary 440A
Chapter 19: Wrap Up the Iteration 443A
Iteration Demo 443A
Retrospectives 444A
Celebrate Successes 449A
Summary 451A
Chapter 20: Successful Delivery 453A
What Makes a Product? 453A
Planning Enough Time for Testing 455A
The End Game 456A
Customer Testing 464A
Post-Development Testing Cycles 467A
Deliverables 468A
Releasing the Product 470A
Customer Expectations 475A
Summary 476A
Part VI: Summary 479A
Chapter 21: Key Success Factors 481A
Success Factor 1: Use the Whole-Team Approach 482A
Success Factor 2: Adopt an Agile Testing Mind-Set 482A
Success Factor 3: Automate Regression Testing 484A
Success Factor 4: Provide and Obtain Feedback 484A
Success Factor 5: Build a Foundation of Core Practices 486A
Success Factor 6: Collaborate with Customers 489A
Success Factor 7: Look at the Big Picture 490A
Summary 491A
Glossary 493A
Bibliography 501A
Index 509A
More Agile Testing: Learning Journeys for the Whole Team
Foreword by Elisabeth Hendrickson ixB
Foreword by Johanna Rothman xiB
Preface xiiiB
Acknowledgments xxiB
About the Authors xxvB
About the Contributors xxviiB
Part I: Introduction 1B
Chapter 1: How Agile Testing Has Evolved 3B
Summary 6B
Chapter 2: The Importance of Organizational Culture 7B
Investing Time 8B
The Importance of a Learning Culture 12B
Fostering a Learning Culture 13B
Transparency and Feedback Loops 15B
Educating the Organization 17B
Managing Testers 19B
Summary 20B
Part II: Learning for Better Testing 21B
Chapter 3: Roles and Competencies 23B
Competencies versus Roles 24B
T-Shaped Skill Set 28B
Generalizing Specialists 33B
Hiring the Right People 36B
Onboarding Testers 37B
Summary 39B
Chapter 4: Thinking Skills for Testing 41B
Facilitating 42B
Solving Problems 43B
Giving and Receiving Feedback 45B
Learning the Business Domain 46B
Coaching and Listening Skills 48B
Thinking Differently 49B
Organizing 51B
Collaborating 52B
Summary 53B
Chapter 5: Technical Awareness 55B
Guiding Development with Examples 55B
Automation and Coding Skills 56B
General Technical Skills 59B
Development Environments 59B
Test Environments 60B
Continuous Integration and Source Code Control Systems 62B
Testing Quality Attributes 65B
Test Design Techniques 67B
Summary 67B
Chapter 6: How to Learn 69B
Learning Styles 69B
Learning Resources 72B
Time for Learning 77B
Helping Others Learn 79B
Summary 83B
Part III: Planning–So You Don’t Forget the Big Picture 85B
Chapter 7: Levels of Precision for Planning 87B
Different Points of View 87B
Planning for Regression Testing 97B
Visualize What You Are Testing 98B
Summary 100B
Chapter 8: Using Models to Help Plan 101B
Agile Testing Quadrants 101B
Challenging the Quadrants 108B
Using Other Influences for Planning 113B
Planning for Test Automation 115B
Summary 116B
Part IV: Testing Business Value 119B
Chapter 9: Are We Building the Right Thing? 121B
Start with “Why” 121B
Tools for Customer Engagement 123B
More Tools or Techniques for Exploring Early 134B
Invest to Build the Right Thing 134B
Summary 135B
Chapter 10: The Expanding Tester’s Mindset: Is This My Job? 137B
Whose Job Is This Anyway? 137B
Take the Initiative 142B
Summary 144B
Chapter 11: Getting Examples 145B
The Power of Using Examples 145B
Guiding Development with Examples 148B
Where to Get Examples 155B
Benefits of Using Examples 157B
Potential Pitfalls of Using Examples 159B
The Mechanics of Using Examples to Guide Coding 162B
Summary 162B
Part V: Investigative Testing 163B
Chapter 12: Exploratory Testing 165B
Creating Test Charters 168B
Generating Test Charter Ideas 171B
Managing Test Charters 176B
Exploring in Groups 183B
Recording Results for Exploratory Test Sessions 185B
Where Exploratory Testing Fits into Agile Testing 188B
Summary 190B
Chapter 13: Other Types of Testing 191B
So Many Testing Needs 192B
Concurrency Testing 194B
Internationalization and Localization 195B
Regression Testing Challenges 200B
User Acceptance Testing 201B
A/B Testing 203B
User Experience Testing 205B
Summary 207B
Part VI: Test Automation 209B
Chapter 14: Technical Debt in Testing 211B
Make It Visible 212B
Work on the Biggest Problem–and Get the Whole Team Involved 217B
Summary 220B
Chapter 15: Pyramids of Automation 223B
The Original Pyramid 223B
Alternate Forms of the Pyramid 224B
The Dangers of Putting Off Test Automation 227B
Using the Pyramid to Show Different Dimensions 231B
Summary 235B
Chapter 16: Test Automation Design Patterns and Approaches 237B
Involve the Whole Team 238B
Starting Off Right 239B
Design Principles and Patterns 240B
Test Maintenance 248B
Summary 251B
Chapter 17: Selecting Test Automation Solutions 253B
Solutions for Teams in Transition 253B
Meeting New Automation Challenges with the Whole Team 258B
Achieving Team Consensus for Automation Solutions 260B
How Much Automation Is Enough? 262B
Collaborative Solutions for Choosing Tools 264B
Scaling Automation to Large Organizations 264B
Other Automation Considerations 268B
Summary 269B
Part VII: What Is Your Context? 271B
Chapter 18: Agile Testing in the Enterprise 275B
What Do We Mean by “Enterprise”? 275B
“Scaling” Agile Testing 276B
Coordinating Multiple Teams 283B
Consistent Tooling 289B
Managing Dependencies 292B
Advantages of Reaching Out beyond the Delivery Team 296B
Summary 297B
Chapter 19: Agile Testing on Distributed Teams 299B
Why Not Colocate? 301B
Common Challenges 302B
Strategies for Coping 308B
Offshore Testing 312B
Tool Ideas for Distributed Teams 319B
Summary 322B
Chapter 20: Agile Testing for Mobile and Embedded Systems 325B
Similar, Yet Different 326B
Testing Is Critical 328B
Agile Approaches 329B
Summary 337B
Chapter 21: Agile Testing in Regulated Environments 339B
The “Lack of Documentation” Myth 339B
Agile and Compliance 340B
Summary 346B
Chapter 22: Agile Testing for Data Warehouses and Business Intelligence Systems 347B
What Is Unique about Testing BI/DW? 348B
Using Agile Principles 351B
Data–the Critical Asset 352B
Big Data 357B
Summary 360B
Chapter 23: Testing and DevOps 361B
A Short Introduction to DevOps 361B
DevOps and Quality 363B
How Testers Add DevOps Value 371B
Summary 376B
Part VIII: Agile Testing in Practice 379B
Chapter 24: Visualize Your Testing 381B
Communicating the Importance of Testing 381B
Visualize for Continuous Improvement 386B
Visibility into Tests and Test Results 390B
Summary 392B
Chapter 25: Putting It All Together 393B
Confidence-Building Practices 394B
Create a Shared Vision 402B
Summary 405B
Appendix A: Page Objects in Practice: Examples 407B
An Example with Selenium 2–WebDriver 407B
Using the PageFactory Class 410B
Appendix B: Provocation Starters 413B
Glossary 415B
References 423B
Bibliography 435B
Index 459B