UNPKG

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.

57 lines (42 loc) 4.04 kB
# 用例可执行性标准(Executability) > "看似专业但不可执行"是当前最大质量问题。本标准是**框架级硬标准**,所有产出用例的 Skill(`test-case-writing`、`test-case-review`、`bug-analysis` 的回归用例建议)统一遵守。 > > 本标准同时是评测的一票否决指标:不可执行的用例,覆盖再全也计零分。 ## 1. 失败模式——AI 为什么会生成不可执行的用例 | # | 失败模式 | 典型表现 | |---|---------|---------| | 1 | 凭空想象系统 | 没见过真实页面 / 接口,凭 PRD 与通用经验虚构入口、字段、文案 | | 2 | 写给评审者而非执行者 | 追求覆盖矩阵漂亮,不关心执行者下一步能不能操作 | | 3 | 前置不可得 | 默认环境 / 账号 / 数据随手就有,不交代从哪获得 | | 4 | 判定不可操作 | 预期结果写"功能正常"这类模糊判定;异步行为无判定时限 | | 5 | 断言超出验证强度 | 两个样本就断言"全局唯一";UI 操作就断言数据库约束 | ## 2. 八条硬标准 1. **代码优先**——有代码必读代码,以实现为行为基线,杜绝凭文档想象(失败模式 1 的根治手段) 2. **执行模型判定**——有 UI 独立执行 / 无 UI 转"测试-开发协作清单",开工先判定 3. **具体数据**——操作步骤嵌真实编号 / 字段值,禁止占位符(`{xxx}``<xxx>``某某`4. **页面可达性**——每个入口写清从哪里到达;未知 → 澄清 + TODO 5. **判定时限**——异步行为必须写"多久不发生即判失败" 6. **断言范围 ≤ 验证强度**——用例名称与实际能证明的范围一致 7. **前置可得性**——环境 / 账号未知时列"TODO:向谁索取",不省略 8. **零上下文新人复述**——定稿自检:没读过需求、没人讲解的人只拿这份文件能开工 ## 3. 定稿自检清单(逐条执行) 以"零上下文新人"(没读过需求文档、没人讲解、只拿到这份文件)为标准: - [ ] 随机抽 3 条用例复述:验证什么、从打开什么系统开始怎么操作、怎么算通过——任何一步卡住(不认识某个词 / 不知道页面在哪 / 不知道怎么造前置状态 / 不知道等多久算失败)→ 修复正文或补导读区,而不是降低标准 - [ ] 导读四件套齐全:功能简介+角色表 / 环境与账号表(未知列 TODO 指明找谁)/ 术语表 / 图例 - [ ] 正文零代码内部:无 `文件:行`、SDK 符号、错误码常量、函数名(代码证据隔离在附录) - [ ] 操作步骤嵌具体数据,无占位符 - [ ] 每个被测入口首次出现时写明到达路径 - [ ] 含异步预期的用例逐条有判定时限 - [ ] 用例名称断言不超出步骤实际验证强度 - [ ] 每条用例可独立执行(有 UI)或可整包交开发协作执行(无 UI) ## 4. 违反即不可执行的红线(Eval 判分依据) 以下任一命中,该条用例在 Eval 中判为不可执行: 1. 操作步骤或预期结果包含占位符(`{xxx}``<xxx>`、"某数据") 2. 第一步操作指向不存在的入口(虚构页面 / 未说明到达路径且无 TODO) 3. 预期结果为"功能正常 / 正常显示"等无判定信息的表述 4. 异步预期无判定时限 5. 前置条件不可获得且无 TODO 指引(需要不存在的账号 / 数据却未说明来源) 6. 用例名称断言超出步骤能证明的范围 ## 5. 引用方式 各 SKILL.md 的用例产出 / 审查 / 定稿步骤标注"此时执行本文件全部检查项",相对路径 `../core/executability.md`。 第二个消费场景是**执行型 skill 的转换闸门**`automated-e2e-testing``api-testing` 把存量用例转为自动化脚本前,对待转用例逐条过第 4 节红线——不可执行的用例直接翻译成脚本只会产出"幻觉自动化"(脚本能跑,测的不是真实系统行为);命中红线的用例先补齐再转,补不了的明确暂缓进遗留清单,不静默硬转。