Skip to main content

Everything about Exploratory Testing!

  • March 7, 2021
  • 1 reply
  • 76 views
Everything about Exploratory Testing!
sripriyapkulkarni
Forum|alt.badge.img+1

We are all familiar with Exploratory Testing. In this article, I am writing about Exploratory Testing, why it is performed, how to perform it, its drawbacks, how to overcome these drawbacks, when to perform it, and why.

In a real-life scenario, whenever we are traveling to any new place, we will explore the particular place and get to know about it by traveling. In a similar way, whenever we are testing a new application, we need to explore the application.

Exploratory Testing

What is Exploratory Testing?

Understanding the application, identifying all possible scenarios, documenting the scenarios, and testing the application by referring to the document is called Exploratory Testing. It means exploring the application, understanding how each and every feature works, and testing the application based on the understanding and testing experience.

Why are requirements missing?

  1. Chances are, if the project is very big and/or the project is very old, requirements might not be present.
  2. When the requirements are very complex and the software is already software ready, we should test the software by doing Exploratory Testing and we should not spend time understanding the requirements.

How to do Exploratory Testing?

  1. Understand the application and try to enter all the possible inputs for each and every component.
  2. Explore the application and try to understand how each and every feature works.
  3. Test the data flow between the modules.
  4. Explore the application and understand all the features and test end-to-end scenarios.

Drawbacks of Exploratory Testing

  1. Misunderstanding features as defects and defects as features. When there are no requirements, the tester might not know which is a defect and which is a feature.
  2. It is more time-consuming because we will be spending more time understanding the application.
  3. If any feature is missing, we will never get to know the feature is missing.

How to overcome these drawbacks

  1. Regularly interacting with Test Lead, Senior Testers, Senior Developers, Business Analysts & Customers (Users).
  2. Based on the Product Knowledge – if a person has worked on the same application for 2-3 years and has got a very good knowledge of the product/application, they can easily test the application.
  3. Based on the Domain Knowledge – if a person has worked on multiple projects which belong to the same domain and got very good knowledge, they can be domain experts and perform testing very easily without requirement.
  4. By comparing the application with similar kinds of applications, we can overcome the drawbacks.

When to do Exploratory Testing?

  1. When there is no requirements document.
  2. When there is a requirements document but not enough time to understand it.
  3. When there is a requirements document, but it is not understandable because it is very complex.

Why should we do Exploratory Testing?

When there is no requirement documentation or limited testing time, we need to perform Exploratory Testing. Blocker and critical defects can be easily caught through this testing approach. We might miss some minor defects and when the software is delivered to the customer, they can use the software and run the business without getting any blockers. So, we need to test the software before releasing it to production.

I hope this article helped to understand the basic overview of Exploratory Testing. Thanks for reading 🤓

1 reply

Forum|alt.badge.img+4
  • Chief Specialist
  • April 29, 2023

ATTENTION: This article is NOT about exploratory testing. It’s about only one APPLICATION of exploration in testing. This is indeed what most people think exploratory testing is, but that way of thinking became obsolete in 1995.

All testing is exploratory. I’m not kidding. I’m not making a weird point. I’m stating a plain fact. All testing is exploratory testing. Even scripted testing, which is the opposite of exploratory testing, is exploratory testing!

How can that be? This is because exploration is a part of even the most scripted forms of testing that humans do. In the same way scripted behavior is present even in highly exploratory testing.

The role of exploration and scripting in testing is just like the role of exploration and scripting when you go shopping. If you go shopping, you might have a shopping list or you might not. You might have an objective you want to fulfill, or you might not. But even if you have a specific plan to go to a specific shop to buy a specific thing, you are always exploring along the way. You might find that the shop is closed. You might find that they are out of the item you want to buy. They might redirect you to another store. You might find a similar item much cheaper and change you mind.

During the pandemic, I briefly did all the shopping for my family (I didn’t want my wife to get sick, because she is the most important person in our home). My son actually complained that I was a bad shopper. “What do you mean? I get everything you put on your list!” “Yes,” he replied, “But Mom doesn’t just follow the list. She gets things that I like, no matter what’s on the list. If they are out of one thing, she’ll get the best substitute, automatically. You just come home without it.”

For the last twenty years, I’ve been teaching testing as being sometimes more exploratory and sometimes more scripted, depending on context.

ET does not mean that you ignore specifications. It doesn’t even mean that you ignore test procedures. It means that you make choices; you exercise control over your own testing. That’s all it really means. Of course, if you exercise control, that means you have to be alert and learning.

Not knowing about a feature is not a drawback of exploration in testing. The same exact drawback exists for highly scripted testing, except when you explore you have some chance of learning about it, and when you don’t you have no chance of learning about it.

-- James Bach (creator of the first class in ET in 1996)