Bloggers Club: The Importance of Exploratory Testing

Before we dive into the importance of Exploratory Testing, I would like to clear three things up.

Firstly, I align with this definition of Exploratory Testing, by Cem Kamer, it is an approach to software testing that consists of simultaneous learning, test design and test execution.

Secondly, I don’t think Exploratory Testing has to be a substitute for test cases, it can complement test cases. (It’s up to you, how or if you choose to combine both Exploratory Testing and Test cases when you test a feature)

Lastly, exploratory testing is not adhoc testing – adhoc testing is random, unstructured testing, exploratory testing forced you to think critically about the application under test. (For more about the difference go here.)

 

Job Interview Analogy

To illustrate the importance of Exploratory Testing, I’d like to first use the analogy of a job interview. (I wrote about this in a previous blog post but will expand on this further)

 

The Test Cases in this analogy

In a job interview, chances are both sides (the candidate and the company) have some prepared questions for each other to get a better understanding of the other side. Let\’s also assume that some of the prepared questions have an expected or desired answer. These prepared questions are the “test cases”.

For example: 

The company asks the candidate: “Do you have any experience testing SAAS applications?” (The desired/expected Answer is yes)

The candidate asks the company: “Is there any flexibility to work remotely?” (The desired/expected answer is yes, to some extent)

These sort of questions are like a pass/fail.

Let\’s pretend that the company isn’t at all interested in this candidate if they do not experience testing SAAS applications. Let’s also assume that the candidate definitely wants some flexibility to work remotely in their new role.

The Exploratory Testing in this analogy

Now let\’s dive in to the Exploratory Testing of this analogy, this is where we start to ask each other questions based on what we heard/learned during the interview process. This is how it might look like in an interview.

Company: Do you  have any experience leading Agile teams?

Candidate: Yes. On a previous project I was the Scrummaster as well as the tester for a few months while we were looking for a tester.

Company: Ah, I didn’t read that on your CV. Can you tell me more about how you balanced the scrummaster and tester role in that team? (upon discovering this new information, they now dig deeper here)

 

Before you start testing an application (or a conducting a job interview) you cannot know what will discover, you may have some vague idea – but you do not KNOW.

Tying this back to actual software testing – Exploratory Testing gives you both the freedom and the ability to respond to new information.

If you were to stick to just test cases which consist of steps and expected results, then you wont be able to react to what you find – you can’t investigate that strange behaviour you\’re seeing right now, neither can you dive deeper into something because you are worried about it: all you can do is stick to that test case.

One thought on “Bloggers Club: The Importance of Exploratory Testing”

  1. Love that analogy! One of the challenges I've seen in organizations is there are too many test cases to the tune of 17,000+. some of these cases were far to granular. Similar to an interview I do want a guide or a set of questions I'm going to ask, but I try to narrow that list down to the critical areas, not every single question I could every ask. Thanks for sharing!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s