Specification-based testing checks whether expected paths through user stories are free of predictable issues. But what about dangers lurking beyond the primary paths (including territory that’s not accessible to test automation?
That’s where exploratory testing comes in. Here are three reasons agile teams should embrace exploratory testing.
1. Exploratory testing exposes defects that automated and manual testing miss
By exploring product territories from various perspectives—without extensive planning—exploratory testing rapidly exposes defects. The human intelligence involved in exploratory testing gives you a broader, deeper view than any automated test could.
For example, an automated test could indicate if a UI element worked properly, but it couldn’t determine if that UI element was confusing to the end-user. Even if exhaustive automated testing were feasible—which it’s not, in compressed agile sprints—such issues would still evade it. Moreover, because exploratory testing encourages branching and, well, exploration of different stories and ideas, it uncovers more issues than structured, predefined manual testing does.
2. Exploratory testing helps team members collaborate to expose more types of defects
With exploratory testing, a diverse group of people—including developers, product owners, UX designers, business analysts, and support engineers—can all contribute to the quality effort, because no specialized test automation or scripting knowledge is required. These people each bring different specialties and perspectives to the table.