SuperAPI AI 工具集

test-audit

测试与质量

查看项目

更新于 10-16 03:06

技能介绍

Test Audit 用于两种场景:编写或修改测试时充当准入门槛;接到审计请求时先检查所选范围再提出修改建议,保持每批改动连贯。使用前先阅读仓库测试完整性规则,提取可复用设置、构建器或契约套件时遵循 fixture 与场景约定,让预期结果独立于实现,并明确资源归属。

编写门槛要求新增测试前回答四个问题:它保护什么可观察行为、不变量或独立契约;什么可信回归会让它失败;现有覆盖为何没抓住该失败(优先扩展现有用例或 fixture);是否需要生产调用方都不需要的导出、开关、包装或注入钩子(若需要则在真实归属边界测试)。缺任一答案即未就绪。应证明缺陷回归测试在修复前实现上按预期失败、修复后通过;无法运行该对比时报告差距,不得声称已证明回归。不得用自证性 mock 替代真实行为,也不得把应用逻辑复制进 fixture。

审计与保留:阅读完整候选测试、生产归属方、调用方、重叠测试、相关历史和 CI 选择;当测试声称依赖支持的行为时检查依赖契约。关注无断言探针、自比较、源字符串断言、复制清单、重复契约调用、私有调用形状断言,以及仅为测试保留的导出或包装。这些是候选,不是自动删除项;保持行为重构后失败的测试可能需要移到稳定边界。应保留独立 API、Driver、存储、安全、配置、协议、打包、生成产物或架构契约检查;可观察调用顺序和可信回归仍有价值。静态或慢测试不因形式而低价值。

删除或重写候选前记录:测试名与路径、可检测的失败、覆盖接缝的非测试调用方、更强的剩余证据或不再需要覆盖的原因、相关历史、预期简化、风险与聚焦验证命令。不确定的候选保留并解释原因。在授权审计范围内,删除已确认过时的测试专用接缝及其测试,不保留别名或新增生产接缝替代。以置信度而非删除数量为目标,产品变更单独报告。

验证与交接:用 enterprise-testing 选择最小真实证据,在仓库根运行命令,例如 node --test tests/conformance/contracts.test.mjs、node --test tests/integration/console-api.test.mjs、git diff --check。示例不是强制目标。需要更广契约时用 pnpm test:conformance 或 pnpm test:integration。持久化与运行时断言需要现有 PostgreSQL、Docker 或 Kubernetes 流程。测试运行时不要编辑输入;保留解释意图与不变量的集成测试注释。审计编辑后用 deslop 做行为中性清理,再按要求 autoreview。报告变更候选、保留的误报、生产与测试改动、确切证据与跳过项、未解决差距。审计不授权合并或其他工作流。