SuperAPI AI Directory

exploratory-testing

Testing & quality

View repository

Updated 10-16 09:30

About this skill

Exploratory Testing

References: James Bach "Session-Based Test Management", Elisabeth Hendrickson "Explore It!", Michael Bolton "Rapid Testing".

Applicable Scenarios

  • First testing of new features (use cases cannot be exhaustively enumerated)
  • Complex business processes / multi-role interactions
  • Exploratory spread after Bug fixes
  • "Behavior should remain unchanged" verification after refactoring
  • Last round of fallback before release
  • Already covered by use cases but worried about missed points

Core Principles

1. 探索 = 学习 + 设计 + 执行 同时进行
   不是"无脑点",是有意识地观察和推理
  1. Timebox (Session) 90-minute segments, avoid unbounded divergence

  2. Charter Each session has a clear Mission

  3. Real-time recording Take notes while testing, organize afterward

  4. Heuristics-driven Use heuristics (such as SFDIPOT) to systematically cover dimensions


## SBTM(Session-Based Test Management)

```text
1. Charter(章程)
   - 一句话说明本次 session 的 Mission
   - 例:Explore [area] with [resources] to discover [info]

2. Time-box(时间盒)
   - 60min 短 / 90min 标准 / 120min 深度
   - 不超过 120min(注意力下降)

3. Note-taking(实时笔记)
   - 时间戳 + 观察 + 假设 + 问题

4. Debrief(事后梳理)
   - 总结发现 + 时间分布 + 遗漏区域

Charter Template

Explore [测试区域]
With [测试资源]
To discover [想发现的信息]

示例:
Explore the order refund flow
With production-like test data and three roles (admin/agent/customer)
To discover edge cases around partial refunds, multi-currency, and concurrent refund attempts

Testing Tour (James Whittaker / Elisabeth Hendrickson)

Tour name Focus Typical findings
Money Tour Core money-making features Payment / subscription / billing vulnerabilities
Landmark Tour Most frequently used features High-frequency path Bugs
Garbage Collector Corner features Long-tail / legacy code issues
Configuration Tour Various configuration combinations Settings cross-interaction issues
Locale Tour Multiple languages / time zones i18n / time zones / RTL
Failure Tour Network disconnection / power loss / timeout Fault tolerance / recovery
FedEx Tour Data from input to output Data integrity
Couch Potato Click nothing Default behavior
Saboteur Extreme inputs Boundaries / security
Antisocial Least common inputs Edge scenarios

Heuristics (Quick Reference)

SFDIPOT (Product Dimensions)

  • Structure: components / files / modules
  • Function: what it can do
  • Data: inputs / outputs / state
  • Interfaces: UI / API / database
  • Platform: browser / device / OS
  • Operations: how users use it
  • Time: time / timing / performance

CRUSSPIC STMPL (Quality Attributes)

Capability / Reliability / Usability / Security / Scalability / Performance / Installability / Compatibility / Supportability / Testability / Maintainability / Portability / Localizability

Goldilocks (Boundaries)

  • Too big / too small / just right

Workflow

1. 准备阶段(10 分钟)
   - 写 Charter
   - 选 Tour 或 Heuristics
   - 准备测试数据 / 账号
   - 打开记录工具(笔记 / 录屏)

2. Session 阶段(60~120 分钟)
   - 按 Charter 探索
   - 实时记录:时间戳 + 观察 + 问题
   - 发现 Bug 立刻记,不深入修
   - 记录"想测但没测"的区域

3. Debrief(15 分钟)
   - 整理 Bug → 录入跟踪系统
   - 标记遗漏区域 → 下次 Charter
   - 时间分布:测试 / 调查 Bug / Setup 占比

4. 沉淀
   - 经验 → field-journal
   - 高价值 Charter → 模板复用

Note Format

[时间戳] [类型] [内容]

13:05 [Setup] 启动测试账号 user_a, 余额 1000
13:10 [Test] 退款 50%,预期 500,实际 500 ✓
13:15 [Bug?] 输入负数 -100 没拦截,金额变 -100 → 记 Bug-789
13:30 [Question] 多币种汇率刷新时机不明,问产品
13:45 [Test] Failure Tour:断网,重连后状态丢失 → Bug-790

Timebox Allocation Suggestions

60 分钟 session:
  - 5 min Setup
  - 50 min Testing
  - 5 min Debrief

90 分钟 session(标准):
  - 10 min Setup
  - 70 min Testing
  - 10 min Debrief

120 分钟 session:
  - 15 min Setup
  - 90 min Testing
  - 15 min Debrief

Note: fatigue rate rises after exceeding 90 minutes; it is recommended to split into two segments.

Comparison with Use Case-Based Testing

Dimension Exploratory Use Case-Based
Coverage of the unknown Strong Weak (only covers what is written)
Repeatability Weak (depends on the person) Strong
Learning curve High Low
Automation Cannot Can
Suitable stage New features / complex business Regression / CI

→ Complementary relationship, not a replacement

Quality self-check

□ Charter 写清楚了 Mission(不是"测一下功能")
□ 选定了 Tour 或 Heuristics
□ 时间盒控制在 90 分钟内
□ 实时记录有时间戳
□ 发现的 Bug 都录入了跟踪系统
□ Debrief 总结了时间分布
□ 标记了"想测但没测"
□ 高价值 Charter 沉淀到 field-journal

Common pitfalls

  1. Starting testing without a Charter——Losing focus, clicking through the UI for 30 minutes and then clocking out
  2. Timebox too long——Testing for 3 hours straight, efficiency drops to 0 in the later stage
  3. Not taking notes——Finding a Bug but describing it unclearly
  4. Getting stuck investigating a certain Bug——Originally 90 minutes of exploration, 1 hour debugging one Bug
  5. Not doing a Debrief——Findings not organized, forgotten
  6. Only testing the UI——Ignoring API / database / logs
  7. Not reusing Charters——Starting from scratch next time on the same module
  8. Treating "mindlessly clicking" as exploration——No dimension of thinking
  9. Not combining with test cases——Thinking exploration can replace regression

Supporting templates

  • templates/sbtm-charter-template.md — Charter + Heuristics options + Session report + Debrief checklist

Collaboration with other skills

上游:
  risk-based-testing → 高风险区域优先 charter
  test-strategy → 探索式占比由策略决定

平行:
  test-case-design → 探索发现的 Bug 转化为回归用例

下游:
  bug-reporting → 发现 Bug 录入
  regression-testing → 高价值 Charter 转化为回归用例
  field-journal → Charter 复用