Exploratory testing: what is it and how does it work?

As a software tester, you probably know that there are a lot of types of testing. Ideally, you want to have them all in your proverbial testing toolbox. Why? So that you can choose and run the right test for each software and situation. Exploratory testing is one such type of testing that you should have in your toolbox. It is a test where you apply your experience and insights from previous tests to your current test. In this blog, we'll tell you more about this form of testing.

schedule 20 feb 2023
bookmark_border TMap® Quality for cross-functional teams
create

What is exploratory testing?

Exploratory testing is an experiential approach to softwaretesting. This form of testing is also known as ad hoc, or experiential testing, because it relies heavily on the experience and knowledge of the tester.

With exploratory testing, you are designing and executing tests simultaneously. This is because that's how you learn more about the system or software application you're testing. You also use the insights from your most recent test to inform the next one. This allows you to run better and better tests.

The great advantage of this type of test

Of course, it is of great importance that a new system or software is ultimately going to deliver the expected business value. With software testing, you can guarantee that. This is because it gives you information about the quality and risks of the system. Exploratory testing is enormously suitable for this because it has an interactive character. Namely, you are continuously working with previously outdated information of the system. So you are interacting with this information, so to speak.

The characteristics of exploratory testing

Exploratory testing has a number of characteristics. We define this approach with the following characteristics:

  • Focus on trust: risk- and value-based;
  • Structured: charter, log, debriefing;
  • Tandem approach: two testers, or even a group (mob testing);
  • Combines experience-based and coverage-based testing;
  • Simultaneous test design, test execution and learning;
  • Flexible: suitable for Agile and DevOps;
  • Prepared: test ideas, test rounds;

The three components of exploratory testing

This method of software testing comes in a very structured way. There are three different aspects of exploratory testing:

1. Preparing with a charter

You prepare an exploratory test with charters. These are short documents in which you name the starting points for the test session such as a starting set of test ideas, data or routes. A charter guides the testers and you can think of it as a roadmap. It is not meant to be a prepared scenario but rather not to forget important things.

The team can prepare some charters in advance and put them on the backlog to execute as soon as the relevant test object becomes available or when it is time for exploratory testing. Charters can be prioritized based on the probability of failure (e.g., "How clear were the requirements?") and the impact if the test object were to fail. The charters with the highest priority are tested first.

While creating the charter, determine the following aspects:

Determine the scope

The scope of the exploratory test can consist of the user stories agreed upon by the team at the beginning of the sprint. Establish a timebox. An exploratory test is done within a timebox of minimum 30 minutes and maximum 3 hours. Indeed, shorter than 30 minutes is too short to perform a meaningful test and longer than 3 hours is not good for concentration and focus. Thus, conducting a test is limited by time. When time is up, the test ends.

Determine the exploratory test team

You choose two people or a larger group for this, this is called a mob test because:

  • Two people know and see more than one
  • One person can concentrate on testing, the other on keeping up with the work
  • During testing you can learn from each other about the test object but also about testing itself

Test ideas

An important part of the charter are the test ideas. A test idea is any thought, data, or technique that you include in a charter so that during your testing session you have different opportunities to perform different tests.

2. Perform testing and keep a logbook

During testing, it is important to keep a logbook. In this log, you write down each test case and the expected outcomes. You also record the actual outcomes and deviations. This way you can keep a good record of what was tested, what results were obtained and you can compare them to your predetermined expectations.

3. Discuss results, conclusions and recommendations in a debriefing

Is the testing session finished? Then the last part is a debriefing. This debriefing is held with a relevant stakeholder. For example, this could be a product owner, scrum master, test master, user or another person who has an interest in the results of the testing. This debriefing is held with the goal of providing the stakeholder with all the necessary information about the system. This allows the stakeholder to determine whether there is enough confidence in the system and whether it will deliver the expected business value.

Exploratory testing to ensure business value

Exploratory testing is a form of testing widely used within Agile and DevOps teams and is covered within our e-learning TMap® Quality for cross-functional teams. Thus, this form of testing allows you to find out if the software is going to realize the pre-expected business value. Would you like to learn more about this? Then our e-learning TMap® Quality for cross-functional teams is for you.

Want to know more about Testlearning?

Would you like to be kept up to date with developments around our test training courses? Then follow us on LinkedIn, sign up for the monthly newsletter or read our blogs!