For many testing organizations, bug hunting is a common practice and yet often misunderstood by test managers who confuse it with informally playing with the application to find “border-case defect”.
So, what is bug hunting?
It’s an informal testing exercise with a specific objective or a person. It’s often confused with “exploratory testing” due to the similarities. Let’s look at the comparison between the two to better understand the concept of bug hunts.
|Bug Hunting||Exploratory Testing|
|Need to be conducted as a group activity||Can be done by a single tester|
|Involves non-testers and finds less-conventional bugs||Usually involves regular testers and finds “regular bugs”|
|Requires the system to be stable||Can be used in all stages of the testing process|
How to Plan a Bug Hunt
It’s when 2 engineers are working on 1 computer (or environment). The idea stems from pair programming with all its known advantages such as positive pressure from the working partner, brainstorming, and knowledge sharing. It helps generate good results for teams, especially when developers are paired up with testers.
Soap Opera Scenarios
These are relatively short end-to-end scenarios that take the system on a fast chai of events, from the beginning of a complex operation to the very end. Working under extreme conditions allows us to find issues that were initially missed during controlled scenarios and scripts.
The human factor has an important role in this approach. To encourage engineers to detect as many bugs as possible using the provided issue tracking tools, set a giveaway (t-shirt, for example) or prize money that will be given to the pair which exceeds statistics such as most serious bug detected, the number of original bugs per day, the worst system crash, etc.
So, before you start planning a bug hunt, here are some of the things you need to keep in mind:
1. Make sure that a minimal application maturity level has been reached. You may be ahead of your tie if the system keeps crashing all the time or it’s still too easy to detect critical bugs.
2. Use real-life data to work on testing environments. Your tests must be able to simulate a real working environment.
3. A balanced activity schedule must be created. Where all parts of an application are worked on for (nearly) equal amount of time and both exploratory tests and soap opera scenarios are run.
4. Use issue tracking tools to manage the activity. These tools help you keep track of the issues detected by the team; by using a dashboard, you can ensure that all team members are updated on the position of the rest of their peers.
5. Have a bug referee who decides whether the findings are real and also stops duplications from being counted and reported.
6. Create anticipation by having publicity campaigns and internal teasers ahead of the activity.
7. Keep the environment informal, play music, bring pizzas and sodas, use out-of-the-ordinary things that create a feeling of a special occasion.