Automated Software Testing Heuristics

This article by Adam Goucher identifies a handful of heuristics that apply to software testing automation. While not an exhaustive set, it is a useful one, and it will put you on the path to identifying and collecting your own set of automation heuristics. Heuristics are used in testing as rules of thumb or prompts for solving a particular problem or class of problems.

An important characteristic of heuristics is that they are fallible in certain situations, though correct in most situations. And then there are anti-heuristics which are fallible in most situations. Software testing automation is an inherently heuristic activity. Some of the risks associated with it can be managed by making conscious decisions about which heuristics to employ and which anti-heuristics to avoid. Killing false ideas is important in all testing, including automation. Recall that both activities are heuristic based. Which means that any “best practices” or “expert advice” is fallible. It is therefore important to constantly look at the path you are on and determine whether the practice is one that you should continue, or should kill.