agentleFS
BackToCimaCoppiBackToCimaCoppi/Praxis/skills/test-standards/SKILL.md

test-standards

Skill6 starsChanged 50 days agoApache-2.0View on GitHub

测试规范层 skill。用于功能开发、bug 修复、接口/数据库/UI/业务规则改动后,判定必须包含哪些测试类型、最低断言深度、数据准备策略、自动化优先级、手工测试例外和交付阻断条件。触发场景:制定测试矩阵、判断本次最少要跑哪些测试、审查测试覆盖是否足够、施工前/交付前质量闸检查。

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Files
SKILL.md

测试规范层

本 skill 只回答:这次改动必须测什么、测到什么深度、什么情况不能交付。不要在本层写具体命令、账号、端口、脚本写法或项目工具细节;执行方式交给 test-execution-router 与项目执行 skill。

0. 第一原则

在纯 AI 开发 loop 中,测试是最后一道质量闸,不是可选收尾。没有测试矩阵、没有自动化执行证据、没有无法自动化的明确理由,不允许交付。

默认规则:

  • 能由 AI 自动化的测试必须自动化。
  • AI 可控制浏览器/开发者工具、读取 DOM/data、截图并用 VLM 判读时,仍属于自动化;“有 GUI”“需要看图”“工具是交互式”都不是手工理由。
  • 只有 AI 无法操作的真实设备、原生客户端对象、支付/OAuth/原生授权等物理边界,才允许转人工手工验证。
  • 手工验证必须有物理边界证明、runbook、客观观测点、回传材料和写明责任角色的计划内人工里程碑。
  • 跳过任一测试类型时,必须说明本次改动为什么不命中,而不是写“暂不需要”。
  • 每次测试矩阵对下列八面恰好各有一行;不命中写可核 N/A 理由,禁止省略行。

1. 必选测试面

每次改动都先判断是否命中下列测试面,并形成测试矩阵:

测试面何时必须纳入最低要求
单元测试业务规则、状态分支、算法、解析、组装、校验逻辑变化覆盖正常、边界、异常或回归路径;不能只测 happy path
接口测试对外接口、鉴权、错误码、状态流、请求/响应字段变化断言字段语义、错误语义、状态变化;不能只看成功码
数据库数据预置需要稳定前置状态、跨步骤业务链路或复杂终态校验幂等、可清理、命名空间隔离;优先通过业务接口造数
数据库数据校验写链路、状态流转、表结构、索引/唯一约束、异步重算变化校验终态、不变量、幂等和约束;不能只看有记录
网页 UI 自动化Web/admin 页面、表单、列表、弹窗、配置页、可视状态变化AI 自动操作关键路径,硬断言 DOM/数据,必要时自动截图+VLM 判读
小程序 UI 自动化小程序页面、组件、状态管理、C 端路径变化AI/自动化工具操作关键路径,硬断言元素/data,canvas/复杂视觉自动截图判读
小程序视觉验收页面布局、图表、canvas 合成图、视觉规格变化自动产出截图并由 VLM/视觉模型判读规格差异;不能只证明截图存在
手工验证AI 无法操作的真实设备、原生客户端对象、支付/OAuth/原生授权仅作物理边界例外;物理边界证明 + runbook + 观测点 + 回传材料 + 人工里程碑及责任角色缺一不可

2. 改动范围到测试矩阵

按改动范围选择测试组合:

改动范围必跑常见附加
纯后端内部规则单元测试若影响外部行为,加接口测试;若落库,加 DB 校验
对外接口接口测试、相关单元测试若写数据,加 DB 预置/校验;若被 UI 消费,加对应 UI 自动化
数据库结构或写链路DB 预置、DB 校验、相关单元/接口测试若影响展示,加 UI 自动化或视觉验收
后台网页Web UI 自动化、接口测试配置写入必须加 DB 校验;视觉变化加截图判读
小程序业务页小程序 UI 自动化、接口测试视觉/图表/canvas 变化加视觉验收
小程序视觉/合成图小程序 UI 自动化、小程序视觉验收若素材/配置来自后端,加接口测试与 DB 校验
鉴权、支付、用户数据删除、业务 ID、核心算法相关测试全纳入,金标准/回归必跑自动升级为高风险质量闸;测试通过不等于免除人工审查,但人工审查发生在设计/章程拍板与终点验收,不构成执行中的停机闸门
纯文案或非行为样式微调视影响面最小化仍需视觉或 UI 验证;不得默认“无需测试”

3. 数据策略

根据业务真实性和风险选择数据策略:

策略适用要求
DB 预置 -> 测试 -> DB 校验需要稳定构造复杂状态、异常状态或历史数据前置必须幂等、可清理;不得 broad cleanup;业务 ID 需合法来源
接口造数 -> 测试 -> DB 校验需要验证真实业务写链路或 ID/状态由系统生成优先使用;造数接口本身也要记录为前置链路
复用测试数据 -> 测试 -> DB 校验数据昂贵或依赖外部平台必须证明数据稳定、不会污染他人测试
人工前置 -> AI 自动校验真机/外部平台授权等 AI 无法完成的前置人工只做绕不过去的动作;后续校验仍由 AI 执行

4. 最低断言深度

断言必须验证业务语义,不只验证“跑通”:

运行证据同样受本节约束:套件退出码、文件存在、日志/报告哈希、测试名或 AC 编号只能证明“执行载体发生过”,不能单独证明业务断言。每条通过结论必须能回到框架原生断言事件、真实扫描结果或采集时物理边界原始观测。

测试面不合格断言合格断言
单元测试方法返回非空分支结果、边界值、异常路径、关键不变量
接口测试code == 0 / data 非空核心字段值、字段关系、错误码、状态变化、分页/空态
DB 校验查询有行行数、关键字段、唯一约束、状态终态、幂等重跑结果;共享余额/限额/计数类写路径加真并发下不变量保持
Web UI页面能打开关键路径可操作、表格/表单值正确、错误/空态正确
小程序 UI页面不白屏用户路径、元素文本/data、加载/空态/权限态正确
视觉验收截图存在布局、文案、图表/canvas、遮挡、规格差异被判读

5. 交付阻断条件

以下任一情况必须阻断交付:

  • 未产出测试矩阵。
  • 直接命中的测试面没有执行证据。
  • 跳过测试没有具体原因。
  • 自动化失败被标成“手工通过”替代。
  • AI 可控 GUI、开发者工具或 VLM 判读被降级成手工。
  • 手工项缺物理边界证明、runbook 或计划内人工里程碑及责任角色。
  • 用例失败后未分类就改断言或删除用例。
  • 只跑冒烟测试,却宣称完成正式接口/业务验证。
  • 视觉变化只有截图文件,没有判读结论。
  • 数据写链路只有接口响应,没有 DB 终态校验。
  • 用模拟/构造替身的结果冒充真实链路验证(未标注保真度 simulated,或未写明真实链路收口去向)。
  • 改动命中死亡线/高风险区域,对应金标准用例未生效(无 execution_ref),却未显式登记豁免并上报。
  • VERIFIED 只绑定套件成功、聚合哈希或换名后的通用观测,不能还原该 AC 的实际业务结果。
  • 金标准只有正向返回值,没有不变量终态与负向副作用的原生观测事件。

6. 输出格式

使用本 skill 后,输出至少包含:

## 测试矩阵(固定八面,各一行)
| 测试面 | 本次是否命中 | 原因/N/A证据 | 自动化/手工 | 保真度(真连/模拟/手工) | 证据要求 |

## 数据策略
- 选择:DB 预置 / 接口造数 / 复用数据 / 人工前置
- 理由:
- 清理与隔离:

## 最低断言
- 接口:
- DB:
- UI/视觉:

## 阻断项
- 未覆盖测试:
- 不能自动化原因:

7. 与其他 skill 的边界

  • 写具体用例:使用 test-case-design。
  • 路由执行:使用 test-execution-router。
  • 项目命令、凭据、浏览器、小程序、视觉工具:使用项目执行 skill。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.