| name | test-quality-governor |
| description | 自动化治理项目测试质量。用于测试数量膨胀、低价值测试过多、断言薄弱、mock 过度、重复用例、测试层级混乱、flaky 测试、希望用 subagent 批量审计和自动改进测试资产的项目。触发后应自动发现测试框架、建立清单、增量审计、执行低风险改进、验证结果,并只在高风险操作时询问用户。 |
Test Quality Governor
目标
把项目测试从"数量很多"治理成"信号清晰、维护成本低、能保护行为契约"的测试资产。不要为了覆盖率堆测试;优先减少重复测试、弱断言、实现细节测试、过度 mock 和层级错配。
默认自动推进。只有高风险删除、大规模重写、需要修改生产代码、或语义不确定且影响核心行为时,才询问用户。
流程
-
发现:读取测试配置、依赖、CI、测试目录结构,确认框架和测试入口。
-
审计:逐文件阅读测试代码和对应生产代码,按评分标准判断质量。项目较大时派发 subagent 分批并行审计。subagent 不修改文件,只返回审计结果。
-
确认:向用户展示需要动作的测试及建议(keep 的测试不展示)。高风险操作必须先征得用户同意。
-
执行:按动作策略执行改动。low risk + high confidence 默认自动执行;medium risk 分批执行并验证;high risk 必须先确认。
-
验证:每批改动后运行相关测试。失败时自动诊断修正,无法修正则回退并说明原因。
资源索引
- 评分标准与动作策略:
references/guidelines.zh.md
- 子代理提示词:
references/subagent-prompts.zh.md
自动化边界
low risk + high confidence:默认自动执行。
medium risk:优先分批执行并验证;影响面大或语义不确定时询问用户。
high risk:必须先询问用户。
高风险包括:删除核心领域测试、批量快照更新、大规模改写 fixture、需要修改生产代码、无法判断是否为历史回归测试、或可能改变测试表达的业务语义。
禁止事项
- 不要仅凭覆盖率判断测试价值。
- 不要因为测试数量多就删除测试。
- 不要默认逐个输出所有 keep 测试。
- 不要把 mock 调用次数、非空断言、不抛异常自动视为高质量。
- 不要为了让测试通过而重写生产代码,除非用户明确要求修复生产缺陷。
- 不要在未验证的情况下批量提交测试重构。