Advanced Exploratory Testing
Quick Heuristic Selection:
- What to test → SFDIPOT (Structure, Function, Data, Interfaces, Platform, Operations, Time)
- Recognize problems → FEW HICCUPPS (Familiar, Explainable, World, History, Image, Comparable, Claims, Users, Product, Purpose, Standards)
- Navigate app → Test Tours (12 types for different exploration strategies)
Critical Success Factors:
- Exploration is skilled, structured thinking - not random clicking
- Document discoveries, not pre-planned test cases
- Pair testing reveals more than solo exploration
Quick Reference Card
When to Use
- Investigating new or changed features
- Finding bugs automation misses
- Learning unfamiliar systems
- Risk discovery before test planning
Session Structure (SBTM)
| Phase |
Duration |
Activity |
| Charter |
5 min |
Define mission, scope, focus |
| Explore |
45-75 min |
Systematic investigation |
| Note |
Continuous |
Document findings real-time |
| Debrief |
10-15 min |
Summarize, prioritize, share |
SFDIPOT Heuristic (What to Test)
| Letter |
Focus |
Example Questions |
| Structure |
Is it properly composed? |
Code structure, UI layout, data schema |
| Function |
Does it do what it should? |
Core features work correctly |
| Data |
Handles data correctly? |
CRUD, validation, persistence |
| Interfaces |
Interacts well? |
APIs, UI, integrations |
| Platform |
Works in environment? |
Browsers, OS, devices |
| Operations |
Can be used/managed? |
Install, config, monitor |
| Time |
Handles timing? |
Concurrency, timeouts, scheduling |
FEW HICCUPPS Oracle (Recognize Problems)
| Consistency With |
Check |
| Familiar problems |
Does this look like a known bug pattern? |
| Explainable |
Can behavior be explained rationally? |
| World |
Matches real-world expectations? |
| History |
Consistent with prior versions? |
| Image |
Matches brand/product image? |
| Comparable |
Similar to competing products? |
| Claims |
Matches specs/docs/marketing? |
| Users |
Meets user expectations? |
| Purpose |
Fulfills intended purpose? |
| Statements |
Matches what devs said? |
Test Tours (12 Types)
| Tour |
Strategy |
| Business District |
Critical business flows |
| Historical |
Where bugs clustered before |
| Bad Neighborhood |
Known problem areas |
| Money |
Revenue-impacting features |
| Landmark |
Navigate by key features |
| Intellectual |
Complex, thinking-intensive features |
| FedEx |
Follow data through system |
| Garbage Collector |
Cleanup and edge cases |
| Museum |
Help docs and examples |
| Rained-Out |
What happens when things fail? |
| Couch Potato |
Minimal effort paths |
| Obsessive-Compulsive |
Repetitive actions |
Session Note Template
**Charter:** Explore [area] to discover [what] focusing on [heuristic]
**Time-box:** 60 min | **Tester:** [name] | **Date:** [date]
## Session Notes
- [timestamp] Observation/finding
- [timestamp] Bug: [description] - [severity]
- [timestamp] Question: [unclear behavior]
## Findings Summary
- Bugs: X (Critical: Y, Major: Z)
- Questions: X
- Ideas: X
## Coverage
- Areas explored: [list]
- Heuristics used: [SFDIPOT areas]
- % Time on: Bug investigation 30%, Exploration 50%, Setup 20%
## Next Steps
- [ ] Deep dive on [area]
- [ ] Follow up on question about [topic]
Agent-Assisted Exploration
// Collaborative exploration session
await Task("Exploratory Session", {
charter: 'Explore checkout flow for payment edge cases',
duration: '60min',
heuristics: ['SFDIPOT', 'FEW_HICCUPPS'],
tour: 'money',
collaboration: 'human-navigator-agent-driver'
}, "qe-flaky-test-hunter");
// Agent generates test variations while human observes
await Task("Edge Case Generation", {
area: 'payment-form',
variations: ['boundary-values', 'invalid-inputs', 'concurrent-submits']
}, "qe-test-generator");
// Visual exploration
await Task("Visual Exploration", {
tour: 'landmark',
focus: 'responsive-breakpoints',
compare: 'baseline-screenshots'
}, "qe-visual-tester");
Agent Coordination Hints
Memory Namespace
aqe/exploratory/
├── sessions/* - Session notes and findings
├── charters/* - Reusable charter templates
├── bug-clusters/* - Historical bug patterns
└── heuristic-results/* - What heuristics revealed
Fleet Coordination
const exploratoryFleet = await FleetManager.coordinate({
strategy: 'exploratory-testing',
agents: [
'qe-flaky-test-hunter', // Pattern recognition
'qe-visual-tester', // Visual anomalies
'qe-quality-analyzer' // Risk assessment
],
topology: 'mesh'
});
Pairing Patterns
| Pattern |
Human Role |
Agent Role |
| Driver-Navigator |
Navigate strategy |
Execute variations |
| Strong-Style |
Dictate actions |
Record findings |
| Ping-Pong |
Observe one area |
Explore another |
Related Skills
Remember
Exploratory testing = simultaneous learning, test design, and test execution.
Not random clicking. Structured, skilled investigation guided by heuristics and oracles. Document discoveries in real-time. Pair testing amplifies findings.
With Agents: Agents generate variations, recognize patterns, and maintain session notes while humans apply judgment and intuition. Combine agent thoroughness with human insight.
Gotchas
- Agent treats exploratory testing as scripted test execution — remind it: exploration means learning + adapting in real-time
- Session notes from agents lack the "why I tried this" reasoning — explicitly ask for decision rationale
- 90-minute sessions cause context overflow — cap at 45 minutes with explicit debrief
- Agent defaults to happy-path exploration — explicitly assign "Bad Neighborhood" or "Saboteur" tours for negative testing
- SFDIPOT heuristics are misapplied when agent doesn't understand the domain — provide domain context upfront
1---
2name: exploratory-testing-advanced
3description: "Advanced exploratory testing techniques with Session-Based Test Management (SBTM), RST heuristics, and test tours. Use when planning exploration sessions, investigating bugs, or discovering unknown quality risks."
4category: testing-methodologies
5priority: high
6tokenEstimate: 1000
7agents: [qe-flaky-test-hunter, qe-visual-tester, qe-quality-analyzer]
8implementation_status: optimized
9optimization_version: 1.0
10last_optimized: 2025-12-02
11dependencies: []
12quick_reference_card: true
13tags: [exploratory, sbtm, rst, heuristics, test-tours, session-based]
14trust_tier: 0
15validation:
16---
17
18# Advanced Exploratory Testing
19
20<default_to_action>
21When exploring software or investigating quality risks:
221. CREATE charter with mission, scope, and time-box (45-90 min)
232. APPLY heuristics: SFDIPOT (quality criteria), FEW HICCUPPS (consistency oracles)
243. EXPLORE systematically using test tours (Business District, Bad Neighborhood, Historical)
254. DOCUMENT findings in real-time with notes, screenshots, evidence
265. DEBRIEF: What learned? What's next? Share via agent memory
27
28**Quick Heuristic Selection:**
29- What to test → SFDIPOT (Structure, Function, Data, Interfaces, Platform, Operations, Time)
30- Recognize problems → FEW HICCUPPS (Familiar, Explainable, World, History, Image, Comparable, Claims, Users, Product, Purpose, Standards)
31- Navigate app → Test Tours (12 types for different exploration strategies)
32
33**Critical Success Factors:**
34- Exploration is skilled, structured thinking - not random clicking
35- Document discoveries, not pre-planned test cases
36- Pair testing reveals more than solo exploration
37</default_to_action>
38
39## Quick Reference Card
40
41### When to Use
42- Investigating new or changed features
43- Finding bugs automation misses
44- Learning unfamiliar systems
45- Risk discovery before test planning
46
47### Session Structure (SBTM)
48| Phase | Duration | Activity |
49|-------|----------|----------|
50| Charter | 5 min | Define mission, scope, focus |
51| Explore | 45-75 min | Systematic investigation |
52| Note | Continuous | Document findings real-time |
53| Debrief | 10-15 min | Summarize, prioritize, share |
54
55### SFDIPOT Heuristic (What to Test)
56| Letter | Focus | Example Questions |
57|--------|-------|------------------|
58| **S**tructure | Is it properly composed? | Code structure, UI layout, data schema |
59| **F**unction | Does it do what it should? | Core features work correctly |
60| **D**ata | Handles data correctly? | CRUD, validation, persistence |
61| **I**nterfaces | Interacts well? | APIs, UI, integrations |
62| **P**latform | Works in environment? | Browsers, OS, devices |
63| **O**perations | Can be used/managed? | Install, config, monitor |
64| **T**ime | Handles timing? | Concurrency, timeouts, scheduling |
65
66### FEW HICCUPPS Oracle (Recognize Problems)
67| Consistency With | Check |
68|-----------------|-------|
69| **F**amiliar problems | Does this look like a known bug pattern? |
70| **E**xplainable | Can behavior be explained rationally? |
71| **W**orld | Matches real-world expectations? |
72| **H**istory | Consistent with prior versions? |
73| **I**mage | Matches brand/product image? |
74| **C**omparable | Similar to competing products? |
75| **C**laims | Matches specs/docs/marketing? |
76| **U**sers | Meets user expectations? |
77| **P**urpose | Fulfills intended purpose? |
78| **S**tatements | Matches what devs said? |
79
80### Test Tours (12 Types)
81| Tour | Strategy |
82|------|----------|
83| Business District | Critical business flows |
84| Historical | Where bugs clustered before |
85| Bad Neighborhood | Known problem areas |
86| Money | Revenue-impacting features |
87| Landmark | Navigate by key features |
88| Intellectual | Complex, thinking-intensive features |
89| FedEx | Follow data through system |
90| Garbage Collector | Cleanup and edge cases |
91| Museum | Help docs and examples |
92| Rained-Out | What happens when things fail? |
93| Couch Potato | Minimal effort paths |
94| Obsessive-Compulsive | Repetitive actions |
95
96---
97
98## Session Note Template
99
100```markdown
101**Charter:** Explore [area] to discover [what] focusing on [heuristic]
102**Time-box:** 60 min | **Tester:** [name] | **Date:** [date]
103
104## Session Notes
105- [timestamp] Observation/finding
106- [timestamp] Bug: [description] - [severity]
107- [timestamp] Question: [unclear behavior]
108
109## Findings Summary
110- Bugs: X (Critical: Y, Major: Z)
111- Questions: X
112- Ideas: X
113
114## Coverage
115- Areas explored: [list]
116- Heuristics used: [SFDIPOT areas]
117- % Time on: Bug investigation 30%, Exploration 50%, Setup 20%
118
119## Next Steps
120- [ ] Deep dive on [area]
121- [ ] Follow up on question about [topic]
122```
123
124---
125
126## Agent-Assisted Exploration
127
128```typescript
129// Collaborative exploration session
130await Task("Exploratory Session", {
131 charter: 'Explore checkout flow for payment edge cases',
132 duration: '60min',
133 heuristics: ['SFDIPOT', 'FEW_HICCUPPS'],
134 tour: 'money',
135 collaboration: 'human-navigator-agent-driver'
136}, "qe-flaky-test-hunter");
137
138// Agent generates test variations while human observes
139await Task("Edge Case Generation", {
140 area: 'payment-form',
141 variations: ['boundary-values', 'invalid-inputs', 'concurrent-submits']
142}, "qe-test-generator");
143
144// Visual exploration
145await Task("Visual Exploration", {
146 tour: 'landmark',
147 focus: 'responsive-breakpoints',
148 compare: 'baseline-screenshots'
149}, "qe-visual-tester");
150```
151
152---
153
154## Agent Coordination Hints
155
156### Memory Namespace
157```
158aqe/exploratory/
159├── sessions/* - Session notes and findings
160├── charters/* - Reusable charter templates
161├── bug-clusters/* - Historical bug patterns
162└── heuristic-results/* - What heuristics revealed
163```
164
165### Fleet Coordination
166```typescript
167const exploratoryFleet = await FleetManager.coordinate({
168 strategy: 'exploratory-testing',
169 agents: [
170 'qe-flaky-test-hunter', // Pattern recognition
171 'qe-visual-tester', // Visual anomalies
172 'qe-quality-analyzer' // Risk assessment
173 ],
174 topology: 'mesh'
175});
176```
177
178---
179
180## Pairing Patterns
181
182| Pattern | Human Role | Agent Role |
183|---------|------------|------------|
184| Driver-Navigator | Navigate strategy | Execute variations |
185| Strong-Style | Dictate actions | Record findings |
186| Ping-Pong | Observe one area | Explore another |
187
188---
189
190## Related Skills
191- [context-driven-testing](../context-driven-testing/) - RST foundations
192- [risk-based-testing](../risk-based-testing/) - Focus exploration on risk
193- [agentic-quality-engineering](../agentic-quality-engineering/) - Agent coordination
194
195---
196
197## Remember
198
199**Exploratory testing = simultaneous learning, test design, and test execution.**
200
201Not random clicking. Structured, skilled investigation guided by heuristics and oracles. Document discoveries in real-time. Pair testing amplifies findings.
202
203**With Agents:** Agents generate variations, recognize patterns, and maintain session notes while humans apply judgment and intuition. Combine agent thoroughness with human insight.
204
205## Gotchas
206
207- Agent treats exploratory testing as scripted test execution — remind it: exploration means learning + adapting in real-time
208- Session notes from agents lack the "why I tried this" reasoning — explicitly ask for decision rationale
209- 90-minute sessions cause context overflow — cap at 45 minutes with explicit debrief
210- Agent defaults to happy-path exploration — explicitly assign "Bad Neighborhood" or "Saboteur" tours for negative testing
211- SFDIPOT heuristics are misapplied when agent doesn't understand the domain — provide domain context upfront