In the movie The Hurt Locker, actor Jeremy Renner plays Sergeant First Class William James, a dangerously effective bomb disposal specialist during the Iraq war. His methods create tension with his bomb squad colleagues because of his maverick ways. Team mates Sanborn and Eldridge consider him “reckless.”
During one of the scenes, you see James approach an abandoned car they suspect has a bomb. As he approaches the car it’s obvious he doesn’t know what he’s going to find. When he opens the trunk he discovers a cache of warheads large enough to “…to send us all to Jesus.”
And then he does something surprising: he takes off his protective suit and helmet. He improvises.
Each bomb disposal scenario in the movie is different, and in each instance James has to use his experience, expertise and quick thinking to make a decision about how to disarm each bomb.
The Iraq war bomb disposal expert is a good, albeit slightly exaggerated (well, greatly exaggerated), way to describe another maverick in the testing world, the Exploratory Testing expert.
Exploratory Testing is described by Cem Karner, who coined the term in 1983 as:
“…a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.”
In other words, these guys are mavericks. Highly skilled mavericks.
James Bach, in this article on Satisfice.com, says:
“What makes exploratory testing interesting, and in my view profoundly important, is that when a tester has the skills to listen, read, think and report, rigorously and effectively, without the use of pre-scripted instructions, the exploratory approach to testing can be many times as productive (in terms of revealing vital information) as the scripted variety.”
But Exploratory Testing, like Sergeant James, has a hard time getting respect. Softtek’s Leonel Navarro, in a recent webinar on The Future of Testing, says Exploratory Testing is often dismissed by project managers who assume that it’s not reproducible, measurable or accountable.
Exploratory Testing, says Navarro, is a combination of imagination, discovery, and parallel thinking. Consider penetration testing. The best penetration test professionals use automated tools to perform system’s reconnaissance, and based on the information gathered, they use exploratory testing in some way. In most cases they don’t know the purpose of the application. They have to discover it – discover bugs that scripted testing couldn’t even conceive.
The agile nature of exploration and the ability of testers to rapidly apply their skills and experience make exploratory testing a widely used test approach—especially when time is short.
Navarro says there are some methods, such as Session Based Test Management, Thread Based Test Management, and various combinations of both methods that, together with freestyle Exploratory Testing, can help managers feel more comfortable with Exploratory Testing.
The advantage of Exploratory Testing, the reliance on the experience and skill of the individual tester, is also its challenge.
Exploratory Testing requires teams to think out-of-the-box and leverage their parallel thinking abilities in order to be successful. It also requires the passion to focus, and the disciplined self-management to deliver high quality results.
Finding this combination of qualities in individual testers is hard. But Exploratory Testing professionals also require realistic support from the organization and motivation from QA managers.
Navarro says he has seen exploratory testing work well with testers who have a combination of many years of seniority and a passion for their craft.
But he also noted that recently it’s not rare to find a 15-year old kid who can find bugs in complex application scenarios.
Organizations are always trying to become more efficient and eliminate errors. They implement processes, certifications, tools, maturity models and more. But at the end of the day the major factor in the testing evolution is people, and how they use their brains to solve problems, not to execute processes.
Exploratory Testing is a very human-centered approach. It relies almost exclusively on the individual skill and creativity of the tester.
And this makes it great for the agile world. As a response to the technology and efficiency challenge, we see exploratory testing representing an opportunity to take the testing profession to the next level.
(Photo source: Encinita.net)