Qa Exploratory Testing

当脚本化测试覆盖得差不多了、但直觉告诉你"可能还有东西没测到"时使用此技能。用系统化的探索方法(场景漫游、角色扮演、失败路径、标杆对比)来发现预设测试用例覆盖不到的问题。探索式测试不是随便点——它是有明确 charter(任务书)和时长的有目的探索。每次探索需要记录 session 笔记和发现的问题列表。

已扫描
适合谁
测试工程师、开发团队负责人
不适合谁
无测试经验的新手、仅需基础功能验证的用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @kokxi/qa-exploratory-testing

Skill 说明

命令、参数、文件名以原文为准

⚠️ 安全警告:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。

实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。

本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。

探索式测试

核心原则

探索式测试不是随意测试,而是有章程、有记录、有学习的系统化探索。

本技能基于SBTM框架(Session-Based Test Management)进行结构化探索。

深度要求(参考值)

关键指标:根据功能复杂度调整探索深度

复杂度Session要求Bug发现目标说明
简单功能1-2个Session3-5个发现单一功能/页面
中等功能3-5个Session8-15个发现多页面/流程功能
复杂功能5-8个Session15-30个发现跨模块/核心业务流

Session-Based Test Management(SBTM)

Charter(测试章程)

Charter结构:
├─ 探索(Explore)
├─ 学习(Learn)
├─ 关于(About)
├─ 使用(Using)
├─ 发现(Discover)
└─ 信息(Information)

示例:
"探索用户登录功能,学习它如何处理异常输入,
使用边界值和特殊字符,发现潜在的安全漏洞和用户体验问题。"

Session类型

├─ 探索Session:发现新问题
│   ├─ 时长:60-120分钟
│   ├─ 目标:发现新Bug、新风险
│   └─ 记录:发现、问题、疑问
│
├─ 评审Session:验证修复
│   ├─ 时长:30-60分钟
│   ├─ 目标:验证Bug修复、回归测试
│   └─ 记录:验证结果、遗留问题
│
└─ 调研Session:技术调研
    ├─ 时长:60-120分钟
    ├─ 目标:了解系统、评估可测试性
    └─ 记录:系统架构、技术细节

漫游测试方法

1. 卖点漫游(Feature Tour)

方法:
├─ 从用户视角体验所有功能
├─ 记录每个功能的使用感受
├─ 发现功能设计问题
└─ 评估用户体验

关注点:
├─ 功能是否易用?
├─ 功能是否符合预期?
├─ 功能间是否一致?
└─ 有无设计缺陷?

2. 地标漫游(Landmark Tour)

方法:
├─ 识别系统的关键入口/出口
├─ 从每个入口深入探索
├─ 发现入口/出口相关问题
└─ 验证系统导航

关注点:
├─ 入口是否清晰?
├─ 导航是否合理?
├─ 返回/退出是否正常?
└─ 状态是否正确保存?

3. 旅伴漫游(Bad Neighborhood)

方法:
├─ 识别系统的问题高发区
├─ 重点探索这些问题区域
├─ 发现历史问题的根源
└─ 验证改进效果

关注点:
├─ 历史Bug集中的模块
├─ 复杂度高的代码
├─ 频繁变更的功能
└─ 用户投诉多的区域

4. 基于风险的漫游(Risk Tour)

方法:
├─ 识别高风险区域
├─ 设计针对性探索策略
├─ 深入测试高风险场景
└─ 验证风险控制措施

关注点:
├─ 资金相关功能
├─ 安全相关功能
├─ 核心业务流程
└─ 第三方集成

角色扮演测试

用户角色

角色类型:
├─ 新手用户:第一次使用
│   ├─ 关注:学习成本、引导设计
│   └─ 探索:误操作、困惑点
│
├─ 普通用户:日常使用
│   ├─ 关注:效率、稳定性
│   └─ 探索:常用路径、痛点
│
├─ 专家用户:高频使用
│   ├─ 关注:效率、高级功能
│   └─ 探索:快捷键、批量操作
│
└─ 恶意用户:异常使用
    ├─ 关注:安全、稳定性
    └─ 探索:注入、越权、破坏

角色卡片模板

## 角色卡片

### 基本信息
- 角色名称:[名称]
- 使用频率:[每天/每周/偶尔]
- 技术水平:[新手/普通/专家]
- 核心诉求:[最关心什么]

### 使用场景
- 典型操作:[日常操作]
- 使用时间:[工作时间/随时随地]
- 使用设备:[PC/手机/平板]

### 痛点预期
- 常见问题:[可能遇到的问题]
- 不满点:[可能不满意的地方]
- 误操作:[可能的误操作]

探索记录模板

## 探索式测试Session记录

### 基本信息
- Charter:[测试章程]
- 测试人员:[姓名]
- 开始时间:[时间]
- 持续时长:[时长]
- 测试环境:[环境信息]

### 探索笔记
| 时间 | 操作 | 观察 | 发现 |
|------|------|------|------|
| 10:00 | 打开登录页面 | 页面正常 | 无 |
| 10:05 | 输入特殊字符 | 提示格式错误 | 正常 |
| 10:10 | 并发点击登录 | 重复提交 | 潜在Bug |

### 发现汇总
- Bug:[数量]
- 风险:[数量]
- 疑问:[数量]
- 建议:[数量]

### 问题详情
| ID | 类型 | 描述 | 严重程度 |
|----|------|------|---------|
| EXP-001 | Bug | 并发点击导致重复订单 | 高 |
| EXP-002 | 风险 | 无登录超时机制 | 中 |

### 遗留事项
- [ ] 待验证:[事项]
- [ ] 待深入:[事项]
- [ ] 待确认:[事项]

输出示例

探索"商品搜索"功能

→ 创建Charter:"探索商品搜索的边界和异常行为(30分钟)"

→ 漫游方法:卖点漫游(正常搜索)→地标漫游(空结果/特殊字符)→风险漫游(SQL注入)

→ 发现:搜索"%"导致数据库报错(SQL注入风险)

→ 记录Session笔记,将发现转化为脚本化测试用例

探索"用户注册"流程

→ 角色扮演:普通用户(正常注册)→恶意用户(批量注册)→忘记密码用户

异常处理引导

场景表现处理方式
Charter目标过大30分钟无法完成Charter拆分为多个子Charter,每个聚焦一个维度
探索方向迷失测试过程中偏离初始目标暂停回顾Charter,必要时重新明确目标
发现过多但时间不够大量发现来不及深入验证按风险优先排序,高风险当场深挖,低风险记录待办
无法复现探索发现探索时遇到的问题无法稳定复现记录环境和操作序列,截图+日志辅助,降级为风险项

检查清单

探索式测试完成后检查:

  • [ ] Charter是否清晰定义?
  • [ ] 探索笔记是否完整记录?
  • [ ] 发现是否分类整理?
  • [ ] Bug报告是否规范?
  • [ ] 遗留事项是否跟踪?
  • [ ] 经验是否沉淀?
K
@kokxi

已收录 8 个 Skill

相关推荐