Learn

Exploratory testing

Exploratory testing is a form of software testing that relies less on pre-determined test scripts and more on a tester’s ability to design and execute tests in the moment, observe the results, and create new tests based on what they have learned. Exploratory testing literally lets testers explore a piece of software. It takes advantage of a tester’s skill at thinking outside the box and designing tests that might not be included in a typical test case.

Author:

Tricentis Staff

Various contributors

Date: Aug. 06, 2021

While exploratory testing is more time consuming and costly than other forms of testing, it tends to uncover more bugs – and especially more complex defects – than scripted testing.

How to perform an exploratory test

While there is a great deal of creativity and customization involved in exploratory testing, the process of performing an exploratory test is actually quite structured. Typically, two testers are assigned to perform exploratory tests based on their experience and knowledge. They should be given a clear mission at the start of the test, and they must take thorough notes of their methods, issues, and questions raised throughout the process.

The five phases of an exploratory test include:

  • Classification. Testers should categorize the types of issues that are most often found in previous projects, look for the root cause of these problems, identify the risk, and develop ideas for testing the application.
  • Charter. When creating a test charter, testers should determine what should be tested and how best to test it. The charter should also document the starting point for testing and outline how users will interact with the application.
  • Timeboxing. By setting fixed time periods during which certain activity should be accomplished, testers can ensure that the process remains efficient. Typically, two testers will work together uninterrupted for a period of 90 minutes or more.
  • Review. At the end of the testing period, testers can review defects found, what they have learned from the test, and determine what portion of the software was covered through the testing process.
  • Debrief. In the final phase, testers will compile the results, create a report, and compare it to the charter.

exploratory testing phases

The pros and cons of exploratory testing

Exploratory testing offers many advantages over scripted testing. With exploratory testing techniques, you can:

  • Find more bugs than with other testing techniques
  • Find defects that are often ignored by other approaches to testing
  • Spend less time preparing tests, and more time running them
  • Review work performed by other testers and other methodologies
  • Test new features while using regression tests to examine existing features
  • Improve the effectiveness of traditional testing processes by converting exploratory sequences into scripts for functional testing
  • Explore an application just as a real user would to ensure that important steps and features aren’t missed
  • Test software using a variety of real-world variables such as different devices, various Internet speeds, the amount of storage, and so on
  • Test for localization – in other words, how the product works in a specific language, how well text was translated, whether there is missing text, and whether line breaks and character counts work as intended

Some of the challenges or limitations of exploratory testing include:

  • It is highly dependent on the skills of individual testers
  • It’s limited by the tester’s knowledge of the application
  • It can be difficult to replicate failure

How exploratory testing supports Agile development

One of the significant benefits of Agile methodology is that developers and quality assurance (QA) teams can find bugs earlier and faster, avoiding the risk and cost of rework and late fixes. Because Agile development involves a series of quick sprints and frequent iterative changes to software, testing is extremely important to producing quality software.

Exploratory testing is an excellent fit for Agile development for several reasons.

  • Exploratory tests often find defects that automated tests miss. While exploratory testing cannot be a substitute for automated testing it can serve as an excellent complement by uncovering critical defects that would likely be missed by an automated approach.
  • Exploratory tests offer a more diverse approach. Exploratory testers may have a wide range of skills and expertise – they can be developers or UX designers, support engineers or product managers. The more diverse the group of testers and their perspective on the application, the better the results are likely to be.
  • Exploratory testing can support the speed of development cycles. Because they don’t require time for writing, preparing, and approving test cases, exploratory tests can provide feedback in a very short time period – an essential benefit during very fast Agile sprints.

Differences between scripted and exploratory testing

Exploratory tests offer a strikingly different approach than scripted testing.

In scripted tests, the testing process is governed by specific requirements. Exploratory testing also has requirements, but the tester’s journey is also informed by their own observations and learning during the process.

Scripted tests develop test cases well in advance of execution; in exploratory testing, cases are developed in the midst of testing.

Scripted testing uses tests to confirm requirements, while exploratory testing is about investigating an application or system. The emphasis in scripted testing is on prediction and making decisions, while the focus of an exploratory test is about learning from, and adapting to, results of successive tests.

In scripted testing, the script is the final authority on how the test is run. In an exploratory test, the tester’s knowledge, intuition, skill, and powers of observation are the driving force in determining how the test plays out.

exploratory vs scripted

Tricentis tools for exploratory testing

Tricentis offers a Continuous Testing platform that is reinventing how software testing is integrated into DevOps. With solutions for Agile test management and advanced test automation, Tricentis delivers automated insight into the business risk of each software release.

The Tricentis platform offers solutions that support exploratory testing.

  • Tricentis Tosca supports exploratory testing across custom, packaged, and mobile applications. Tosca is a scriptless, AI-based, no-code solution for end-to-end test automation. With Tosca, you can more easily plan exploratory test sessions, automatically record test actions, and instantly share detailed results. Tosca also enables testers to rapidly define sessions, charters, and test objectives, and Tosca provides a central location for recording testers, timeboxes, and related information.
  • Tricentis qTest Explorer is an add-on to the Tricentis qTest platform that is designed specifically for Agile testers. As an exploratory testing recorder and documentation tool, qTest Explorer provides development teams with a rich documentation tool that simplifies unscripted testing by intelligently capturing each mouse click, field change, page change, and more. With qTest, testers can record tests, submit detailed documentation of defects to Jira, and instantly turn a test session into an automated script.

Additionally, the Tricentis platform provides software testing tools for Agile test management, data integrity testing, performance testing, Jira test case management, Salesforce test automation, and more.

Author:

Tricentis Staff

Various contributors

Date: Aug. 06, 2021

FAQs

What is exploratory testing?

Exploratory testing is a type of software testing where, rather than executing pre-scripted tests, testers create tests “on the fly” to explore the functionality of a piece of software. After observing the results of the test, testers create new tests based on what they have learned.

What are the benefits of exploratory testing?
+

Exploratory tests tend to find more bugs than scripted, automated tests. Exploratory tests take a real-world approach to testing, exploring a piece of software just as a real user would. Exploratory testing can often produce faster results, as there is little to no time spent authoring, preparing, and approving test cases. And exploratory tests can support traditional testing by converting exploratory sequences into automated, functional test cases.

Related resources

You might be also interested in...