agentic-qe 2.0.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qx-partner.md +17 -4
- package/.claude/skills/accessibility-testing/SKILL.md +144 -692
- package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
- package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
- package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
- package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
- package/.claude/skills/code-review-quality/SKILL.md +158 -608
- package/.claude/skills/compatibility-testing/SKILL.md +148 -38
- package/.claude/skills/compliance-testing/SKILL.md +132 -63
- package/.claude/skills/consultancy-practices/SKILL.md +114 -446
- package/.claude/skills/context-driven-testing/SKILL.md +117 -381
- package/.claude/skills/contract-testing/SKILL.md +176 -141
- package/.claude/skills/database-testing/SKILL.md +137 -130
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
- package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
- package/.claude/skills/localization-testing/SKILL.md +145 -33
- package/.claude/skills/mobile-testing/SKILL.md +132 -448
- package/.claude/skills/mutation-testing/SKILL.md +147 -41
- package/.claude/skills/performance-testing/SKILL.md +200 -546
- package/.claude/skills/quality-metrics/SKILL.md +164 -519
- package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
- package/.claude/skills/regression-testing/SKILL.md +120 -926
- package/.claude/skills/risk-based-testing/SKILL.md +157 -660
- package/.claude/skills/security-testing/SKILL.md +199 -538
- package/.claude/skills/sherlock-review/SKILL.md +163 -699
- package/.claude/skills/shift-left-testing/SKILL.md +161 -465
- package/.claude/skills/shift-right-testing/SKILL.md +161 -519
- package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
- package/.claude/skills/skills-manifest.json +71 -20
- package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
- package/.claude/skills/technical-writing/SKILL.md +103 -154
- package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
- package/.claude/skills/test-data-management/SKILL.md +126 -910
- package/.claude/skills/test-design-techniques/SKILL.md +179 -89
- package/.claude/skills/test-environment-management/SKILL.md +136 -91
- package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
- package/.claude/skills/testability-scoring/SKILL.md +172 -538
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +0 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
- package/.claude/skills/xp-practices/SKILL.md +151 -587
- package/CHANGELOG.md +86 -0
- package/README.md +23 -16
- package/dist/agents/QXPartnerAgent.d.ts +47 -1
- package/dist/agents/QXPartnerAgent.d.ts.map +1 -1
- package/dist/agents/QXPartnerAgent.js +2086 -125
- package/dist/agents/QXPartnerAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
- package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
- package/dist/cli/commands/init-claude-md-template.js +14 -0
- package/dist/cli/commands/init-claude-md-template.js.map +1 -1
- package/dist/core/SwarmCoordinator.d.ts +180 -0
- package/dist/core/SwarmCoordinator.d.ts.map +1 -0
- package/dist/core/SwarmCoordinator.js +473 -0
- package/dist/core/SwarmCoordinator.js.map +1 -0
- package/dist/core/memory/ReflexionMemoryAdapter.d.ts +109 -0
- package/dist/core/memory/ReflexionMemoryAdapter.d.ts.map +1 -0
- package/dist/core/memory/ReflexionMemoryAdapter.js +306 -0
- package/dist/core/memory/ReflexionMemoryAdapter.js.map +1 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts +28 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.js +70 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/core/memory/SparseVectorSearch.d.ts +55 -0
- package/dist/core/memory/SparseVectorSearch.d.ts.map +1 -0
- package/dist/core/memory/SparseVectorSearch.js +130 -0
- package/dist/core/memory/SparseVectorSearch.js.map +1 -0
- package/dist/core/memory/TieredCompression.d.ts +81 -0
- package/dist/core/memory/TieredCompression.d.ts.map +1 -0
- package/dist/core/memory/TieredCompression.js +270 -0
- package/dist/core/memory/TieredCompression.js.map +1 -0
- package/dist/core/memory/index.d.ts +6 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +29 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
- package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
- package/dist/core/metrics/MetricsAggregator.js +482 -0
- package/dist/core/metrics/MetricsAggregator.js.map +1 -0
- package/dist/core/metrics/index.d.ts +5 -0
- package/dist/core/metrics/index.d.ts.map +1 -0
- package/dist/core/metrics/index.js +11 -0
- package/dist/core/metrics/index.js.map +1 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts +5 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -1
- package/dist/core/optimization/SwarmOptimizer.js +17 -0
- package/dist/core/optimization/SwarmOptimizer.js.map +1 -1
- package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
- package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
- package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
- package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts +13 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -1
- package/dist/core/orchestration/WorkflowOrchestrator.js +32 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -1
- package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
- package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
- package/dist/core/recovery/CircuitBreaker.js +382 -0
- package/dist/core/recovery/CircuitBreaker.js.map +1 -0
- package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
- package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
- package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
- package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
- package/dist/core/recovery/RetryStrategy.d.ts +127 -0
- package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
- package/dist/core/recovery/RetryStrategy.js +314 -0
- package/dist/core/recovery/RetryStrategy.js.map +1 -0
- package/dist/core/recovery/index.d.ts +8 -0
- package/dist/core/recovery/index.d.ts.map +1 -0
- package/dist/core/recovery/index.js +27 -0
- package/dist/core/recovery/index.js.map +1 -0
- package/dist/core/skills/DependencyResolver.d.ts +99 -0
- package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
- package/dist/core/skills/DependencyResolver.js +260 -0
- package/dist/core/skills/DependencyResolver.js.map +1 -0
- package/dist/core/skills/ManifestGenerator.d.ts +114 -0
- package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
- package/dist/core/skills/ManifestGenerator.js +449 -0
- package/dist/core/skills/ManifestGenerator.js.map +1 -0
- package/dist/core/skills/index.d.ts +9 -0
- package/dist/core/skills/index.d.ts.map +1 -0
- package/dist/core/skills/index.js +24 -0
- package/dist/core/skills/index.js.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts +5 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +36 -2
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts +5 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +36 -2
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -9
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +1 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/types/qx.d.ts +113 -7
- package/dist/types/qx.d.ts.map +1 -1
- package/dist/types/qx.js.map +1 -1
- package/dist/visualization/api/RestEndpoints.js +1 -1
- package/dist/visualization/api/RestEndpoints.js.map +1 -1
- package/package.json +15 -54
|
@@ -1,670 +1,201 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
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.
|
|
2
|
+
name: exploratory-testing-advanced
|
|
3
|
+
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."
|
|
4
|
+
category: testing-methodologies
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 1000
|
|
7
|
+
agents: [qe-flaky-test-hunter, qe-visual-tester, qe-quality-analyzer]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [exploratory, sbtm, rst, heuristics, test-tours, session-based]
|
|
4
14
|
---
|
|
5
15
|
|
|
6
16
|
# Advanced Exploratory Testing
|
|
7
17
|
|
|
8
|
-
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When exploring software or investigating quality risks:
|
|
20
|
+
1. CREATE charter with mission, scope, and time-box (45-90 min)
|
|
21
|
+
2. APPLY heuristics: SFDIPOT (quality criteria), FEW HICCUPPS (consistency oracles)
|
|
22
|
+
3. EXPLORE systematically using test tours (Business District, Bad Neighborhood, Historical)
|
|
23
|
+
4. DOCUMENT findings in real-time with notes, screenshots, evidence
|
|
24
|
+
5. DEBRIEF: What learned? What's next? Share via agent memory
|
|
25
|
+
|
|
26
|
+
**Quick Heuristic Selection:**
|
|
27
|
+
- What to test → SFDIPOT (Structure, Function, Data, Interfaces, Platform, Operations, Time)
|
|
28
|
+
- Recognize problems → FEW HICCUPPS (Familiar, Explainable, World, History, Image, Comparable, Claims, Users, Product, Purpose, Standards)
|
|
29
|
+
- Navigate app → Test Tours (12 types for different exploration strategies)
|
|
30
|
+
|
|
31
|
+
**Critical Success Factors:**
|
|
32
|
+
- Exploration is skilled, structured thinking - not random clicking
|
|
33
|
+
- Document discoveries, not pre-planned test cases
|
|
34
|
+
- Pair testing reveals more than solo exploration
|
|
35
|
+
</default_to_action>
|
|
36
|
+
|
|
37
|
+
## Quick Reference Card
|
|
38
|
+
|
|
39
|
+
### When to Use
|
|
40
|
+
- Investigating new or changed features
|
|
41
|
+
- Finding bugs automation misses
|
|
42
|
+
- Learning unfamiliar systems
|
|
43
|
+
- Risk discovery before test planning
|
|
44
|
+
|
|
45
|
+
### Session Structure (SBTM)
|
|
46
|
+
| Phase | Duration | Activity |
|
|
47
|
+
|-------|----------|----------|
|
|
48
|
+
| Charter | 5 min | Define mission, scope, focus |
|
|
49
|
+
| Explore | 45-75 min | Systematic investigation |
|
|
50
|
+
| Note | Continuous | Document findings real-time |
|
|
51
|
+
| Debrief | 10-15 min | Summarize, prioritize, share |
|
|
52
|
+
|
|
53
|
+
### SFDIPOT Heuristic (What to Test)
|
|
54
|
+
| Letter | Focus | Example Questions |
|
|
55
|
+
|--------|-------|------------------|
|
|
56
|
+
| **S**tructure | Is it properly composed? | Code structure, UI layout, data schema |
|
|
57
|
+
| **F**unction | Does it do what it should? | Core features work correctly |
|
|
58
|
+
| **D**ata | Handles data correctly? | CRUD, validation, persistence |
|
|
59
|
+
| **I**nterfaces | Interacts well? | APIs, UI, integrations |
|
|
60
|
+
| **P**latform | Works in environment? | Browsers, OS, devices |
|
|
61
|
+
| **O**perations | Can be used/managed? | Install, config, monitor |
|
|
62
|
+
| **T**ime | Handles timing? | Concurrency, timeouts, scheduling |
|
|
63
|
+
|
|
64
|
+
### FEW HICCUPPS Oracle (Recognize Problems)
|
|
65
|
+
| Consistency With | Check |
|
|
66
|
+
|-----------------|-------|
|
|
67
|
+
| **F**amiliar problems | Does this look like a known bug pattern? |
|
|
68
|
+
| **E**xplainable | Can behavior be explained rationally? |
|
|
69
|
+
| **W**orld | Matches real-world expectations? |
|
|
70
|
+
| **H**istory | Consistent with prior versions? |
|
|
71
|
+
| **I**mage | Matches brand/product image? |
|
|
72
|
+
| **C**omparable | Similar to competing products? |
|
|
73
|
+
| **C**laims | Matches specs/docs/marketing? |
|
|
74
|
+
| **U**sers | Meets user expectations? |
|
|
75
|
+
| **P**urpose | Fulfills intended purpose? |
|
|
76
|
+
| **S**tatements | Matches what devs said? |
|
|
77
|
+
|
|
78
|
+
### Test Tours (12 Types)
|
|
79
|
+
| Tour | Strategy |
|
|
80
|
+
|------|----------|
|
|
81
|
+
| Business District | Critical business flows |
|
|
82
|
+
| Historical | Where bugs clustered before |
|
|
83
|
+
| Bad Neighborhood | Known problem areas |
|
|
84
|
+
| Money | Revenue-impacting features |
|
|
85
|
+
| Landmark | Navigate by key features |
|
|
86
|
+
| Intellectual | Complex, thinking-intensive features |
|
|
87
|
+
| FedEx | Follow data through system |
|
|
88
|
+
| Garbage Collector | Cleanup and edge cases |
|
|
89
|
+
| Museum | Help docs and examples |
|
|
90
|
+
| Rained-Out | What happens when things fail? |
|
|
91
|
+
| Couch Potato | Minimal effort paths |
|
|
92
|
+
| Obsessive-Compulsive | Repetitive actions |
|
|
9
93
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## Session-Based Test Management (SBTM)
|
|
13
|
-
|
|
14
|
-
### Session Structure
|
|
15
|
-
|
|
16
|
-
**Charter (Mission Statement)**
|
|
17
|
-
```
|
|
18
|
-
Explore [area]
|
|
19
|
-
With [resources/tools]
|
|
20
|
-
To discover [information/risks]
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
**Example:**
|
|
24
|
-
"Explore the checkout payment flow with various card types to discover edge cases in error handling and validation."
|
|
25
|
-
|
|
26
|
-
### Session Duration
|
|
27
|
-
- **Short:** 45-60 minutes (focused investigation)
|
|
28
|
-
- **Standard:** 90 minutes (deeper exploration)
|
|
29
|
-
- **Long:** 2 hours (complex feature deep dive)
|
|
30
|
-
|
|
31
|
-
**Why time-box?** Prevents endless wandering, creates focus, enables planning.
|
|
32
|
-
|
|
33
|
-
### Session Notes Template
|
|
34
|
-
|
|
35
|
-
```markdown
|
|
36
|
-
## Session Charter
|
|
37
|
-
[Your mission]
|
|
38
|
-
|
|
39
|
-
## Start Time: [timestamp]
|
|
40
|
-
## Tester: [name]
|
|
41
|
-
|
|
42
|
-
## Test Notes (What you did)
|
|
43
|
-
- Tested checkout with Visa card → Success
|
|
44
|
-
- Tried expired card → Error message unclear "Payment failed"
|
|
45
|
-
- Discovered: No distinction between expired, invalid, or declined
|
|
46
|
-
- Tried $0.01 transaction → Processed (should block?)
|
|
47
|
-
- Card with special chars in name → App crashed (500 error)
|
|
48
|
-
|
|
49
|
-
## Bugs Found
|
|
50
|
-
1. [BUG-123] Unclear error messages for card failures
|
|
51
|
-
2. [BUG-124] App crashes on special characters in cardholder name
|
|
52
|
-
3. [BUG-125] Micro-transactions not blocked despite policy
|
|
53
|
-
|
|
54
|
-
## Questions / Issues
|
|
55
|
-
- What's the minimum transaction amount?
|
|
56
|
-
- Should we support international cards?
|
|
57
|
-
- Who handles fraud detection?
|
|
58
|
-
|
|
59
|
-
## Areas Not Covered
|
|
60
|
-
- Refund flow
|
|
61
|
-
- Subscription payments
|
|
62
|
-
- Multiple payment methods
|
|
63
|
-
|
|
64
|
-
## Duration: [actual time]
|
|
65
|
-
## Session %: [test execution vs setup/bugs/other]
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Session Metrics
|
|
69
|
-
|
|
70
|
-
**TBS (Test/Bug/Setup) Breakdown:**
|
|
71
|
-
- **Test %:** Actual exploration time
|
|
72
|
-
- **Bug %:** Time investigating/reporting bugs
|
|
73
|
-
- **Setup %:** Time getting environment ready
|
|
74
|
-
|
|
75
|
-
**Target:** 60-70% test, rest is normal overhead
|
|
76
|
-
|
|
77
|
-
## RST Heuristics Deep Dive
|
|
78
|
-
|
|
79
|
-
### SFDIPOT (Quality Criteria)
|
|
80
|
-
|
|
81
|
-
**Structure**
|
|
82
|
-
- Is the code organized logically?
|
|
83
|
-
- Are modules properly separated?
|
|
84
|
-
- Dependencies managed correctly?
|
|
85
|
-
- Configuration files valid?
|
|
86
|
-
|
|
87
|
-
**Test:** "Import malformed config file, does app handle gracefully?"
|
|
88
|
-
|
|
89
|
-
**Function**
|
|
90
|
-
- Does it do what it claims?
|
|
91
|
-
- All features working as expected?
|
|
92
|
-
- Business logic correct?
|
|
93
|
-
|
|
94
|
-
**Test:** "Calculate 15% tip on $47.82, does it match manual calculation?"
|
|
95
|
-
|
|
96
|
-
**Data**
|
|
97
|
-
- Input validation working?
|
|
98
|
-
- Data types handled correctly?
|
|
99
|
-
- Boundary values tested?
|
|
100
|
-
- Data persistence reliable?
|
|
101
|
-
|
|
102
|
-
**Test:** "Enter 999-character username, what happens?"
|
|
103
|
-
|
|
104
|
-
**Interfaces**
|
|
105
|
-
- APIs returning correct responses?
|
|
106
|
-
- UI elements responding properly?
|
|
107
|
-
- Integration points working?
|
|
108
|
-
- Error messages clear?
|
|
109
|
-
|
|
110
|
-
**Test:** "Call API with missing required field, is error message helpful?"
|
|
111
|
-
|
|
112
|
-
**Platform**
|
|
113
|
-
- Works across browsers/devices?
|
|
114
|
-
- OS compatibility verified?
|
|
115
|
-
- Screen sizes handled?
|
|
116
|
-
- Network conditions varied?
|
|
117
|
-
|
|
118
|
-
**Test:** "Use on mobile Chrome, iOS Safari, desktop Firefox - any differences?"
|
|
119
|
-
|
|
120
|
-
**Operations**
|
|
121
|
-
- Installation smooth?
|
|
122
|
-
- Upgrade path works?
|
|
123
|
-
- Logs useful for debugging?
|
|
124
|
-
- Performance acceptable?
|
|
125
|
-
|
|
126
|
-
**Test:** "Upgrade from v2.1 to v3.0, does migration preserve data?"
|
|
127
|
-
|
|
128
|
-
**Time**
|
|
129
|
-
- Handles timeouts correctly?
|
|
130
|
-
- Concurrent operations safe?
|
|
131
|
-
- Scheduled tasks running?
|
|
132
|
-
- Race conditions handled?
|
|
133
|
-
|
|
134
|
-
**Test:** "Submit form twice rapidly, does it create duplicate records?"
|
|
135
|
-
|
|
136
|
-
### FEW HICCUPPS (Product Elements to Test)
|
|
137
|
-
|
|
138
|
-
**Familiarity** - Is it like things users know?
|
|
139
|
-
**Explainability** - Can users understand it?
|
|
140
|
-
**World** - Does it work in the real world context?
|
|
141
|
-
|
|
142
|
-
**History** - Consistent with previous versions?
|
|
143
|
-
**Image** - Does it match brand/expectations?
|
|
144
|
-
**Comparable Products** - How does it compare to competitors?
|
|
145
|
-
**Claims** - Does it deliver on promises?
|
|
146
|
-
**Users** - Does it meet user needs?
|
|
147
|
-
**Purpose** - Does it solve the problem?
|
|
148
|
-
**Policies** - Compliant with regulations?
|
|
149
|
-
**Standards** - Meets industry standards?
|
|
150
|
-
|
|
151
|
-
### CRUSSPIC STMP (Test Techniques)
|
|
152
|
-
|
|
153
|
-
**Create** - Create new records/entities
|
|
154
|
-
**Read** - View/retrieve information
|
|
155
|
-
**Update** - Modify existing data
|
|
156
|
-
**Search** - Find specific items
|
|
157
|
-
**Sort** - Order results
|
|
158
|
-
**Print** - Export/output data
|
|
159
|
-
**Import** - Bring in external data
|
|
160
|
-
**Configure** - Change settings
|
|
161
|
-
|
|
162
|
-
**Status** - Check system state
|
|
163
|
-
**Tourism** - Explore like different user types
|
|
164
|
-
**Modeling** - Model expected behavior
|
|
165
|
-
**Patterns** - Look for recurring issues
|
|
166
|
-
|
|
167
|
-
### Test Tours (Exploration Strategies)
|
|
168
|
-
|
|
169
|
-
**Business District Tour**
|
|
170
|
-
Visit critical business functions first. Focus on revenue-generating features.
|
|
171
|
-
|
|
172
|
-
**Example:** E-commerce → checkout, payment, order confirmation
|
|
173
|
-
|
|
174
|
-
**Historical Tour**
|
|
175
|
-
Test areas with known bug history. Old problems often resurface.
|
|
176
|
-
|
|
177
|
-
**Example:** Check last 3 sprints' bug reports, test those areas
|
|
178
|
-
|
|
179
|
-
**Bad Neighborhood Tour**
|
|
180
|
-
Explore where bugs cluster. Some modules are just trouble-prone.
|
|
181
|
-
|
|
182
|
-
**Example:** If authentication always has issues, test it thoroughly
|
|
183
|
-
|
|
184
|
-
**Tourist Tour**
|
|
185
|
-
Follow the path a new user would take. First impressions matter.
|
|
186
|
-
|
|
187
|
-
**Example:** Sign up → onboarding → first successful action
|
|
188
|
-
|
|
189
|
-
**Museum Tour**
|
|
190
|
-
Explore help documentation, examples, tutorials. Do they work?
|
|
191
|
-
|
|
192
|
-
**Example:** Follow the "Getting Started" guide exactly as written
|
|
193
|
-
|
|
194
|
-
**Saboteur Tour**
|
|
195
|
-
Try to break things deliberately. Think like an attacker or malicious user.
|
|
196
|
-
|
|
197
|
-
**Example:** SQL injection attempts, XSS, CSRF, buffer overflows
|
|
198
|
-
|
|
199
|
-
**Fed-Ex Tour**
|
|
200
|
-
Follow data through the system. Track it end-to-end.
|
|
201
|
-
|
|
202
|
-
**Example:** User registration → email verification → profile creation → first purchase
|
|
203
|
-
|
|
204
|
-
**All-Nighter Tour**
|
|
205
|
-
Test during extended use. Does performance degrade over time?
|
|
206
|
-
|
|
207
|
-
**Example:** Leave app running for 8 hours with periodic interactions
|
|
208
|
-
|
|
209
|
-
**Obsessive-Compulsive Tour**
|
|
210
|
-
Repeat the same operation many times. Does it stay consistent?
|
|
211
|
-
|
|
212
|
-
**Example:** Save document 50 times in a row, check for corruption
|
|
213
|
-
|
|
214
|
-
**Supermodel Tour**
|
|
215
|
-
Focus purely on UI/UX. Is it beautiful AND usable?
|
|
216
|
-
|
|
217
|
-
**Example:** Check spacing, fonts, colors, alignment, accessibility
|
|
218
|
-
|
|
219
|
-
**Couch Potato Tour**
|
|
220
|
-
Do the minimum possible. Does lazy usage break things?
|
|
221
|
-
|
|
222
|
-
**Example:** Leave forms partially filled, navigate away and back
|
|
223
|
-
|
|
224
|
-
**Antisocial Tour**
|
|
225
|
-
Refuse to follow expected workflow. Go backward, skip steps, break sequence.
|
|
226
|
-
|
|
227
|
-
**Example:** Checkout without items, skip required steps, use back button
|
|
228
|
-
|
|
229
|
-
## Exploratory Test Design Patterns
|
|
230
|
-
|
|
231
|
-
### Pattern 1: Variation Testing
|
|
232
|
-
|
|
233
|
-
Pick one variable, vary it systematically while keeping others constant.
|
|
234
|
-
|
|
235
|
-
**Example: Login Testing**
|
|
236
|
-
```
|
|
237
|
-
Username: valid
|
|
238
|
-
Password: [vary this]
|
|
239
|
-
- Empty
|
|
240
|
-
- Wrong password
|
|
241
|
-
- Correct password
|
|
242
|
-
- SQL injection string
|
|
243
|
-
- 1000 characters
|
|
244
|
-
- Special characters
|
|
245
|
-
- Unicode
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### Pattern 2: Boundary Testing
|
|
249
|
-
|
|
250
|
-
Test edges and limits.
|
|
251
|
-
|
|
252
|
-
```
|
|
253
|
-
Field: Age
|
|
254
|
-
- Minimum valid: 18
|
|
255
|
-
- Just below: 17
|
|
256
|
-
- Just above: 19
|
|
257
|
-
- Maximum valid: 120
|
|
258
|
-
- Just above max: 121
|
|
259
|
-
- Zero: 0
|
|
260
|
-
- Negative: -5
|
|
261
|
-
- Non-integer: 18.5
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
### Pattern 3: Combo Testing
|
|
265
|
-
|
|
266
|
-
Test interactions between features.
|
|
267
|
-
|
|
268
|
-
```
|
|
269
|
-
Feature A: Dark mode
|
|
270
|
-
Feature B: High contrast mode
|
|
271
|
-
Test: Both enabled simultaneously - readable?
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
### Pattern 4: State Transition Testing
|
|
275
|
-
|
|
276
|
-
Map application states, test transitions.
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
Cart States:
|
|
280
|
-
Empty → Has Items → Checkout Started → Payment → Order Complete
|
|
281
|
-
|
|
282
|
-
Test each transition and invalid transitions:
|
|
283
|
-
- Empty → Checkout (should block)
|
|
284
|
-
- Has Items → Order Complete (skip payment - should block)
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
### Pattern 5: Interrupt Testing
|
|
288
|
-
|
|
289
|
-
Interrupt processes mid-flow.
|
|
290
|
-
|
|
291
|
-
```
|
|
292
|
-
During file upload:
|
|
293
|
-
- Close browser
|
|
294
|
-
- Kill network
|
|
295
|
-
- Power off device
|
|
296
|
-
- Navigate away
|
|
297
|
-
Result: Should recover gracefully
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
## Bug Reporting from Exploration
|
|
94
|
+
---
|
|
301
95
|
|
|
302
|
-
|
|
96
|
+
## Session Note Template
|
|
303
97
|
|
|
304
98
|
```markdown
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
**Severity:** High
|
|
308
|
-
**Priority:** Medium
|
|
309
|
-
|
|
310
|
-
**Environment:**
|
|
311
|
-
- Chrome 118.0 on macOS 14.1
|
|
312
|
-
- Production environment
|
|
313
|
-
- User role: Customer
|
|
314
|
-
|
|
315
|
-
**Steps to Reproduce:**
|
|
316
|
-
1. Add item to cart
|
|
317
|
-
2. Proceed to checkout
|
|
318
|
-
3. Enter address with apostrophe: "123 O'Brien Street"
|
|
319
|
-
4. Click "Continue"
|
|
320
|
-
|
|
321
|
-
**Expected Result:**
|
|
322
|
-
Address accepted, proceed to payment
|
|
323
|
-
|
|
324
|
-
**Actual Result:**
|
|
325
|
-
500 Internal Server Error
|
|
326
|
-
Console shows: "Unescaped character in SQL query"
|
|
99
|
+
**Charter:** Explore [area] to discover [what] focusing on [heuristic]
|
|
100
|
+
**Time-box:** 60 min | **Tester:** [name] | **Date:** [date]
|
|
327
101
|
|
|
328
|
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
331
|
-
-
|
|
332
|
-
- Potential SQL injection vulnerability
|
|
102
|
+
## Session Notes
|
|
103
|
+
- [timestamp] Observation/finding
|
|
104
|
+
- [timestamp] Bug: [description] - [severity]
|
|
105
|
+
- [timestamp] Question: [unclear behavior]
|
|
333
106
|
|
|
334
|
-
|
|
335
|
-
|
|
107
|
+
## Findings Summary
|
|
108
|
+
- Bugs: X (Critical: Y, Major: Z)
|
|
109
|
+
- Questions: X
|
|
110
|
+
- Ideas: X
|
|
336
111
|
|
|
337
|
-
|
|
338
|
-
|
|
112
|
+
## Coverage
|
|
113
|
+
- Areas explored: [list]
|
|
114
|
+
- Heuristics used: [SFDIPOT areas]
|
|
115
|
+
- % Time on: Bug investigation 30%, Exploration 50%, Setup 20%
|
|
339
116
|
|
|
340
|
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
- Security risk (SQL injection)
|
|
344
|
-
|
|
345
|
-
**Workaround:**
|
|
346
|
-
Tell users to omit apostrophes temporarily
|
|
347
|
-
|
|
348
|
-
**Suggested Fix:**
|
|
349
|
-
Parameterize SQL queries, use prepared statements
|
|
117
|
+
## Next Steps
|
|
118
|
+
- [ ] Deep dive on [area]
|
|
119
|
+
- [ ] Follow up on question about [topic]
|
|
350
120
|
```
|
|
351
121
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
**Stop and file immediately if:**
|
|
355
|
-
- Security vulnerability
|
|
356
|
-
- Data corruption
|
|
357
|
-
- Complete feature failure
|
|
358
|
-
- Crash/exception
|
|
359
|
-
|
|
360
|
-
**Note and continue if:**
|
|
361
|
-
- Minor UI glitch
|
|
362
|
-
- Spelling error
|
|
363
|
-
- Edge case with workaround
|
|
364
|
-
- Performance slightly slower
|
|
365
|
-
|
|
366
|
-
**End session notes if:**
|
|
367
|
-
- Multiple similar bugs (pattern detected)
|
|
368
|
-
- Enhancement ideas
|
|
369
|
-
- Questions for product team
|
|
370
|
-
|
|
371
|
-
## Collaborative Exploratory Testing
|
|
372
|
-
|
|
373
|
-
### Pair Exploration
|
|
374
|
-
|
|
375
|
-
**Navigator:** Directs testing strategy, takes notes
|
|
376
|
-
**Driver:** Operates application, reports observations
|
|
377
|
-
|
|
378
|
-
**Benefits:**
|
|
379
|
-
- Two perspectives simultaneously
|
|
380
|
-
- One focuses on exploration, one on documentation
|
|
381
|
-
- Real-time discussion of findings
|
|
382
|
-
- Better coverage
|
|
383
|
-
|
|
384
|
-
**Rotation:** Switch roles every 20-30 minutes
|
|
385
|
-
|
|
386
|
-
### Mob Exploration
|
|
387
|
-
|
|
388
|
-
3-5 people exploring together:
|
|
389
|
-
- One driver
|
|
390
|
-
- Others observe, suggest tests, take notes
|
|
391
|
-
- Rotate driver every 15 minutes
|
|
392
|
-
|
|
393
|
-
**Use when:**
|
|
394
|
-
- Complex new feature
|
|
395
|
-
- High-risk area
|
|
396
|
-
- Training new testers
|
|
397
|
-
- Critical bug investigation
|
|
398
|
-
|
|
399
|
-
## Exploratory Testing + Automation
|
|
400
|
-
|
|
401
|
-
### Automation-Assisted Exploration
|
|
402
|
-
|
|
403
|
-
**Use automation to:**
|
|
404
|
-
- Generate test data
|
|
405
|
-
- Set up complex scenarios
|
|
406
|
-
- Reset environment between sessions
|
|
407
|
-
- Capture screenshots/videos automatically
|
|
408
|
-
- Monitor logs in real-time
|
|
409
|
-
|
|
410
|
-
**Example:**
|
|
411
|
-
```bash
|
|
412
|
-
# Script to set up test scenario
|
|
413
|
-
./setup-test-user.sh --role=premium --with-orders=5
|
|
414
|
-
|
|
415
|
-
# Now explore manually with realistic data ready
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
### Exploration-Informed Automation
|
|
419
|
-
|
|
420
|
-
**After exploration session:**
|
|
421
|
-
1. Identify tests that are:
|
|
422
|
-
- Repetitive
|
|
423
|
-
- Regression-prone
|
|
424
|
-
- Require exact same steps
|
|
425
|
-
|
|
426
|
-
2. Automate those specific tests
|
|
427
|
-
|
|
428
|
-
3. Continue exploring new areas
|
|
429
|
-
|
|
430
|
-
**Don't automate:**
|
|
431
|
-
- Exploratory testing itself
|
|
432
|
-
- One-time investigations
|
|
433
|
-
- Rapidly changing features
|
|
434
|
-
|
|
435
|
-
## Metrics for Exploratory Testing
|
|
436
|
-
|
|
437
|
-
### Session Coverage
|
|
438
|
-
|
|
439
|
-
Track which areas explored:
|
|
440
|
-
```
|
|
441
|
-
Feature Map:
|
|
442
|
-
├─ Authentication [explored]
|
|
443
|
-
│ ├─ Login [thoroughly tested]
|
|
444
|
-
│ ├─ Registration [briefly tested]
|
|
445
|
-
│ └─ Password Reset [not yet tested]
|
|
446
|
-
├─ Checkout [explored]
|
|
447
|
-
│ ├─ Cart [thoroughly tested]
|
|
448
|
-
│ ├─ Payment [medium coverage]
|
|
449
|
-
│ └─ Confirmation [briefly tested]
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
### Bug Detection Rate
|
|
453
|
-
|
|
454
|
-
```
|
|
455
|
-
Sprint 12:
|
|
456
|
-
- 8 exploratory sessions (12 hours total)
|
|
457
|
-
- 23 bugs found
|
|
458
|
-
- 19 bugs were unique (not found by automation)
|
|
459
|
-
- Bug detection rate: 1.9 bugs/hour
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
### Risk Coverage
|
|
463
|
-
|
|
464
|
-
```
|
|
465
|
-
High-risk areas (payment, auth, data export):
|
|
466
|
-
- Planned: 10 hours
|
|
467
|
-
- Executed: 12 hours
|
|
468
|
-
- Bugs found: 15 (5 critical)
|
|
469
|
-
- Status: Well covered
|
|
470
|
-
|
|
471
|
-
Medium-risk areas:
|
|
472
|
-
- Planned: 6 hours
|
|
473
|
-
- Executed: 4 hours
|
|
474
|
-
- Bugs found: 7 (0 critical)
|
|
475
|
-
- Status: More exploration needed
|
|
476
|
-
|
|
477
|
-
Low-risk areas:
|
|
478
|
-
- Planned: 2 hours
|
|
479
|
-
- Executed: 1 hour
|
|
480
|
-
- Status: Adequate
|
|
481
|
-
```
|
|
482
|
-
|
|
483
|
-
## Common Mistakes
|
|
484
|
-
|
|
485
|
-
### ❌ No Charter
|
|
486
|
-
**Problem:** Aimless wandering, unclear what was tested
|
|
487
|
-
|
|
488
|
-
**Fix:** Always start with clear charter
|
|
489
|
-
|
|
490
|
-
### ❌ Too Long Sessions
|
|
491
|
-
**Problem:** Mental fatigue, diminishing returns after 2 hours
|
|
492
|
-
|
|
493
|
-
**Fix:** Keep sessions 45-90 minutes, take breaks
|
|
494
|
-
|
|
495
|
-
### ❌ Not Taking Notes
|
|
496
|
-
**Problem:** Can't reproduce bugs, forget what was tested
|
|
497
|
-
|
|
498
|
-
**Fix:** Take notes continuously during session
|
|
499
|
-
|
|
500
|
-
### ❌ Testing Same Things
|
|
501
|
-
**Problem:** Repetitive testing, missing new areas
|
|
502
|
-
|
|
503
|
-
**Fix:** Use session coverage map, vary tours
|
|
504
|
-
|
|
505
|
-
### ❌ Ignoring Automation
|
|
506
|
-
**Problem:** Wasting time on repetitive setup
|
|
507
|
-
|
|
508
|
-
**Fix:** Automate environment setup, data generation
|
|
509
|
-
|
|
510
|
-
## Advanced Techniques
|
|
511
|
-
|
|
512
|
-
### Hypothesis-Driven Exploration
|
|
513
|
-
|
|
514
|
-
```
|
|
515
|
-
Hypothesis: "Payment fails under high load"
|
|
516
|
-
|
|
517
|
-
Test Design:
|
|
518
|
-
1. Simulate 100 concurrent checkouts
|
|
519
|
-
2. Monitor error rates
|
|
520
|
-
3. Check if errors correlate with load
|
|
521
|
-
4. Investigate failed transactions
|
|
522
|
-
|
|
523
|
-
Result: Confirmed - database connection pool exhausted
|
|
524
|
-
```
|
|
525
|
-
|
|
526
|
-
### Personas-Based Exploration
|
|
527
|
-
|
|
528
|
-
Test as different user types:
|
|
529
|
-
|
|
530
|
-
**Persona 1: Novice User**
|
|
531
|
-
- Doesn't read instructions
|
|
532
|
-
- Makes mistakes frequently
|
|
533
|
-
- Uses basic features only
|
|
534
|
-
|
|
535
|
-
**Persona 2: Power User**
|
|
536
|
-
- Uses keyboard shortcuts
|
|
537
|
-
- Combines features in unexpected ways
|
|
538
|
-
- Pushes limits
|
|
539
|
-
|
|
540
|
-
**Persona 3: Malicious User**
|
|
541
|
-
- Tries to break security
|
|
542
|
-
- Attempts to access unauthorized data
|
|
543
|
-
- Injects malicious input
|
|
544
|
-
|
|
545
|
-
### State Model Exploration
|
|
122
|
+
---
|
|
546
123
|
|
|
547
|
-
|
|
548
|
-
Application States:
|
|
549
|
-
[Logged Out] → [Logged In] → [Premium User] → [Suspended]
|
|
124
|
+
## Agent-Assisted Exploration
|
|
550
125
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
126
|
+
```typescript
|
|
127
|
+
// Collaborative exploration session
|
|
128
|
+
await Task("Exploratory Session", {
|
|
129
|
+
charter: 'Explore checkout flow for payment edge cases',
|
|
130
|
+
duration: '60min',
|
|
131
|
+
heuristics: ['SFDIPOT', 'FEW_HICCUPPS'],
|
|
132
|
+
tour: 'money',
|
|
133
|
+
collaboration: 'human-navigator-agent-driver'
|
|
134
|
+
}, "qe-flaky-test-hunter");
|
|
135
|
+
|
|
136
|
+
// Agent generates test variations while human observes
|
|
137
|
+
await Task("Edge Case Generation", {
|
|
138
|
+
area: 'payment-form',
|
|
139
|
+
variations: ['boundary-values', 'invalid-inputs', 'concurrent-submits']
|
|
140
|
+
}, "qe-test-generator");
|
|
141
|
+
|
|
142
|
+
// Visual exploration
|
|
143
|
+
await Task("Visual Exploration", {
|
|
144
|
+
tour: 'landmark',
|
|
145
|
+
focus: 'responsive-breakpoints',
|
|
146
|
+
compare: 'baseline-screenshots'
|
|
147
|
+
}, "qe-visual-tester");
|
|
555
148
|
```
|
|
556
149
|
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
**Session Management:**
|
|
560
|
-
- Rapid Reporter (session notes)
|
|
561
|
-
- TestBuddy (charters and notes)
|
|
562
|
-
- Excel/Notion (custom templates)
|
|
563
|
-
|
|
564
|
-
**Screen Recording:**
|
|
565
|
-
- OBS Studio (screen capture)
|
|
566
|
-
- Loom (quick videos)
|
|
567
|
-
- Browser DevTools (network/console logs)
|
|
568
|
-
|
|
569
|
-
**Note Taking:**
|
|
570
|
-
- Obsidian (markdown notes with linking)
|
|
571
|
-
- Notion (structured templates)
|
|
572
|
-
- Simple text file (lightweight)
|
|
573
|
-
|
|
574
|
-
**Test Data:**
|
|
575
|
-
- Faker.js (generate realistic data)
|
|
576
|
-
- Mockaroo (custom data sets)
|
|
577
|
-
- SQL scripts (predefined scenarios)
|
|
578
|
-
|
|
579
|
-
## Using with QE Agents
|
|
150
|
+
---
|
|
580
151
|
|
|
581
|
-
|
|
152
|
+
## Agent Coordination Hints
|
|
582
153
|
|
|
583
|
-
|
|
584
|
-
```typescript
|
|
585
|
-
// Agent uses exploration tours to hunt flaky tests
|
|
586
|
-
await agent.exploreWithTour({
|
|
587
|
-
tour: 'bad-neighborhood', // Focus on trouble-prone areas
|
|
588
|
-
duration: '90min',
|
|
589
|
-
charter: 'Discover flaky test patterns in authentication'
|
|
590
|
-
});
|
|
154
|
+
### Memory Namespace
|
|
591
155
|
```
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
tour: 'supermodel', // Focus on visual/UX aspects
|
|
598
|
-
heuristic: 'SFDIPOT',
|
|
599
|
-
recordSession: true
|
|
600
|
-
});
|
|
156
|
+
aqe/exploratory/
|
|
157
|
+
├── sessions/* - Session notes and findings
|
|
158
|
+
├── charters/* - Reusable charter templates
|
|
159
|
+
├── bug-clusters/* - Historical bug patterns
|
|
160
|
+
└── heuristic-results/* - What heuristics revealed
|
|
601
161
|
```
|
|
602
162
|
|
|
603
|
-
###
|
|
604
|
-
|
|
605
|
-
Agents learn from human exploration sessions:
|
|
163
|
+
### Fleet Coordination
|
|
606
164
|
```typescript
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
//
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
165
|
+
const exploratoryFleet = await FleetManager.coordinate({
|
|
166
|
+
strategy: 'exploratory-testing',
|
|
167
|
+
agents: [
|
|
168
|
+
'qe-flaky-test-hunter', // Pattern recognition
|
|
169
|
+
'qe-visual-tester', // Visual anomalies
|
|
170
|
+
'qe-quality-analyzer' // Risk assessment
|
|
171
|
+
],
|
|
172
|
+
topology: 'mesh'
|
|
615
173
|
});
|
|
616
|
-
// → Creates automated regression test for timing issue
|
|
617
174
|
```
|
|
618
175
|
|
|
619
|
-
|
|
176
|
+
---
|
|
620
177
|
|
|
621
|
-
|
|
622
|
-
// Collaborative exploration
|
|
623
|
-
const session = await agent.startExplorationSession({
|
|
624
|
-
charter: 'Explore checkout edge cases',
|
|
625
|
-
humanRole: 'navigator', // Human directs, agent executes
|
|
626
|
-
agentRole: 'driver'
|
|
627
|
-
});
|
|
178
|
+
## Pairing Patterns
|
|
628
179
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
180
|
+
| Pattern | Human Role | Agent Role |
|
|
181
|
+
|---------|------------|------------|
|
|
182
|
+
| Driver-Navigator | Navigate strategy | Execute variations |
|
|
183
|
+
| Strong-Style | Dictate actions | Record findings |
|
|
184
|
+
| Ping-Pong | Observe one area | Explore another |
|
|
633
185
|
|
|
634
186
|
---
|
|
635
187
|
|
|
636
188
|
## Related Skills
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
- [agentic-quality-engineering](../agentic-quality-engineering/) -
|
|
640
|
-
- [context-driven-testing](../context-driven-testing/) - Adapt exploration to context
|
|
641
|
-
- [risk-based-testing](../risk-based-testing/) - Focus exploration on high-risk areas
|
|
642
|
-
|
|
643
|
-
**Testing Approaches:**
|
|
644
|
-
- [api-testing-patterns](../api-testing-patterns/) - Exploratory API testing
|
|
645
|
-
- [security-testing](../security-testing/) - Security-focused tours
|
|
646
|
-
- [performance-testing](../performance-testing/) - Performance exploration
|
|
647
|
-
|
|
648
|
-
**Development Practices:**
|
|
649
|
-
- [xp-practices](../xp-practices/) - Ensemble exploration sessions
|
|
650
|
-
- [bug-reporting-excellence](../bug-reporting-excellence/) - Document findings effectively
|
|
189
|
+
- [context-driven-testing](../context-driven-testing/) - RST foundations
|
|
190
|
+
- [risk-based-testing](../risk-based-testing/) - Focus exploration on risk
|
|
191
|
+
- [agentic-quality-engineering](../agentic-quality-engineering/) - Agent coordination
|
|
651
192
|
|
|
652
193
|
---
|
|
653
194
|
|
|
654
195
|
## Remember
|
|
655
196
|
|
|
656
|
-
Exploratory testing
|
|
657
|
-
- Random clicking
|
|
658
|
-
- Unstructured chaos
|
|
659
|
-
- What you do when lazy
|
|
660
|
-
|
|
661
|
-
Exploratory testing IS:
|
|
662
|
-
- Skilled investigation
|
|
663
|
-
- Structured thinking
|
|
664
|
-
- Critical analysis
|
|
665
|
-
- Creative test design
|
|
666
|
-
- Continuous learning
|
|
197
|
+
**Exploratory testing = simultaneous learning, test design, and test execution.**
|
|
667
198
|
|
|
668
|
-
|
|
199
|
+
Not random clicking. Structured, skilled investigation guided by heuristics and oracles. Document discoveries in real-time. Pair testing amplifies findings.
|
|
669
200
|
|
|
670
|
-
**With Agents
|
|
201
|
+
**With Agents:** Agents generate variations, recognize patterns, and maintain session notes while humans apply judgment and intuition. Combine agent thoroughness with human insight.
|