Exploratory testing explained
Exploratory testing is a kind of testing where there is no predetermination about what to test and whatnot. The tester tests the software as and what comes to his mind. In this testing, he does not write down about the tests he is going to perform but performs them as a thinking activity.
Exploratory testing is mostly used in agile models. Individual freedom of the tester is given more priority in this case. It is all about discovery, learning, and investigation.
Exploratory testing is very different from scripted testing. In the latter, the tester first writes down about the tests he is going to perform and then performs them. However, in exploratory testing writing down and testing is done simultaneously.
Scripted testing does not require much cognitive ability because the tester has written down the tests as well as the expected output. However, this is not the case in exploratory testing. Exploratory testing cannot be automated while scripted testing can be automated.
In this world of automation, exploratory testing is a very new concept. Automation has its limits.
Characteristic of exploratory testing
- This is not random testing. It has its goals and requirements.
- This testing is rigorous and structured.
- This testing requires a lot of cognitive ability.
- It is highly manageable as well as teachable.
- It would be more appropriate to call it an approach rather than a technique.
Exploratory testing process
Creation of bug taxonomy
- Create a list of all the different types of bugs found in past projects.
- Analyze what can be the root cause of these bugs.
- Develop a suitable way to test for these bugs and vulnerabilities.
Test charter
- Test charter should be able to answer the following questions:
- What needs to be tested?
- What are the desired outcomes?
- How should the testing be done?
- The exploratory testing starts with the test ideas.
- Test charter helps to determine how the software will be used by the end-user.
Timebox
- This process involves two testers working on the same project for no less than 90 minutes.
- The time can be increased or reduced by 45 minutes.
- This step allows the testers to react to the responses received by the system.
Review result
- Here you should evaluate all the outputs.
- Try to learn about the software from the data received.
- Analyze all the coverage areas.
Debriefing
- Here you should compile all the output results.
- A comparison should be made between the result and the charter.
- At last, you should check if any additional testing is required.
Pros of exploratory testing
- This testing proves to be very useful when you don’t have the requirements document or they are partially available.
- It can find more bugs as compared to normal testing.
- It can find out bugs that are generally ignored by other testing methods.
- As this requires high cognitive skills, it can improve the imagination of the tester.
- This testing covers all the requirements of the software.
- It can enhance creativity and intuition.
- It can generate new ideas while testing.
Cons of exploratory testing
- This testing depends very much on the skills of the tester. You need a very talented workforce to complete this testing effectively.
- The tester should have high domain knowledge. If the tester is not qualified enough, he might not be able to perform exploratory testing effectively.
- This testing is not good for long execution time.