petrkindlmann/qa-skillsMIT3 files

Exploratory Testing

>-

Specification
Skill ID
petrkindlmann/qa-skills/exploratory-testing
Publisher
petrkindlmann
Repository
qa-skills
Installs
0
Files
3
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

petrkindlmann/qa-skills/exploratory-testingInstalls these files
  • SKILL.md
  • references/heuristics-and-automation.md
  • references/session-templates.md

What this skill tells the agent

<objective> Structured exploration that finds bugs scripted tests miss. Exploratory testing is simultaneous learning, test design, and execution -- the tester adapts in real time based on what the application reveals. This skill provides the frameworks to make that exploration systematic, repeatable, and documentable. </objective>


Quick Route

Match the situation to a charter pattern and the reference section to open.

SituationCharter patternOpen in references
New feature — learn it, find requirement gaps"Explore [feature] with various roles/data to discover requirement gaps and unexpected behaviors"Charter examples + session flow in session-templates.md; boundary/"what if" banks in heuristics-and-automation.md
Regression — a change just landed"Explore [area] after [change] to discover regressions at integration points"State-transition heuristics in heuristics-and-automation.md
Bug investigation — vague report ("sometimes slow")"Explore [area] with [reported conditions] to discover exact reproduction steps"Session flow + session-log template in session-templates.md; error-handling heuristics in heuristics-and-automation.md

Full time splits for each row are in Session Planning by Context below.


Discovery Questions

Before designing a session, gather context. Check .agents/qa-project-context.md first -- if it exists, use it as the foundation and skip questions already answered there.

Target Area

  • What feature, module, or flow is the exploration target?
  • Is this a new feature (discovery mode) or existing feature (regression mode)?
  • What is the most recent change to this area?
  • Are there known risk areas or previous bug clusters here? (See risk-based-testing for risk data.)

Hypotheses and Suspicions

  • What do you think might break? (Hunches are valid starting points.)
  • What did the developer say was tricky or uncertain?
  • Are there areas the automated suite does not cover?
  • Have users reported issues in this area before?

Time and Scope

  • How much time is available for this session? (45-90 minutes is optimal.)
  • Is this a broad survey (casting a wide net) or deep dive (focused attack on one area)?
  • What environments and data sets are available?
  • Are there specific platforms, browsers, or device types to focus on?

Team Context

  • Who built the feature? (Pairing with the developer during exploration can be powerful.)
  • Is there a tester who has domain expertise in this area?
  • Who should receive the session report?

Core Principles

1. Structured Freedom

Exploratory testing is not "click around and see what happens." It is guided by a charter that defines the target, resources, and information goal. Within that charter, the tester has freedom to follow leads, investigate anomalies, and change direction based on discoveries. The structure makes it repeatable; the freedom makes it effective.

2. Document As You Go

Observations not recorded are observations lost. Take notes during the session, not after. Record what you did, what you saw, and what questions arose. The session log is the deliverable -- it replaces a test script.

3. Heuristics Over Scripts

Heuristics are thinking tools that guide exploration without dictating exact steps. HICCUPS and FEW HICCUPS (below) provide systematic lenses for examining software. They help testers ask better questions and notice things they would otherwise miss.

4. Time-Boxed Sessions

Open-ended exploration suffers from diminishing returns. After 90 minutes, fatigue reduces bug-finding effectiveness. Time-box sessions to 45-90 minutes, then debrief. Short focused sessions outperform long unfocused ones.

5. Bugs Found Are the Beginning, Not the End

An exploratory session that finds a bug has only done half its job. The other half is: Could this bug have been caught by an automated test? If yes, write that test. Exploratory testing feeds the automation pipeline.


Session-Based Test Management (SBTM)

SBTM gives exploratory testing a management layer: charters define intent, sessions are the unit of work, debriefs extract learnings.

Canonical references: - SBTM PDF (Jon Bach / James Bach, satisfice.com) — https://www.satisfice.com/download/session-based-test-management - Taking Testing Seriously: The Rapid Software Testing Approach (Bach & Bolton, Wiley 2025) — current authoritative RST/SBTM book. - HTSM v6.3 (Bach, last updated Dec 2024) — emphasizes state-based testing and boundary heuristics. Pair with HICCUPS below.

Charter Template

A charter is a one-sentence mission statement following this pattern:

Explore [target]
  with [resources]
  to discover [information]

Charter quality checklist:

  • Target is specific enough to guide exploration (not "explore the app")
  • Resources name specific tools, data, or conditions to use
  • Information goal describes what you want to learn, not what you want to prove
  • A single session can reasonably cover the charter in 45-90 minutes

See references/session-templates.md for five worked charter examples (checkout, profile, search, data export, multi-user collaboration).

Session Setup, Flow, and Debrief

The full session lifecycle — pre-session setup steps, environment preparation checklist, the minute-by-minute session flow, the "when you find something interesting" loop, and the structured debrief template — lives in references/session-templates.md. Pull it up at the start of a session and keep it open.

Key timing guardrails to remember without opening the reference: orient and survey in the first 15 minutes, explore for ~40, wrap up and debrief at the end. Always debrief, even solo.


Bug Discovery Heuristics

Heuristics are mental models that guide exploration. They are not checklists to exhaustively complete -- they are lenses to look through.

HICCUPS

A mnemonic for seven oracles that reveal bugs. An oracle is a principle for recognizing problems.

LetterOracleWhat to CheckExample Questions
HHistoryDoes current behavior match past behavior?Did this work in the last release? Has the behavior changed subtly?
IImageDoes it match the product's brand and quality bar?Does this look polished? Does it feel consistent with the rest of the app?
CComparableHow do similar products handle this?What does the competitor do here? What is the industry standard?
CClaimsDoes it match what was promised?Does it match the spec? The marketing page? The tooltip text?
UUser expectationsWould a real user find this confusing or frustrating?Would my mother understand this? Would a power user be annoyed by this?
PProductIs it consistent with other parts of the same product?Does this error message match the style of other error messages?
SStandardsDoes it comply with applicable standards?WCAG for accessibility, RFC for protocols, GDPR for data handling?

FEW HICCUPS (Extended)

Adds three lenses to the base HICCUPS model:

LetterOracleWhat to Check
FFamiliarityWould a first-time user understand this without help?
EExplainabilityCan you explain the behavior to someone else? If not, it might be a bug.
WWorldDoes it work in the real world? (different locales, time zones, network conditions, screen sizes)

Heuristic Test-Idea Banks

The detailed test-idea lists for boundary, state-transition, error-handling, and "what if" exploration are in references/heuristics-and-automation.md. Reach for them when you need concrete prompts:

  • Boundary heuristics — numeric, string, time, and collection boundaries (zero/one/many, max±1, Unicode, DST, page-size edges).

Use this skill in a project

Open any RiverX project, search the Skills panel for petrkindlmann/qa-skills/exploratory-testing, and install it in one click.

Use this skill