Uncover surprises, risks, and potentially serious bugs with exploratory testing. Rather than designing all tests in advance, explorers design and execute small, rapid experiments, using what they learned from the last little experiment to inform the next. Learn essential skills of a master explorer, including how to analyze software to discover key points of vulnerability, how to design experiments on the fly, how to hone your observation skills, and how to focus your efforts.
About this Book
- 160 pages
- Release: P1.0 (2013-02-20)
- ISBN: 978-1-93778-502-4
Software is full of surprises. No matter how careful or skilled you are, when you create software it can behave differently than you intended. Exploratory testing mitigates those risks.
Part 1 introduces the core, essential skills of a master explorer. You’ll learn to craft charters to guide your exploration, to observe what’s really happening (hint: it’s harder than it sounds), to identify interesting variations, and to determine what expected behavior should be when exercising software in unexpected ways.
Part 2 builds on that foundation. You’ll learn how to explore by varying interactions, sequences, data, timing, and configurations. Along the way you’ll see how to incorporate analysis techniques like state modeling, data modeling, and defining context diagrams into your explorer’s arsenal.
Part 3 brings the techniques back into the context of a software project. You’ll apply the skills and techniques in a variety of contexts and integrate exploration into the development cycle from the very beginning.
You can apply the techniques in this book to any kind of software. Whether you work on embedded systems, Web applications, desktop applications, APIs, or something else, you’ll find this book contains a wealth of concrete and practical advice about exploring your software to discover its capabilities, limitations, and risks.
Contents and Extracts
- Establishing Foundations
- On Testing and Exploration
- Charter Your Explorations excerpt
- Observe the Details
- Find Interesting Variations
- Evaluate Results
- Adding Dimensions
- Vary Sequences and Interactions
- Explore Entities and their Relationships
- Discover States and Transitions excerpt
- Explore the Ecosystem
- Putting it in Context
- Exploring When There is No User Interface excerpt
- Exploring an Existing System
- Explore Requirements
- Integrate Exploration Throughout
- Interviewing for Exploratory Testing Skills
- Test Heuristics Cheat Sheet
Comments and Reviews
—Lisa Crispin, Coauthor with Janet Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams
Reading this book taught me new skills and heuristics; but even better, it helped me channel my tester “spidey sense” more creatively and usefully. I keep this book handy at all times and occasionally do one of the practice sessions to keep my awareness keen. Explore It! helps me make sure our customers and our company get real value from our software. It’ll help you too.
—Janet Gregory, Coauthor with Lisa Crispin, Agile Testing: A Practical Guide for Testers and Agile Teams
Explore It! starts with a bang. Elisabeth catches your imagination and has filled the book with practical ideas for exploring everything from your typical GUI scenarios to testing ideas (requirements), and she even includes suggestions for programmers on how to explore low-level code. This book should be on every development team member’s desk, not only testers. It is the book I carry with me whenever I introduce exploratory testing to development teams.
—Pradeep Soundararajan, Founder Moolya Software Testing Private Limited
At Moolya, we were wondering how to get newbie testers started with exploratory testing. Explore It! appears to be timely and useful to the problem we have in hand.
—Alan Page, Microsoft
There’s a hidden secret to Explore It! While attempting to capture the nuance and depth of exploratory testing, Elisabeth Hendrickson has managed to write one of the best books on test design I’ve ever read. Good test design comes from good test ideas, and this book is overflowing with both great test ideas and pragmatic stories to back them up.