关于 exploratory-testing-advanced
面向测试人员和质量团队的结构化探索式测试技能,用于调查软件行为与质量风险。它结合测试章程、启发式方法、测试路线和实时记录,引导发现问题而非执行预设脚本。
主要功能
- 01限时测试章程
- 02SFDIPOT 与 FEW HICCUPPS 启发式
- 03十二种测试路线策略
- 04实时记录与证据留存
- 05复盘与 Agent 协同
适用场景
- 01探索新功能或变更功能
- 02发现自动化测试遗漏的缺陷
- 03调查不熟悉的系统
- 04在测试计划前发现风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ proffesor-for-testing/ agentic-qe --skill exploratory-testing-advanced安装后在 Claude Code 中输入/exploratory-testing-advanced确认已加载。
附带文件references/heuristic-cheatsheet.md
详细介绍
高级探索式测试
<default_to_action> 探索软件或调查质量风险时:
- 创建测试章程,明确任务、范围和时间限制(45-90 分钟)
- 运用启发式方法:SFDIPOT(质量标准)、FEW HICCUPPS(一致性判定依据)
- 使用测试导览系统地探索(Business District、Bad Neighborhood、Historical)
- 实时记录发现,包括笔记、截图和证据
- 进行复盘:学到了什么?接下来做什么?通过 Agent 记忆分享
快速选择启发式方法:
- 要测试什么 → SFDIPOT(结构、功能、数据、接口、平台、操作、时间)
- 识别问题 → FEW HICCUPPS(熟悉的问题、可解释性、现实世界、历史、形象、可比较性、声明、用户、产品、目的、标准)
- 导航应用 → 测试导览(适用于不同探索策略的 12 种类型)
关键成功因素:
- 探索是有技巧、有结构的思考,而非随机点击
- 记录发现,而不是预先计划好的测试用例
- 结对测试比独自探索能发现更多问题 </default_to_action>
快速参考卡
适用场景
- 调查新功能或变更后的功能
- 查找自动化测试遗漏的 Bug
- 熟悉陌生系统
- 制定测试计划前发现风险
会话结构(SBTM)
| 阶段 | 时长 | 活动 |
|---|---|---|
| 测试章程 | 5 min | 明确任务、范围和重点 |
| 探索 | 45-75 min | 系统调查 |
| 记录 | 持续进行 | 实时记录发现 |
| 复盘 | 10-15 min | 总结、确定优先级并分享 |
SFDIPOT 启发式方法(测试什么)
| 字母 | 重点 | 示例问题 |
|---|---|---|
| Structure | 组成是否合理? | 代码结构、UI 布局、数据架构 |
| Function | 是否实现了应有功能? | 核心功能是否正常运行 |
| Data | 数据处理是否正确? | CRUD、验证、持久化 |
| Interfaces | 交互是否顺畅? | API、UI、集成 |
| Platform | 在目标环境中能否运行? | 浏览器、OS、设备 |
| Operations | 是否易于使用和管理? | 安装、配置、监控 |
| Time | 是否能正确处理时间? | 并发、超时、调度 |
FEW HICCUPPS 判定依据(识别问题)
| 一致性参照 | 检查内容 |
|---|---|
| Familiar problems | 看起来像已知的 Bug 模式吗? |
| Explainable | 能否合理解释此行为? |
| World | 是否符合现实世界的预期? |
| History | 是否与之前的版本一致? |
| Image | 是否符合品牌或产品形象? |
| Comparable | 是否与竞品相似? |
| Claims | 是否符合规格、文档或营销宣传? |
| Users | 是否满足用户预期? |
| Purpose | 是否实现预期目的? |
| Statements | 是否符合开发人员所述? |
测试导览(12 种类型)
| 导览 | 策略 |
|---|---|
| Business District | 检查关键业务流程 |
| Historical | 探索过去 Bug 集中的区域 |
| Bad Neighborhood | 检查已知问题区域 |
| Money | 检查影响收入的功能 |
| Landmark | 根据关键功能导航 |
| Intellectual | 检查复杂、需要深入思考的功能 |
| FedEx | 追踪数据在系统中的流转 |
| Garbage Collector | 检查清理功能和边界情况 |
| Museum | 检查帮助文档和示例 |
| Rained-Out | 检查发生故障时的情况 |
| Couch Potato | 检查操作最少的路径 |
| Obsessive-Compulsive | 检查重复操作 |
会话笔记模板
**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 辅助探索
// 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 协作提示
记忆命名空间
aqe/exploratory/
├── sessions/* - Session notes and findings
├── charters/* - Reusable charter templates
├── bug-clusters/* - Historical bug patterns
└── heuristic-results/* - What heuristics revealed
多 Agent 协作
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'
});
结对模式
| 模式 | 人类角色 | Agent 角色 |
|---|---|---|
| 驾驶员-领航员 | 规划导航策略 | 执行不同变体 |
| 强势风格 | 指示操作 | 记录发现 |
| 乒乓模式 | 观察一个区域 | 探索另一个区域 |
相关技能
- context-driven-testing - RST 基础
- risk-based-testing - 聚焦风险进行探索
- agentic-quality-engineering - Agent 协作
请记住
探索式测试 = 同时进行学习、测试设计和测试执行。
不是随机点击,而是由启发式方法和预言机引导的、有条理且专业的调查。实时记录发现。结对测试可以放大成果。
与 Agent 协作: Agent 生成各种变化、识别模式并维护会话记录,人类则运用判断力和直觉。结合 Agent 的全面性与人类的洞察力。
注意事项
- Agent 将探索式测试当作脚本化的测试执行——提醒它:探索意味着实时学习并调整
- Agent 的会话记录缺少「我为什么尝试这个」的推理——明确要求它说明决策依据
- 90 分钟的会话会导致上下文溢出——将时长限制为 45 分钟,并明确进行复盘
- Agent 默认进行正向路径探索——明确指定「Bad Neighborhood」或「Saboteur」游览,以进行负向测试
- 如果 Agent 不理解领域,SFDIPOT 启发式方法就会被误用——提前提供领域上下文
评论
支持 Markdown