What Is Exploratory Testing?

Exploratory testing is an approach in software testing with simultaneous learning, test design and test execution. While the software is being tested, the QA learns things that together with experience and creativity generate new testcases to run.

The best part is that this test method can be applied in any test technique, in any development stage. Less preparation is required in this approach and almost all of the surface bugs are found at the execution time.

Making Exploratory Testing a Part of Testing Process:

Exploratory testing is a well organized process of exploring an application by learning about its features, understanding its use and business logic, and complete workflow in a sequence of logically build up testcases.

Exploratory testing when combined with other testing practices, it can be a better way to understand the functional tests better as a result of which there is increase in the product quality.

In this method, a QA can execute a series of positive testcases that a normal user would obviously perform and also the QA can execute various out of the box cases which is termed as negative testing to check for any inconsistencies or unnatural behavior of the application under such circumstances.

Exploratory testing is used in different stages in different forms. Like in some places it is used at the end before release to check the complete application and confirm whether it is good for a release or not. Similarly in some cases it is used at the beginning of testing, to check the positive and negative consequences so that major bugs can be handles before full-fledged testing is started. Ideally, it should be used throughout the testing process, to have a good hold over the application and point out the minute of issues.

Exploratory testing can be defined in short as a quick process depending upon the operation of the application through which the QA can get quick information about the application basics as well as the health of the application.

Hence exploratory testing can provide the QA with domain and operational knowledge of the application, and at the same time provide an idea about the priority of each sections/modules and which modules/sections needs additional functional testing.

Exploring Exploratory Testing:

Exploratory testing is all about discovery, investigation and learning. This emphasizes more on the personal freedom and responsibility of the individual QA.

QA may collect all the ideas about what is to be tested before test execution. The focus of exploratory testing is more on testing as a “thinking” activity. In this approach QA can predict inconsistent scenarios due to some implementation, or can suggest for some better improvement.

Test preparation:

1. Create a bug classification: All similar kinds of common issues that are found in past projects can be gathered and checked. Risk of the application should be analyzed and steps should be prepared to test the application.

2. Test Document: This includes what to test, how it can be tested, what all points needs to be looked at. Test ideas should be properly documented and also here the QA needs to think and document as the end user usage.

3. Time Box: Here QA will be have an idea about the response of the system in a stipulated time period and prepare for the proper outcome.

4. Review Results: Here QA evaluates the defects, learns from the testing done, and analyze the coverage areas.

5. Debriefing: This includes compilation of the output results, compare the results with the test document created and check whether any additional testing is needed.

Points to be followed for testing:

1. Mission of testing should be very clear

2. Keep notes on what needs to be tested, why it needs to be tested and the assessment of the product quality

3. Tracking of questions and issues raised during exploratory testing

4. The more we test, more likely to execute right test cases for the required scenarios

5. Test Coverage – Whether we have taken notes on the coverage of test cases and improve the quality of the software

6. Risks – Which risks needs to be covered and which are all important ones?

7. Test Execution Log – Recordings on the test execution

If the explorations done can be automatically recorded, they can also be easily turned into functional test scripts, which support the traditional testing process. Eventually, exploratory tests can be automated. In short exploratory testing emphasizes more on learning and adaptability.

So keep learning, Happy testing…:)

Written By: – Smita Dash, QA Engineer, Mindfire Solutions

Advertisements

Posted on April 21, 2014, in Agile Testing, Manual Testing and tagged , , , , , , , , , , , , , . Bookmark the permalink. 1 Comment.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: