Bug finding heuristics
I come, I see and I report bugs.
Testing has become so natural to me that I have been reporting bugs on the road, finding issues in any website, even I have 100% success rate in finding an issue in any restaurant’s menu that I visit. How do testers like me do that?
(Photo by me :) )
All testers who are good at finding big bugs use heuristics, whether or not they know it. Here is a list of the heuristics that I mostly use:
You must click what you see
This story goes back to mid-1990s when I was first learning how to operate computers. I’d ask so many questions to my mentor (who happened to be my elder brother too) where as he wanted me to explore stuff at my own. He suggested me “to click what you see and then see what happens”. 18 years or so have past since I received this advice and this is the biggest trick that works in finding bugs.
The belief has two parts. One, I have a firm belief in the human race that they err a lot. Secondly, I have belief in me as a tester that I can catch it. That is where if with this belief you test a website, you’ll find a bug in 5 minutes.
The road less traveled
This heuristic is usually applied in exploring new markets or new arenas but is equally applicable in bug hunting. The feature that has been least tested or the pages that have a likelihood of least visit will yield you the bugs faster than well tested areas.
No User would do that
This is usually an excuse of ‘not a bug’ by the fellow programmers or project managers but it works really well as a heuristic. All penetration testing is based on this and Dan Ashby has a great post where he analyzes putting a shoe on the keyboard.
Software bugs are like real bugs
This is a very interesting analogy and I wrote about it in details earlier. Though it is usually mentioned only in the Pesticide paradox, but if you consider software bugs to live in colonies, you can find more bugs. As soon as you spot a bug in an area, dig around and all the brothers and sisters and fathers and mothers and cousins and extended family members of the bug will be living nearby.
Do you use any of these? Or what heuristics you use to find bugs?