Monday, November 12, 2012

Exploratory Testing

According to Wikipedia, "Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution". It is further stated that, "Cem Kaner, who coined the term in 1983, now defines exploratory testing as a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project".


Exploratory testing has got an important role in the industry which has grown much mature in the field of software testing. Although all testing to an extent is exploratory but there are various reasons under which exploratory testing becomes a requirement.

In my view, time constraint or short deadlines are important factors giving rise to the need of performing exploratory testing. It is due to short deadline that testers are asked by the management to perform the exploratory testing, as there is not much time to learn the application.
Hiring a testing resource at a critical time may also end up with the resource performing exploratory testing. If hire a new testing resource at a critical time in project, he is usually asked to start with testing the application as soon as he can. So, the tester starts with exploratory testing while also learning the application (by using the application or by reading the learning material).
Exploratory testing is also performed when there is an incomplete or no documentation available. Documentation may include the requirement specifications, user guides or any other learning material.
These are few common reasons and all these make exploratory testing a challenge for the software testers. The challenge for the software testing companies is to select the right person for this job.

Different testers have different skill set and are strong in different domains, platforms and tools. In order to select the right person for exploratory testing, any company should focus on various factors.
These factors may include the previous experience of a software tester. For example, it may not turn out to be a success story with one hires a fresh resource and asks him to perform exploratory testing of a large financial application, as the fresh resource may have difficulty in learning the application along with testing of it at same time. In comparison, if a company hires a resource with previous experience of testing financial applications then this resource can perform much better. Similarly, platforms and tools required to test should also be considered. Selecting the tester who has best match to the required domain, platform and tools, does improve the quality of exploratory testing.

This article does not cover all aspects of exploratory testing.

Reference:
http://en.wikipedia.org/wiki/Exploratory_testing

2 comments: