SuperAPI AI 工具集

common-tdd

测试与质量

查看项目

更新于 10-15 22:13

技能介绍

本技能用于质量优先的 TDD 流程(优先级 P0)。核心要求是:通过的测试不足够,测试必须证明一个自有行为和一个可区分的合理故障。

用途:指导新行为开发、缺陷修复和测试变更;为每个行为或风险建立测试意图记录,并按要求选择最小测试层级。

主要能力: 一、模式选择:新行为走严格 RED -> GREEN -> REFACTOR,未出现预期 RED 前不写生产代码;遗留代码或缺陷修复先按需刻画现状,再把目标变更复现为失败回归(RED),保留不相关的既有代码。 二、写测试前先建一条 Test Intent Record,包含 contract(可观察契约,即应用自有结果或副作用)、fault(该测试能捕获的可区分合理回归)、layer(最小诚实层级:单元、组件、契约、集成或 E2E)、cases(最小且互不相同的等价类,等价输入用参数化测试)、command(精确的聚焦单次运行命令)。 三、拒绝重复既有故障、断言实现细节或 mock 编排、依赖时间/网络/顺序、把更宽行为硬塞进单元的测试。 四、受控循环:运行配置的 lint/类型检查,查看邻近测试并推导最小命令;RED 阶段前台串行单次运行,将结果分类为 expected_red、invalid_red、unexpected_green 或 verification_infra_failed;出现 unexpected_green 时先检查既有覆盖,删除冗余或弱用例再实现生产代码;GREEN 只实现满足 expected_red 的最小代码并重跑同一命令;REFACTOR 不改行为地改进结构并重跑同一命令;仅在证据要求时逐级升级到相关单元目标、集成或契约目标,再到明确的发布/全量套件关卡。 五、执行安全:遵守项目超时,否则对聚焦命令使用 120 秒兜底;超时仅终止该 agent 自有进程组并确认子进程清理;禁止 watch、大范围 kill 或对未变化的失败重试,重试前先记录新假设或修正。 六、覆盖率由仓库配置、项目自有的证据决定;未配置阈值时报告风险缺口,不添加凑数的填充测试。

限制与提醒:出现“先写再补测试”“太小了”“第一次就通过”“再跑一遍全量套件”“把所有协作者都 mock”等红旗或借口时须停下;紧迫性、人工测试、测试数量或覆盖率目标都不能绕过意图记录、预期 RED、受控命令或故障证明。测试形状建议清晰使用 Arrange、Act、Assert 三阶段,断言可观察结果,仅在交互即契约时断言交互;mock 仅用于隔离外部边界,优先真实纯/领域行为和简单 fake;测试名以行为为中心,不含工单号或 TODO/FIXME。具体意图记录、失败分类、层级路由和运行器示例见 references/quality-contract.md。