Manuals / Exploratory Testing / Chapter 6

B · Thinking tools · intermediate · ~30 min · Chapter 6 of 9

Oracles & recognizing bugs

An oracle is how you know something is wrong: consistency, standards, user expectations, history, claims in docs.

Path progress
67%

Step 1 of 1

Name your oracle

Every bug report implies an oracle. Make it explicit.

Name your oracleDrag stickies · tap for tips
Study mapDrag stickies · tap for tipsKeep it shortdrag · tap →Name the waitdrag · tap →Scope locatorsdrag · tap →Trace when stuckdrag · tap →One browser firstdrag · tap →Isolate statedrag · tap →Assert the UIdrag · tap →Retry wiselydrag · tap →Seed datadrag · tap →Close the loopdrag · tap →Keep it shortdrag · tap →Name the waitdrag · tap →Scope locatorsdrag · tap →Trace when stuckdrag · tap →One browser firstdrag · tap →Isolate statedrag · tap →Pathwise hackdrag · tap →Name your oracledrag · tap →Try thisdrag · tap →Follow the dashed drag · tap →

Do this now

For 3 bugs you’ve filed (or will file), write the oracle in one line.

Pro tip: “I don’t like it” is taste. “Violates stated pricing rules” is an oracle.

Was this step clear?
Chapter learning outcomes
  • FEW HICCUPPS
  • Consistency oracles
  • When “weird” isn’t a bug

Clear these before you leave