QASymphony / Blog / What Great Improv Can Teach Great Exploratory Testers
What Great Improv Can Teach Great Exploratory Testers
Great improv actors embrace the unknown, moving forward with no script and limited information about the story that will unfold. Using what they learn along the way, the players create a coherent, enjoyable product that their audiences (their users) want more of.
Like improv, in an agile environment testers explore how the application handles a variety of actions, many of which were not anticipated. This type of testing requires creativity and a spontaneous nature — a willingness to try new things without knowing what you might find. Exploratory, or unscripted testing delves into the application to figure out how it actually works for real people in real-life spontaneous situations. Having taken some improv classes, I can think of three things I learned that align with exploratory testing.
1. Spontaneous reactions.
Great improv actors listen and react to what is happening in the moment. Instead of planning what they are going to do next — they react — spontaneously allowing the words and actions on stage to shape their responses. Similarly, great exploratory testers closely observe how the application reacts to certain tests or activities. That result shapes the next action the tester takes. Successful exploratory testing techniques consist of watching, concentrating, and using information obtained to formulate the next move without regard to what is scripted and expected.
2. ‘Yes, and…”
Both improv actors and testers accept the information in front of them and build on it. In the improv world, this is called the rule of “yes and.” When another actor provides information (“My name is Joe. Welcome to my internet startup.”), the second actor accepts that and adds to it (“Hi Joe. Yes, this is a startup alright. And I’m thinking about investing $20 billion into it.”). When a tester gets code to test, she has to start from what she has. She thinks about what a user would do with the system and then moves forward from that. “Yes, I should be able to retrieve my password if I forget it. And what if I also forget which email address I used to register?”
2. “Then what?”
In addition to saying “yes and” in response to information provided on stage, improv actors also ask themselves “if this is true, then what else is true?” They skillfully and quickly assimilate information and see where it leads next. Likewise, when a tester finds a certain behavior in an application, she then uses that information to develop additional test scenarios, and will often quickly run through many scenarios to assess dependencies and assumptions stemming from the question, “if scenario A is true, what other related scenarios are true?”
James Bach, one of the initial creators of the context-driven approach to testing, has said about testers using exploratory testing techniques: “Free from the encumbrance of pre-documentation, they immediately incorporate new ideas into their tests.” They improvise their way through software, using information they are learning along the way to develop new tests and new ways of figuring out what the program or system can and cannot do under a variety of circumstances.
The great improv artists just seem to have a knack for it. But people who do improv know that improv is also a skill that can be taught and learned. Exploratory testing is a skill too. If you have to teach someone how to be an exploratory tester, suggest that they think of themselves as skilled improv performers, where they are free from the impediment of a script and immediately integrate new information into the ongoing story.