Degree of Exploratory Testing: Dear Master! I want to earn new belt
Cem Kaner defines exploratory testing 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.”
It’s undeniable to say that exploratory testing becomes more popular and more effective in an agile world. Some organizations have established their strategy to “evolve” their testers to be more “agile” by adopting & training on exploratory testing. When conducting the training at MeU Solutions and at seminars where I am invited as a guest speaker to introduce a “new approach” called “Context-Driven Testing”, usually I am asked the question “How to become an exploratory tester?”. In fact, testing is exploring, so tester is an explorer in testing. The correct question should be “How to be a great exploratory tester?”
Over the years, I have realized that a tester with excellent exploratory testing abilities, must have the following attributes:
- Passionate in learning
- Deep curiosity on how things work
- Good problem-solving skills
- Broad technical knowledge
- Sharp in both vertical and lateral thinking
These attributes construct three elements of “responsibility”, “freedom” and “wisdom” to help testers to be more “exploratory” which is classified into different degrees
According to the research from Department of Computer Science, Lund University, Sweden, exploratory testing is classified into five degrees. It moves from more prescriptive (more rules, more constraints to guarantee the testing directed) to more adaptive (zero or few rules maintained and depends on the skills, mind and maturity of the tester)
The following image provides an overview of these degrees
I label these degrees like the grading belts in martial arts to illustrate the levels and the advancement.
White Belt (Full scripted): A tester starts with having requirements in hand and developing their “step-by-step” test cases. There is not much room to explore different scenarios, s/he tries to map what resulted from the application and what the test cases (or requirements) describe. The attributes of “freedom”, “responsibility” and “wisdom” which are needed for an exploratory tester (or a responsible test like James Bach called) are not necessary at this degree.
Yellow Belt (Low degree): Main course of action is “test-case”-based. The tester is encouraged to use data which is defined in the test cases. However, the tester is given a small room for exploratory (usually at the end of the test cycle or when time permits). The “freedom”, “responsibility” and “wisdom” are still very limited. Usually, the exploratory is more likely “ad-hoc” testing.
Green Belt (Medium degree): The testing is organized in the timebox session. The exploratory is more obvious in this level. Motivate the tester in learning the application and testing through their exploration. Less time to design the tests. However, there are still many constraints, rules, checkpoints, restrictions, required during the sessions. The goal defined for each session is rather detailed that prevents the tester from building their test models.
Black Belt (High degree): the tester is given freedom to perform their testing with specific goals. Also, s/he takes the responsibility on their tests. The efficiency of the testing is determined by how the tester leverage the Heuristics and Oracles into building test models and recognizing bugs & problems. Identifying bugs is fast that goes through a process of simultaneous learning, test design and test execution.
Freestyle (Highest degree): the tester is given the test objectives. S/he can do whatever s/he wants to deliver work in the highest quality. Many tools, methods and techniques are combined and leveraged into the testing. There is no border among testing types. Automation, performance, functional, security etc. are employed in many ways through the tests that fit into a specific context to achieve the given objectives. The tester with this degree is like a “full-stack” exploratory tester.
The above labels may misinterpret as “higher the degree, better the testing”. In fact, each degree has its advantages and disadvantages. Below is a table for these degrees and their summary of benefits.
If you want to earn a new belt, let’s consider whether your organization aligns with these factors. How your organization commits in supporting you on this journey and what your organization’s strategy to make the transformation successfully.
By Flowerpecker (a Tester at MeU Solutions)