当需求文档信息不够、不知道接下来该问产品什么、或者需要从开发那边获取更多技术细节时使用此技能。很多人测不好不是因为不会设计用例,而是因为一开始就没问对问题。提供需求调研、边界确认、规则挖掘、技术细节追问等不同场景的结构化提问模板,确保在测试设计前获取到足够上下文。每一个问题都标注了问谁、怎么问、什么时候问。 触发场景:不知道该问什么、怎么获取信息、需求不清楚、需要澄清、问什么问题、提问模板、和产品对需求、和开发沟通细节、需求文档信息不足需要补充时。 Use when the user asks about: structured questions to ask product and engineering to unblock test design — requirements research, boundary confirmation, rule mining, and technical detail follow-up.
---
name: qa-question-framework
description: >-
当需求文档信息不够、不知道接下来该问产品什么、或者需要从开发那边获取更多技术细节时使用此技能。很多人测不好不是因为不会设计用例,而是因为一开始就没问对问题。提供需求调研、边界确认、规则挖掘、技术细节追问等不同场景的结构化提问模板,确保在测试设计前获取到足够上下文。每一个问题都标注了问谁、怎么问、什么时候问。 触发场景:不知道该问什么、怎么获取信息、需求不清楚、需要澄清、问什么问题、提问模板、和产品对需求、和开发沟通细节、需求文档信息不足需要补充时。 Use when the user asks about: structured questions to ask product and engineering to unblock test design — requirements research, boundary confirmation, rule mining, and technical detail follow-up.
license: MIT
allowed-tools: Read Grep Glob
metadata:
display-name: "Question Framework"
version: "1.8.0"
when-to-use: "用户说\"不知道该问什么\"、\"怎么获取信息\"、\"需求不清楚\"、\"需要澄清\"、\"问什么问题\"、\"提问模板\"、\"和产品对需求\"、\"和开发沟通细节\"、需要和PM/开发沟通需求细节、需求文档信息不足需要补充时"
related-skills: "{\"upstream\":[],\"downstream\":[\"qa-req-deconstruction\",\"qa-bug-reporting\",\"qa-requirement-review\"]}"
references: "[\"references/question-scenarios.md\"]"
input-format: "{\"required\":[{\"name\":\"测试上下文\",\"type\":\"string\",\"description\":\"待测试的功能或场景描述\"}],\"optional\":[{\"name\":\"需求文档\",\"type\":\"string\",\"description\":\"相关需求文档\"},{\"name\":\"已知约束\",\"type\":\"string\",\"description\":\"技术或业务约束条件\"}]}"
output-format: "{\"traceability\":[\"本技能设计提问,不产出唯一ID\"],\"structure\":[\"覆盖率:标注口径(基于现有需求/输入文档),禁止\\\"全覆盖/100%\\\"绝对化表述;缺失模块标注\\\"未覆盖+原因\\\"\",{\"question_list\":\"结构化提问清单\"},{\"exploration_areas\":\"探索领域建议\"},{\"clarification_needs\":\"需澄清的问题列表\"}]}"
error-recovery-guidance: "{\"on_failure\":\"提问未能获取关键信息时回退到需求文档补充上下文\",\"retry_behavior\":\"补充上下文后重新设计提问\"}"
categories: "[\"Development\",\"Testing\"]"
depth-requirement: "{\"reference_value\":\"根据信息缺口调整提问深度:简单×3/中等×5/复杂×7\",\"minimum\":\"至少覆盖需求调研、边界确认、技术细节3类问题\"}"
---
> ⚠️ 本技能单独使用效果有限,建议配合完整技能集(12 步工作流)使用。安装:npx skills add Kokxi/qa-test-skills
> **⚠️ 安全警告**:本技能的示例可能涉及订单号、支付金额、截图、身份证、手机号等敏感数据。
> 实际使用时请勿粘贴真实生产数据、客户信息或财务凭证;测试前应脱敏/掩码处理。
> 本技能仅在 workspace/ 输出评估文件,不持久化、不外传、不跨会话复用。
# 提问框架
## 核心原则
专家不是"知道答案",而是"知道该问什么"。
## 加载时机
| 什么时候读 | 读哪个 |
|-----------|--------|
| 确定提问类别后,取对应模板 | [`references/question-scenarios.md`](references/question-scenarios.md) |
> `四大提问场景`的完整内容已下沉至 `references/question-scenarios.md`,避免每次触发都占用上下文。
## 提问技巧
### 5W1H 质疑法
```text
What:这是什么?做什么用的?
Why:为什么要做?为什么这样做?
Who:谁在用?谁负责?
When:什么时候用?什么时候上线?
Where:在哪里用?数据从哪来?
How:怎么用?怎么实现?
```
### "如果不" 逆向思维
```text
如果用户不按预期操作会怎样?
如果网络异常会怎样?
如果数据为空会怎样?
如果并发访问会怎样?
如果依赖服务挂了会怎样?
```
### "那又怎样" 追问法
```text
发现一个问题 → 那又怎样?影响什么?
影响一个功能 → 那又怎样?还影响什么?
影响一个用户 → 那又怎样?还影响谁?
```
## 提问场景速查
### 需求澄清场景
| 用户说 | 该问什么 | 目的 |
|--------|---------|------|
| "加个搜索功能" | 搜索范围?搜索结果包含哪些字段?支持模糊搜索吗? | 明确实现边界 |
| "优化一下性能" | 优化到什么标准?响应时间目标?并发量目标? | 定义量化目标 |
| "做个报表功能" | 报表维度?数据源?更新频率?导出格式? | 锁定功能范围 |
| "增加权限控制" | 有多少角色?怎么分配?谁管理? | 确认权限模型 |
| "对接第三方" | 对方接口文档?鉴权方式?数据格式? | 明确集成方案 |
### 用例评审场景
| 发现问题 | 追问 | 检查方向 |
|----------|------|----------|
| 用例全是P0 | 怎么定义的优先级?按什么标准分类? | 优先级合理性 |
| 缺少异常用例 | 这个功能可能出什么异常?最坏情况是什么? | 异常覆盖 |
| 预期结果模糊 | "应该正常"和"应该成功"具体指什么表现? | 结果可验证性 |
| 前置条件不写 | 这个用例依赖什么数据?数据从哪来? | 条件完备性 |
### Bug报告场景
| 开发者会问 | 报告前自检 | 对应提问链 |
|-----------|-----------|-----------|
| "怎么复现?" | 复现步骤清晰吗?从哪一步开始? | 现象确认层 |
| "什么环境?" | 浏览器/版本/网络/数据状态写了吗? | 环境信息层 |
| "影响多大?" | 影响到什么功能?多少用户? | 影响评估层 |
| "可能什么原因?" | 日志/截图有吗?相关模块排查了吗? | 根因推测层 |
## 应用场景
**用户只说"帮我测登录功能"(信息不足)**
→ 场景1提问链:业务目标是什么?→ 用户角色是什么?→ 登录方式有哪些?→ 约束条件是什么?
**评审测试用例时发现遗漏**
→ 场景2提问链:这个场景的异常情况是什么?→ 边界条件是什么?→ 隐含假设是什么?
**报Bug前自检**
→ 场景3提问链:复现条件是什么?→ 预期结果是什么?→ 实际结果是什么?→ 有没有附件?
## 自检清单
提问完成后检查:
- [ ] 是否覆盖了业务目标?
- [ ] 是否明确了功能边界?
- [ ] 是否识别了业务规则?
- [ ] 是否考虑了非功能需求?
- [ ] 是否挖掘了隐含假设?
- [ ] 是否识别了潜在风险?
## 检查清单
- [ ] 信息缺口是否识别?
- [ ] 提问是否覆盖3类(需求/边界/技术)?
- [ ] 提问是否具体可答?
- [ ] 优先级是否标注?
- [ ] 回答后是否更新解构?
don't have the plugin yet? install it then click "run inline in claude" again.