We have come across with various types of testing methods and approaches in our projects. It is my pleasure to discuss important and key aspects of new approach called “Exploratory Testing”.
Exploratory testing is one of the ‘Experience based testing’ specifications as per the definition of ISTQB. The term Exploratory says that discovering the defects during testing. Once we have learned the entire system with our continuous engagement of project and large domain experience, we would know the mindset of the end users and will work accordingly. So, exploratory testing overtakes the scripted testing, because in the scripted testing we can play as per the scripted design alone.
While in Exploratory testing, the testers can play out of the box roles. Exploratory testing is a testing methodology in which software testers are involved with minimal amount of time spent on designing the documents (test cases, test planning … etc.) and maximum amount of time spent on the test implementation.
Skills needed for Exploratory Testing:
Doing exploratory testing is the exercise of everyday and it is not as easy as possible. This is partially due to not knowing what exploratory testing is. Exploratory testing is assumed as something like error guessing.
Generally, Error Guessing is done based on the experience of the system only. Example: Once the bug is reported to the developer to fix. And then the developer fixed the bug and send it for testing again, the tester runs the original failure and communicates that the bug has been fixed. But the exploratory tester done the regression test to verify whether the fix was working as expected without any side effects or it broke some other part of the software. This technique is known as the ‘Error Guessing’.
Figure: Experience based Exploratory Tester
Basically, Exploratory Testing approach is based on the testers’ mindset. It is based on the testers experience about the product and handling its behavior using various test data combinations. It is a style of software testing and responsibility of an individual tester to continuously improve the quality of their work using the ‘Pesticide Paradox’ technique.
The end users of the product will do the exploratory testing only. Because they are well known about the product than the testers. So, while building the product we need to focus on the exploratory testing method as such the product end users to give the error free quality product. This will result to get reality bugs, get more targeted and trained feedback, and we might even catch usability issues.
When and who to do Exploratory Testing:
In general, Exploratory testing can be used in any one of the following conditions,
1.It helps provide very fast feedback about a new product/system.
2.It is used by the more knowledgeable person of the system.
3.It helps investigate the status of a risk and evaluate the need for scripted tests in that module.
Here we have one scenario like testing the “Gmail-Login” page using both the scripted and exploratory testing techniques.
Let’s assume during the Scripted testing, the test design takes one day and for test execution it takes another one day to complete. Totally, we need two days to complete the testing. If we capture any bug, it would be monitored separately.
But, during the Exploratory testing, we are not spending any time for initial test design instead we jump into test execution on the first day itself. Hence the testing would be completed prior to scripted testing. It saves time spent for test design.
The approach of exploratory testing increases quality and end user satisfaction.
Comparison between Scripted and Exploratory testing:
Let’s compare the scripted and exploratory testing: Scripted and Exploratory Testing. In Scripted testing, we should design the test design as per the requirements at an early stage and then we need to do the test execution. But, Exploratory testing is different with scripted testing. In Exploratory testing, before starting the test design we need to start learning the process as the first stage.
After the learning process is over, then we need to start the test design. After that test execution should be performed and finally analyze the actual result with the expected result.
Figure: Process of Exploratory Testing
Exploratory testing is more productive than the scripted testing. It is used to identify real time bugs. Also, it is more often used to detect the bugs during UAT of the system. So, if we use exploratory testing early in the stage, then we can avoid many bugs.