Heuristics in testing
Last modified on Wed 10 Feb 2021

Heuristics are mental shortcuts that allow an individual to make a decision, pass judgment, or solve a problem quickly and with minimal mental effort. They help us process large amounts of information and make many choices with limited amounts of time. They reduce the burden of decision-making and free up limited cognitive resources. When information is missing, or an immediate decision is necessary, heuristics act as “rules of thumb” that guide behaviour down the most efficient pathway. However, they can also be costly when they lead individuals to miss critical information or act on unjust biases.

There are many software testing heuristics that can help guide you in your testing processes. You probably already know about the Goldilocks heuristic (even though you might not call it that). For example, when testing data input fields, you will probably try out data entries that are too big or too small, as well as the typical entries. This is rather thoroughly covered in another Handbook chapter.

Cheat sheet with different heuristics

In the image below, you can find an expanded overview of the Goldilocks heuristic along with a cheat sheet containing other interesting test heuristics you should keep in mind when you start testing:

Heuristics cheatsheet

The full cheat sheet can be found here.

Mnemonics

The easiest way to remember some of the most popular heuristics is through mnemonics. Mnemonics are memory devices that help in the retention and retrieval of larger pieces of information. For example, you can remember the first letter of each word in a list of items.

RCRCRC

One such mnemonic is RCRCRC, which can give you inspiration for your regression testing.

I SLICED UP FUN

Another popular mnemonic for testing mobile apps is I SLICED UP FUN.

FEW HICCUPS

FEW HICCUPS is a mnemonic that can help you remember key words for oracles that could support you with identifying problems in your product. These oracles are particularly useful when a specification is missing or contains inadequate information. It’s important to note that all oracles are heuristics; they’re just a specific type of heuristic which could help you recognize problems in your product.

An important thing to remember when you're applying some of these (or other) heuristics is that not every heuristic is applicable to every app. And this is okay. You are allowed to cherry-pick what you think your testing would benefit the most from.

Personal heuristics

Now that you understand how other people use them, maybe you can think of some of your own heuristics. You can try the following: