exploratory-testing-advanced
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.
Works with
---
name: exploratory-testing-advanced
description: 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.
license: MIT
---
# Advanced Exploratory Testing
<default_to_action>
When exploring software or investigating quality risks:
1. CREATE charter with mission, scope, and time-box (45-90 min)
2. APPLY heuristics: SFDIPOT (quality criteria), FEW HICCUPPS (consistency oracles)
3. EXPLORE systematically using test tours (Business District, Bad Neighborhood, Historical)
4. DOCUMENT findings in real-time with notes, screenshots, evidence
5. DEBRIEF: What learned? What's next? Share via agent memory
**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
</default_to_action>
## 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 |
|--------|-------|------------------|
| **S**tructure | Is it properly composed? | Code structure, UI layout, data schema |
| **F**unction | Does it do what it should? | Core features work correctly |
| **D**ata | Handles data correctly? | CRUD, validation, persistence |
| **I**nterfaces | Interacts well? | APIs, UI, integrations |
| **P**latform | Works in environment? | Browsers, OS, devices |
| **O**perations | Can be used/managed? | Install, config, monitor |
| **T**ime | Handles timing? | Concurrency, timeouts, scheduling |
### FEW HICCUPPS Oracle (Recognize Problems)
| Consistency With | Check |
|-----------------|-------|
| **F**amiliar problems | Does this look like a known bug pattern? |
| **E**xplainable | Can behavior be explained rationally? |
| **W**orld | Matches real-world expectations? |
| **H**istory | Consistent with prior versions? |
| **I**mage | Matches brand/product image? |
| **C**omparable | Similar to competing products? |
| **C**laims | Matches specs/docs/marketing? |
| **U**sers | Meets user expectations? |
| **P**urpose | Fulfills intended purpose? |
| **S**tatements | 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
```markdown
**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
```typescript
// 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
```typescript
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
- [context-driven-testing](../context-driven-testing/) - RST foundations
- [risk-based-testing](../risk-based-testing/) - Focus exploration on risk
- [agentic-quality-engineering](../agentic-quality-engineering/) - Agent coordination
---
## 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 upfrontMore Testing skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
setup-pre-commit
mattpocock/skills
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

