Integrating Exploratory Testing into Product Design
Exploratory testing, or ET, is becoming increasingly important on today’s testing teams, especially for companies embracing agile. Simply put, ET is a testing method that relies on investigative approaches and is implemented through parallel learning, test design, and test execution.
By supplementing manual scripted and automated testing methodologies with ET, software teams can employ a free-form exploration of an application that should dramatically improve its overall quality, performance, security, and usability. ET is a valuable tool for finding critical defects in software that wouldn’t have been discovered otherwise, uncovering potential improvements in code that are hidden in an untested area, and double-checking that a critical customer feature will work under all circumstances.
ET fits well with agile processes because it doesn’t depend on the heavy documentation of scripted testing, so it speeds time to market. And any member of the dev/test team can do exploratory testing, regardless of their specific skill sets. This gives product teams needed flexibility to pull resources into testing when schedules are tight.
The goal, of course, is developing higher-quality applications that map more closely to customer needs. Below are a few ideas for integrating ET into your team and work processes.
Pair with developers: A highly collaborative way to get started (and that has been proven to improve software quality) is through paired testing and development. It’s the fastest way to validate new functionality, as there’s a much smaller lapse between code release and testing to write an automated test or manual script.
Team-based ET: Some software teams will engage a group of developers and testers into a phase of exploratory testing in between sprints or at other ad hoc times. By breaking out areas of the application into assignments for individual exploration, you could expose a vital new area for product enhancement and usability. Another bonus: You are simultaneously driving better information and idea-sharing between team members and greater understanding of the product’s overall functionality.
ET for UAT: Convincing product owners or subject matter experts to take a turn in exploratory testing, especially on critical features, is an effective way to drive ownership around the QA process and results. Because product owners typically have a closer relationship to the customer and business, they may bring a new perspective to the usefulness of an application or its features.
Beta testing: Beta testers from the community who aren’t typically skilled in development or testing supply the critical customer viewpoint of a product. Instead of a free-for-all approach, give beta testers a specific charter or mission based on whatever aspects of the application deserve attention.
Replace traditional testing: Many organizations can replace some of the manual scripted tests being performed with automated ones—or, if manual tests are duplicative or ineffective, they can be gotten rid of altogether. With this newly found bandwidth, you can put those testers to use in exploratory testing sessions. In testing, as in all areas of product design and development, efficiency is as important as speed.
Any tester or developer on your team already has the skills to help with ET efforts. By integrating exploratory testing, you can add value quickly and easily to your overall product development goals.
Kevin Dunne will be presenting the session Exploratory Testing: Make It Part of Your Test Strategy at Better Software Conference East 2015, from November 8–15 in Orlando, Florida.