Now that we know why we do exploratory testing let’s explore Bach and Bolton’s evolution of Exploratory Testing to understand why all testing is exploratory testing. This is a part of the Exploratory Testing Pathway. Many thanks to Marcel who sublimed this great resource on his blog, That’s the buffet table.
All Testing Is Exploratory
Let us not forget that complex logical operations occur through a combination of simple instructions executed by the computer and not by the computer logically deducing or inferring what is desired. [Jerry Weinberg]
We must not forget that testing is about the activity (performance) and not about artifacts. The testing script is a testing artifact. There is an argument that test automation is an activity because you first need to figure out how to write a script. But we forget that most of that activity is figuring out (exploring or learning) testing framework, not the program under test. The truth is that when you explore the product, this is the only testing activity in test automation.
Exploratory testing is parallel test design, test execution, result interpretation, and learning. Testing “automators” often fell to the narcotic comfort of the green bar or pesticide paradox [Bach].
Evolution Of Exploratory Testing
The exploratory testing term was coined by Cem Kaner., and the idea was accepted by James Bach and Michael Bolton in many thoughtful blog posts and articles. Exploratory testing 1.0 is a distinct testing technique.
As there were a lot of critiques that exploratory testing is ad hoc testing, James Bach created Session-Based Test Management with clear intention to provide Exploratory testing a structure. Charters, sessions, mnemonics, heuristics, reports, those terms gave exploratory testing 1.5 clear structure.
It becomes clear that exploratory testing is an approach (like Black box testing), not a technique (like functional testing). Book, “The shape of actions,” was a crucial factor in this conclusion. Polymorphic and mimeoprphic example nicely explains the exploratory testing approach. Polymorphic actions (such as writing a love letter) are ones that community members expect to vary with social context. Mimeomorphic actions (such a swinging a golf club) do not vary. This is exploratory testing 2.0.
Fast forward to the present. Let’s meet Exploratory testing 3.0:
All testing is exploratory testing [Bach].
What can not be encoded in any testing artifact is exploratory testing. The most famous testing artifact is a test script in various programming languages. The book “Tacit and Explicit Knowledge” explains it further.
Much of what humans know we cannot say. And much of what we do we cannot describe. For example, how do we know how to ride a bike when we can’t explain how we do it? Abilities like this were called tacit knowledge.
What’s There For You
I noticed an exciting tweet. The future is here.
Originally published at https://blog.tentamen.eu on August 7, 2020.