Making Exploratory Testing Interesting and Effective for Your Testing Community
There is a myth that there is no end to testing a product or an application in the testing industry. Over the last two decades testing has evolved as a separate discipline. These days software testing includes quality consulting, test strategy, test planning, traceability and requirements analysis which are breaking this myth. Exploratory testing has withstood the test of time yielding good results and also helping the tester think out of box. It is being relied upon completely over formal testing techniques, in situations where the product requirements isn’t clear or the release time is very short. When it is of such importance and value, how can you encourage your teams to use this technique and how can you better interpret and communicate the results of exploratory testing.
Here are some simple yet effective techniques to motivate your team into exploratory testing:
Quite often there is no room for exploratory testing since the team is busy running scripted tests. Set aside half hour each day for exploratory testing during which the team solely focuses on that. Encourage creativity and put your team in end user’s shoes. Exploratory testing may not be required on a daily basis and can be done periodically.
In case of heavy role based product that may need simultaneous interactions assign roles to your testers during the exploratory phase and also periodically swap roles among the testers.
Conduct bug bashes whether you are a product or a services company. This adds value to your overall project engagement with your customer. Give prizes to testers for various categories of bugs bashes. Even appreciating the tester in front of the team or giving a certificate can motivate the entire team.
Cross assign testers across products. If a project doesn’t have restrictions imposed on external team members, encourage cross sharing of testers to promote more creativity. This motivates the tester and breaks monotony and brings in fresh perspectives to test the product.
Try involving non testers to play around with the product. In my past when we tested a mobile application, we had test managers and directors come participate in the bug bash which helped us emulate some user scenarios .
Encourage exploratory testing for all kinds of testing assignments – black, gray and white box. It is misconstrued that exploratory testing can be done only black box. If you understand exploratory testing as something that promotes the tester to be extempore rather than being bound by a formally written test case, you will appreciate this technique in all testing assignments.
I next want to touch upon how to interpret the results of exploratory testing as unless this is done in an informed manner, to the untrained eye, it may reflect badly on the overall test coverage:
1. Interpreting the results is as important as it timing. Some teams take on this testing technique even before a formal test pass can start. Teams also take on this testing after formal testing has been completed as a supplemental method to find bugs. Most teams that adopt an agile methodology follow the former approach. Regardless of the approach most bugs would be found through exploratory testing but this is in no way reflective of poor test coverage.
2. Scripted tests often follows product specifications. However exploratory testing knows no bounds and often finds bugs in the unbeaten path. Thus a combination of scripted and exploratory testing helps drive the quality of the product. To make tests repeatable and constant, the tester should add test cases for valid exploratory bugs filed which ensure they are not missed during the regression cycle.
3. Bugs found towards product release, greatly determine the product’s ship date. When analyzing bugs from bug bashes involve a triage team, representing the program and project management teams, development and test teams.
4. However exploratory testing has one important limitation. In scripted testing, formal design and review methods are implemented and test cases vetted for validity before they are executed. This stringent reviews ensure that the bugs found have a very high validity rate. While exploratory testing does not follow such set bounds, there is a higher chance for false positives in the bugs filed. This may bring down the value of the exploratory team amongst the rest. To ensure such false positives are kept low, peer reviews or reviews with the test lead / manager is often recommended for exploratory bugs.
A combination of scripted and exploratory testing is the secret recipe to test and improve product quality. Exploratory testing cannot be taught, it is an art that one needs to pick it up through experience. Herein I’ve shared with you all some approaches. Try these techniques on yours too and let me know if you have any suggestions, comments, questions.
For more information : http://www.qainfotech.com
—————————-
Rajini Padmanaban, Director Engagement — Global Testing Services, QA InfoTech. She has years of experience in Quality Assurance and providing software testing services. She has been involved in providing exploratory testing to many technically challenging projects.