When to use
When you want to find defects that scripted cases won't — usability gaps, edge interactions, "what happens if I..." bugs — under a focused mission and a timebox. A charter turns open-ended poking into disciplined, reportable exploration. Best for new features, gnarly areas, or pre-release confidence beyond the regression suite.
Not for: verifying a specific known requirement (write a test case), regression checks (see qa-regression-suite), or aimless clicking with no mission. Exploration without a charter is just clicking around; the charter is what makes it accountable.
Method
- Write the mission — one sentence naming target + purpose: "Explore the file-upload flow to discover failures in size, type, and network-interruption handling." Narrow enough to finish in one timebox.
- Set the timebox — typically 60-90 minutes. Decision point: if the area is too big for one box, split into multiple charters rather than sprawling.
- Pick tours to structure coverage: Feature tour (every control once), Money tour (anything touching value/transactions), Landmark tour (key screens in odd orders), Antisocial tour (invalid/hostile inputs), Interruption tour (kill network, background the app, double-submit).
- Load heuristics to trigger ideas: boundaries (0, 1, max, max+1, negative, empty), CRUD consistency, "goldilocks" (too big/small/just right), consistency with rules and history.
- Explore and log continuously — note bugs, questions, and new charter ideas as you go. Decision point: if you find a rich bug seam, spawn a follow-up charter instead of blowing the current timebox.
- Debrief: summarize coverage, bugs found, areas not reached, and confidence.
Example
Charter: Explore discount-code entry to find validation and stacking failures. Timebox 60m.
Tours: Money tour (totals), Antisocial tour (malformed codes).
Heuristics: boundaries (empty, 100-char code), stacking (2 codes), casing (LOWERcase).
Findings: BUG code field trims to 8 chars silently; QUESTION should stacked codes cap at cart total?
Not reached: gift-card interaction. Confidence: medium.
Pitfalls
- Mission too broad — "test the app" can't be covered or debriefed; scope to one flow.
- No notes — you find a bug, forget the steps, can't reproduce. Log as you go.
- Blowing the timebox — chasing one bug for 3 hours; spawn a follow-up charter instead.
- No debrief — exploration with no summary teaches the team nothing about coverage or confidence.
Output format
Charter mission: <target + purpose, one sentence>
Timebox: <minutes> Tester: <name>
Tours: <feature/money/landmark/antisocial/interruption>
Heuristics to apply: <boundaries, CRUD, consistency, goldilocks...>
--- Session notes ---
Bugs found: <ref + one-line>
Questions raised: <open items for dev/PM>
New charter ideas: <follow-ups>
Areas not reached: <coverage gaps>
Confidence: <low/medium/high> + why
1---2name: qa-exploratory-charter3description: Design a time-boxed exploratory-testing charter with a clear mission, tours, and heuristics to find bugs scripted tests miss.4---56## When to use78When you want to find defects that scripted cases won't — usability gaps, edge interactions, "what happens if I..." bugs — under a focused mission and a timebox. A charter turns open-ended poking into disciplined, reportable exploration. Best for new features, gnarly areas, or pre-release confidence beyond the regression suite.910**Not for:** verifying a specific known requirement (write a test case), regression checks (see qa-regression-suite), or aimless clicking with no mission. Exploration without a charter is just clicking around; the charter is what makes it accountable.1112## Method13141. **Write the mission** — one sentence naming target + purpose: "Explore the file-upload flow to discover failures in size, type, and network-interruption handling." Narrow enough to finish in one timebox.152. **Set the timebox** — typically 60-90 minutes. Decision point: if the area is too big for one box, split into multiple charters rather than sprawling.163. **Pick tours** to structure coverage: *Feature tour* (every control once), *Money tour* (anything touching value/transactions), *Landmark tour* (key screens in odd orders), *Antisocial tour* (invalid/hostile inputs), *Interruption tour* (kill network, background the app, double-submit).174. **Load heuristics** to trigger ideas: boundaries (0, 1, max, max+1, negative, empty), CRUD consistency, "goldilocks" (too big/small/just right), consistency with rules and history.185. **Explore and log continuously** — note bugs, questions, and new charter ideas as you go. Decision point: if you find a rich bug seam, spawn a follow-up charter instead of blowing the current timebox.196. **Debrief:** summarize coverage, bugs found, areas not reached, and confidence.2021## Example2223```24Charter: Explore discount-code entry to find validation and stacking failures. Timebox 60m.25Tours: Money tour (totals), Antisocial tour (malformed codes).26Heuristics: boundaries (empty, 100-char code), stacking (2 codes), casing (LOWERcase).27Findings: BUG code field trims to 8 chars silently; QUESTION should stacked codes cap at cart total?28Not reached: gift-card interaction. Confidence: medium.29```3031## Pitfalls3233- **Mission too broad** — "test the app" can't be covered or debriefed; scope to one flow.34- **No notes** — you find a bug, forget the steps, can't reproduce. Log as you go.35- **Blowing the timebox** — chasing one bug for 3 hours; spawn a follow-up charter instead.36- **No debrief** — exploration with no summary teaches the team nothing about coverage or confidence.3738## Output format3940```41Charter mission: <target + purpose, one sentence>42Timebox: <minutes> Tester: <name>43Tours: <feature/money/landmark/antisocial/interruption>44Heuristics to apply: <boundaries, CRUD, consistency, goldilocks...>45--- Session notes ---46Bugs found: <ref + one-line>47Questions raised: <open items for dev/PM>48New charter ideas: <follow-ups>49Areas not reached: <coverage gaps>50Confidence: <low/medium/high> + why51```