Exploratory Testing
Tags: testing, agile, codequality, qc
Published: 2022-01-20 13:34:29

### What is Exploratory Testing?

Software exploratory testing is a kind of testing idea or testing thinking style based on experience that is not limited by any testing technique. It is widely used in Agile models and can be applied to any phase of testing activities.
In Exploratory Testing, testers interact with the system in whatever way they want and use the information the system provides to react and generally explore the system’s functionality without restraint. Exploratory testing allows the full power of the human brain to be brought to bear on finding bugs and verifying functionality without preconceived restrictions.

### What Are The Exploratory Testing Goals?

- Understanding how an application works, what its interface looks like, and what functionality it implements.

- Forcing the software to show its capabilities. The idea is to make the software work hard and ask it hard questions that put it through its paces. This may or may not find bugs, but it will provide feedback on whether the software performs the function for which it was designed and that it satisfies its requirements.

- Finding bugs and exploring the edges of the application
and hitting potential soft spots is a specialty of exploratory testing plus identifying untested and historically buggy functionality.

### What is Session-Based Test Management (SBTM)?

 A session Based Test Management was invented by James and Jonathan Bach in 2000 is well-known guidance that can be used in the exploratory testing method. SBTM is a formalized approach that uses the concept of charters and the sessions for performing the Exploratory Testing.
SBTM has four elements:
      

**- Charter:**

A one- to three-sentence mission for a testing session. The charter is designed to be open-ended and inclusive, encouraging the tester to explore the application and affording opportunities for variation. Charters are not aimed to be comprehensive descriptions of what should be done, but the total set of charters for the entire project should include everything that is reasonably testable.

**- Time Box:**

Some period between 45 minutes and 2 ¼ hours, where a short session is one hour (+/- 15 minutes), a long session is two, and a normal session is 90 minutes. The intention here is to make the session short enough for accurate reporting, changes in plans (such as a session being impossible due to a broken build, or a session changing its charter because of a new priority), but long enough to perform appropriate setup, to get some good testing in, and to make debriefing efficient.

**- Reviewable Result:**

It takes the form of a session sheet, a page of text that follows a formal structure. This structure includes charter, coverage areas (not code coverage; typically product areas, product elements, quality criteria, or test techniques); start time, tester name(s); time breakdown; data files; test notes; bugs (where a “bug” is a problem that the tester reasonably believe represents a threat to the value of the product); issues (where an “issue” is a problem that threatens the value of the testing process—missing information, unavailable tools, expertise that might be required, questions that the tester might develop through the course of the session)

**- Debriefing:** 

In the debrief, the session sheet is checked to make sure that it’s readable and understandable; the testers discuss the bugs and issues that were found; the testers make sure that the protocol is being followed, and collaboration happen.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4pmcjxnmd9horhnlwfw.png)


### What Are The Exploratory Testing Drawbacks?

The disadvantage of exploratory testing is that testers risk wasting a great deal of time wandering around an application looking for things to test and trying to find bugs. The lack of preparation, structure, and guidance can lead to many unproductive hours and retesting the same functionality repetitively, especially when multiple testers or test teams are involved. This is where guidance comes into play.

### Conclusion:

Exploratory testing is a testing thinking style based on experience and is widely used in Agile models. Testers interact with the system to be able to explore its functionalities.