HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This 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.
Janet Gregory and Lisa Crispin pioneered the agile testing discipline with their previous work, Agile Testing. Now, in More Agile Testing, they reflect on all they’ve learned since. They address crucial emerging issues, share evolved agile practices, and cover key issues agile testers have asked to learn more about.
Packed with new examples from real teams, this insightful guide offers detailed information about adapting agile testing for your environment; learning from experience and continually improving your test processes; scaling agile testing across teams; and overcoming the pitfalls of automated testing. You’ll find brand-new coverage of agile testing for the enterprise, distributed teams, mobile/embedded systems, regulated environments, data warehouse/BI systems, and DevOps practices.
You’ll come away understanding
• How to clarify testing activities within the team
• Ways to collaborate with business experts to identify valuable features and deliver the right capabilities
• How to design automated tests for superior reliability and easier maintenance
• How agile team members can improve and expand their testing skills
• How to plan “just enough,” balancing small increments with larger feature sets and the entire system
• How to use testing to identify and mitigate risks associated with your current agile processes and to prevent defects
• How to address challenges within your product or organizational context
• How to perform exploratory testing using “personas” and “tours”
• Exploratory testing approaches that engage the whole team, using test charters with session- and thread-based techniques
• How to bring new agile testers up to speed quickly–without overwhelming them
The eBook edition of More Agile Testing also is available as part of a two-eBook collection, The Agile Testing Collection (9780134190624).
Foreword by Elisabeth Hendrickson xvii
Foreword by Johanna Rothman xix
Preface xxi
Acknowledgments xxix
About the Authors xxxiii
About the Contributors xxxv
Part I: Introduction 1
Chapter 1: How Agile Testing Has Evolved 3
Summary 6
Chapter 2: The Importance of Organizational Culture 7
Investing Time 8
The Importance of a Learning Culture 12
Fostering a Learning Culture 13
Transparency and Feedback Loops 15
Educating the Organization 17
Managing Testers 19
Summary 20
Part II: Learning for Better Testing 21
Chapter 3: Roles and Competencies 23
Competencies versus Roles 24
T-Shaped Skill Set 28
Generalizing Specialists 33
Hiring the Right People 36
Onboarding Testers 37
Summary 39
Chapter 4: Thinking Skills for Testing 41
Facilitating 42
Solving Problems 43
Giving and Receiving Feedback 45
Learning the Business Domain 46
Coaching and Listening Skills 48
Thinking Differently 49
Organizing 51
Collaborating 52
Summary 53
Chapter 5: Technical Awareness 55
Guiding Development with Examples 55
Automation and Coding Skills 56
General Technical Skills 59
Development Environments 59
Test Environments 60
Continuous Integration and Source Code Control Systems 62
Testing Quality Attributes 65
Test Design Techniques 67
Summary 67
Chapter 6: How to Learn 69
Learning Styles 69
Learning Resources 72
Time for Learning 77
Helping Others Learn 79
Summary 83
Part III: Planning–So You Don’t Forget the Big Picture 85
Chapter 7: Levels of Precision for Planning 87
Different Points of View 87
Planning for Regression Testing 97
Visualize What You Are Testing 98
Summary 100
Chapter 8: Using Models to Help Plan 101
Agile Testing Quadrants 101
Challenging the Quadrants 108
Using Other Influences for Planning 113
Planning for Test Automation 115
Summary 116
Part IV: Testing Business Value 119
Chapter 9: Are We Building the Right Thing? 121
Start with “Why” 121
Tools for Customer Engagement 123
More Tools or Techniques for Exploring Early 134
Invest to Build the Right Thing 134
Summary 135
Chapter 10: The Expanding Tester’s Mindset: Is This My Job? 137
Whose Job Is This Anyway? 137
Take the Initiative 142
Summary 144
Chapter 11: Getting Examples 145
The Power of Using Examples 145
Guiding Development with Examples 148
Where to Get Examples 155
Benefits of Using Examples 157
Potential Pitfalls of Using Examples 159
The Mechanics of Using Examples to Guide Coding 162
Summary 162
Part V: Investigative Testing 163
Chapter 12: Exploratory Testing 165
Creating Test Charters 168
Generating Test Charter Ideas 171
Managing Test Charters 176
Exploring in Groups 183
Recording Results for Exploratory Test Sessions 185
Where Exploratory Testing Fits into Agile Testing 188
Summary 190
Chapter 13: Other Types of Testing 191
So Many Testing Needs 192
Concurrency Testing 194
Internationalization and Localization 195
Regression Testing Challenges 200
User Acceptance Testing 201
A/B Testing 203
User Experience Testing 205
Summary 207
Part VI: Test Automation 209
Chapter 14: Technical Debt in Testing 211
Make It Visible 212
Work on the Biggest Problem–and Get the Whole Team Involved 217
Summary 220
Chapter 15: Pyramids of Automation 223
The Original Pyramid 223
Alternate Forms of the Pyramid 224
The Dangers of Putting Off Test Automation 227
Using the Pyramid to Show Different Dimensions 231
Summary 235
Chapter 16: Test Automation Design Patterns and Approaches 237
Involve the Whole Team 238
Starting Off Right 239
Design Principles and Patterns 240
Test Maintenance 248
Summary 251
Chapter 17: Selecting Test Automation Solutions 253
Solutions for Teams in Transition 253
Meeting New Automation Challenges with the Whole Team 258
Achieving Team Consensus for Automation Solutions 260
How Much Automation Is Enough? 262
Collaborative Solutions for Choosing Tools 264
Scaling Automation to Large Organizations 264
Other Automation Considerations 268
Summary 269
Part VII: What Is Your Context? 271
Chapter 18: Agile Testing in the Enterprise 275
What Do We Mean by “Enterprise”? 275
“Scaling” Agile Testing 276
Coordinating Multiple Teams 283
Consistent Tooling 289
Managing Dependencies 292
Advantages of Reaching Out beyond the Delivery Team 296
Summary 297
Chapter 19: Agile Testing on Distributed Teams 299
Why Not Colocate? 301
Common Challenges 302
Strategies for Coping 308
Offshore Testing 312
Tool Ideas for Distributed Teams 319
Summary 322
Chapter 20: Agile Testing for Mobile and Embedded Systems 325
Similar, Yet Different 326
Testing Is Critical 328
Agile Approaches 329
Summary 337
Chapter 21: Agile Testing in Regulated Environments 339
The “Lack of Documentation” Myth 339
Agile and Compliance 340
Summary 346
Chapter 22: Agile Testing for Data Warehouses and Business Intelligence Systems 347
What Is Unique about Testing BI/DW? 348
Using Agile Principles 351
Data–the Critical Asset 352
Big Data 357
Summary 360
Chapter 23: Testing and DevOps 361
A Short Introduction to DevOps 361
DevOps and Quality 363
How Testers Add DevOps Value 371
Summary 376
Part VIII: Agile Testing in Practice 379
Chapter 24: Visualize Your Testing 381
Communicating the Importance of Testing 381
Visualize for Continuous Improvement 386
Visibility into Tests and Test Results 390
Summary 392
Chapter 25: Putting It All Together 393
Confidence-Building Practices 394
Create a Shared Vision 402
Summary 405
Appendix A: Page Objects in Practice: Examples 407
An Example with Selenium 2–WebDriver 407
Using the PageFactory Class 410
Appendix B: Provocation Starters 413
Glossary 415
References 423
Bibliography 435
Index 459