How a Good Bug Hunter Prioritizes his Bug Hunting Activities in Software Testing
Let us firstly understand as to what is a bug hunter?
A bug hunter is an experienced & enthusiastic exploratory tester. Good bug hunters usually do the following:
1) Do initial exploratory testing of a suspect area, to develop ideas for more detailed attacks that can be performed by less experienced testers.
2) Explore an area that is allegedly low risk – can he quickly find bugs that would lead to reassessment of the risk?
3) Troubleshoot key areas that seem prone to irreproducible bugs.
4) Find critical bugs that will convince the project manager to slip a (premature) release date.
How to prioritize the bug hunting activities?
Generally the mission of a good bug hunter is finding bugs that are important (as opposed to insignificant) and finding them quickly. If so, what does this mean in terms of the tests that are run?
You can use following suggestions to prioritize bug hunting in your software testing effort.
1) Test things that are changed before things that are the same. Fixes and updates mean fresh risk.
2) Test core functions before contributing functions. Test the critical and the popular things that the product does. Test the functions that make the product what it is.
3) Test capability before reliability. Test whether each function can work at all before going deep into the examination of how any one function performs under many different conditions.
4) Test common situations before esoteric situations. Use popular data and scenarios of use.
5) Test common threats before exotic threats. Test with the most likely stress and error situations.
6) Test for high-impact problems before low-impact problems. Test the parts of the product that would do a lot of damage in case of failure.
7) Test the most wanted areas before areas not requested. Test any areas and for any problems that are of special interest to someone else on the team.
Conclusion:You will also find important problems sooner if you know more about the product, the software and hardware it must interact with, and the people who will use it. Study these thoroughly.