Simple Explanation Of Heuristics And Oracles For Testers — Tentamen Software Testing Blog

Image by from


Now that we explored will try to give a simple explanation for heuristics and oracles with examples. had already done an excellent explanation with examples of those two concepts. This is a part of the Exploratory Testing Pathway. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.

Heuristics And Oracles

As Katrina pointed out, Heuristics and Oracles are two scary words! What those two had to do with testing? Well, those two words are essential for Critical Thinking skill:

Critical thinking is the analysis of facts to form a judgment [].

Software testers are doing analysis of application under test. Note here that analysis is a complex task, and it is not checking. In checking, you know the of your test. In testing, you do not know the expected result. You can only assume what could be an expected result.

Heuristics are simply experience-based techniques for problem-solving, learning, and discovery. [].

Oracle is a special kind of heuristic that helps us to identify do we have a problem (a bug) here.


The new version of the web application is deployed in the testing environment. My heuristic is that I need to load the home page and hit browser refresh. Application is a Single Page Javascript Application (SPA) that access the REST JSON API. Doing that, I will remove the previous version of the SPA from the Browser cache.

Hmm, experience-based, but what if I do not have testing experience? How do I learn my heuristics? Learn from testers that have experience. Read their books or blog posts. Katrina listed a few of them.


Oracle is a heuristic that helps us to identify do we have a problem here. From the previous SPA example, let’s say that I found that one UI component does not show data. My oracle is if any of the REST API calls in the Chrome Developer tools network tab is red (error HTTP code), then we have an issue in the SPA part of the application, unhandled error code from backend.


Software testing is a critical thinking analysis of application under test. Heuristics and oracles are essential tools for that activity.

Originally published at on September 30, 2020.




Founder of Tentamen, software testing agency.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Physical and Logical Reads in SQL Server

Beizer Testing Levels Exercise — Tentamen Software Testing Blog

S2 — The best IDE I have used so far

Maximum profit by buying and selling shares by Dynamic Programming

Resources to learn Flutter

Easy WordPress Theme Customization

Publications — A steady stream of self-published superficial

If You Don’t Want a Full-Time Job, You’re Not Lazy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Karlo Smid

Karlo Smid

Founder of Tentamen, software testing agency.

More from Medium

How Leaders Build A Better Workplace

Let’s Grow By Feedback!

The Most Boring Article About UXUI Project You’ll Ever Read

Design Sprint Individual Work