Meaning of Exploratory Testing is self explanatory. In plainest form, we can define it as discovery of test cases while testing functionality and then simultaneous learning functionality and designing test cases and executing them. It is useful in testing any type of application either simple or complex but It is extremely useful in following scenarios:-
1. When you have no/less requirements or specifications
2. When you have little or no knowledge domain
3. When you do not have time to specify, script and test
After reading few articles or papers on exploratory testing, I came to one conclusion that every tester does blend of both scripted and exploratory testing because while scripting test cases we cannot think of every obvious scenario which according to my experience happens most of the times. We come across with many other different test cases other than those scripted ones while doing real time testing of application.We know that there is always difference between what is written on a piece of paper and what you see working in real time.
My intent behind writing this blog is to showcase some information which I collected while working as a tester in my last project that nearly 40-45% of bugs were found during exploratory testing which were different from my scripted test cases. I would not say that this is a fixed percentage .This can vary depending on one’s knowledge of domain or complexity of application and many other factors.
Below graph shows the aggregated result percentage of bugs found in functionality testing on project where I was working as test consultant . I noticed that about 40-45% of bugs were found during exploratory testing.
Exploratory testing is fun to do and if it is done properly then tester can find many great and hidden bugs. It is an approach to find out how software works and quality of testing depends on tester's skills of inventing test cases and finding bugs. We can gain knowledge and expertise on what to test and how to identify problems by studying competitive products, researching history of product, studying related products, etc. Inspite of its advantages, it has disadvantage also like test cases invented on the fly becomes difficult to recreate as it can be difficult to show what all test cases are run.