dsh-qa-skills
Version:
DeepSeek Harness (dsh) plugin: 10 testing skills (requirement analysis, test strategy, case writing/review, E2E/API automation, exploratory, regression, bug analysis) + shared core knowledge base — a full QA pipeline as agent skills.
54 lines (39 loc) • 3.88 kB
Markdown
# 统一澄清与确认格式(clarify-pattern)
> 全框架唯一的"向用户提问"格式。`requirement-analysis`(需求澄清)、`test-case-writing`(阶段二澄清)、`automated-e2e-testing` / `api-testing`(执行中确认)、`exploratory-testing`(异常定性)统一使用,用户看到的问题卡片跨 skill 长一个样。
## 核心规则
**不确定就问,宁可多问不要瞎猜;问了就等答复,不自行假设。** 用户在澄清环节的明确答复具有最终裁决力(语义见 `evidence.md` 第 2 节裁决规则),必须落盘到产物(需求模型 `open_questions` / 澄清记录 / Bug 定性标注),后续阶段不得推翻。
## 统一格式
```markdown
🔍 {场景}:{一句话问题概述}
- **问题来源**: {文档名+章节 / `文件:行` / 页面或接口 / 用例 TC 编号}
- **具体问题**: {一句话提问,不嵌套多个问题}
- **影响**: {影响哪些模块 / 用例 / 判断}
- **建议选项**: A) ... B) ...(如有依据才给;无依据则留空,不要编选项)
```
- **场景** 取值:`需求澄清`(规则/边界/状态/权限模糊)、`执行确认`(定位失败/路径不通/预期歧义/环境索取)、`Bug 定性`("预期行为还是缺陷?")
- 多个问题逐条独立成卡,不合并成一段叙述;单条简单问题可用紧凑单行:`🔍 需求澄清:**来源** {文档/位置}|**问题** ...|**建议** ...`
## 何时必须问(命中即问)
1. 功能/规则/流程描述模糊,或边界条件(最值、上限、超时)未定义
2. 状态流转缺失转换路径、角色权限未说明
3. 文档间 / 文档与代码不一致(列两边原文与位置,问"以哪个为准")
4. 异步/延迟行为无判定时限
5. 元素定位失败、操作入口不存在、预期与实际二义(执行类)
6. 发现异常行为,无法自判"预期还是缺陷"(定性类)
## 需求歧义九类漏网模式(扫描矩阵,2026-08-23 R2 起为本文件单一权威源)
> 需求类澄清(requirement-analysis / test-case-writing 阶段二)在「何时必须问」之上,
> **逐类过筛材料**,命中的必须进澄清清单。评测实测:无此矩阵时模型对隐蔽歧义的命中率反低于裸模型;
> 评测轮实测:有此矩阵时澄清维度命中率 25%→50%。
| # | 模式 | 扫描问题 |
|---|------|---------|
| A | 时间口径 | 每个"X 天/小时/年/每天 N 次":起算点?自然单位还是滚动窗口?含否当日/时区? |
| B | 数值边界含否 | 每个"1–20/N 以内/不超过":端点含否?非整数/取整方向? |
| C | 规则冲突与叠加 | 同一对象多处规则(正文 vs 活动页 vs FAQ):替代还是叠加?冲突以谁为准? |
| D | 术语一致性 | 同一概念多个名字("商城/兑换中心"类)?是否同一入口/模块? |
| E | 异步时限 | 每个异步/延迟/自动行为:多久不发生判失败?无时限即不可测,必须问 |
| F | 部分场景 | 退款/部分支付/部分失败:按比例还是全额?负数/欠额如何处理? |
| G | 并发与顺序 | 并发到达以谁为准?用户操作与定时任务/自动流程的竞态? |
| H | 未定义的判定口径 | "异常账号""高风险"等判定标准;历史数据保留期限与可查范围 |
| I | NFR 指标空缺 | 性能/容量/可靠性/兼容性只有定性主张无指标:吞吐、并发数、响应时间阈值各是多少?兼容基线(系统/版本/分辨率/浏览器)?SLA 与其测量方法?——无指标即不可测:要么问到数值,要么用户显式裁定"本版不验证"进 scope 非目标 |
## 何时不问
- 代码可静态裁决的事实(以代码为准,偏离记录后统一提交,不逐条打断)
- 产物内部组织、格式、命名等不影响正确性的自由度