Skip to content

Exploratory Testing

Exploratory testing is simultaneous learning, test design and execution. Instead of following a predefined script, the tester designs and runs tests as understanding grows, following curiosity and risk rather than a checklist. It explores where scripted tests cannot: the unexpected, the ambiguous, the integration seam nobody specified.

charter ──► session (time-boxed) ──► notes / debrief
│ │ │
└ a mission └ explore + learn + test └ findings → new tests or bug reports

The disciplined form is Session-Based Test Management (SBTM): each session is time-boxed (typically 60-120 minutes), driven by a written charter (a one-line mission), and produces a debrief and notes. Heuristics give the exploration structure — for example SFDIPOT (Structure, Function, Data, Interfaces, Platform, Operations, Time) or the quality criteria CRUSSPIC STMPL.

Use it for

  • New or poorly specified features where scripted tests would miss things
  • Investigating a suspicious bug where the cause is unknown
  • Complementing automation — humans explore, machines repeat
  • Finding the risks that requirement documents never mentioned

Avoid it when

  • The check is stable and repeatable → automate it instead
  • You need an auditable pass/fail record for a release → use acceptance testing
  • You need to prove nothing else broke → use regression testing
Tool Ecosystem Notes
Session sheets / SBTM Process Charter, time-box, debrief; the core discipline
Rapid Reporter Multi Timed-session note-taking tool for explorers
Exploratory Testing Chrome Extension Browser Tracks actions and captures screenshots during a session
Charters / mind maps Process Structure areas and risks before exploring
Heuristics (SFDIPOT, FEW HICCUPPS) Process Mnemonics that make exploration systematic
Playwright / Cypress Multi Capture a found path as an automated check
DevTools Browser Inspect network, console and layout live while exploring
Bug trackers (Jira, GitHub Issues) Multi Turn findings into tracked, reproducible reports
Terminal window
# Chrome extension for session capture, plus a scripted repro after you find a bug
npm install -D @playwright/test
npx playwright codegen https://staging.example.com
Charter: Explore coupon redemption at checkout to find pricing errors.
Areas: discount stacking, expired codes, currency rounding, partial refunds
Duration: 90 minutes
Heuristics: SFDIPOT (Data, Time), FEW HICCUPPS (Consistency, Claims)
Learnings: -
Bugs: -
  • Always charter the session. A mission keeps exploration focused and reportable.
  • Time-box it. Fixed sessions prevent unbounded wandering and make effort measurable.
  • Take notes as you go. Undocumented exploration is lost knowledge; notes become tests and bugs.
  • Use heuristics for coverage. SFDIPOT and FEW HICCUPPS turn curiosity into structure.
  • Convert findings into automation. Once a bug is understood, capture a repeatable check.
  • Debrief every session. Review learnings, bugs and new charters; exploration should compound.

Self-assessment quiz

Pick one answer per question, then press Check answers.

  1. What are the three activities performed simultaneously in exploratory testing?
  2. What is a session charter?
  3. In Session-Based Test Management, sessions are typically:
  4. Which is a testing heuristic used to structure exploration?
  5. What is the best next step once exploration uncovers a reproducible bug?