用途:在修复已报告缺陷时,用回归测试证明修复有效。核心观点是:只有能区分“坏行为”与“预期行为”的测试,才算修复的证据。
主要能力与步骤:
- 从请求、相关代码和现有测试中确认失败现象、预期行为与授权范围,记录起始状态(含未提交改动)。尽量在编辑前运行基线并复现缺陷,区分产品失败与测试环境损坏。
- 添加最小的回归测试,覆盖真实失败路径并断言所需结果。先在原始行为上运行,确认它因报告的原因失败,而非导入错误、缺少依赖或无关失败。若已有测试能证明该问题,可复用。
- 在获得实现授权时,追踪原因并做范围受限的修复;仅评审的请求只评估建议修复,不擅自改动生产代码,并保留原始失败证据。
- 在修复后运行同一回归测试。若修复先于测试存在,需在保留相关起始状态的隔离副本或 worktree 中与原始实现比较,不要重置用户工作树;无法做等价比较时,应报告该限制,而非声称已验证前后结果。
- 检查最可能受影响的邻近行为;若修复不完整仍可能通过复现器,补充可区分的用例。仅在失败机制需要时使用参考比较、有界随机检查或性能测量,并记录复现所需的种子与条件。
- 最后说明原因、修复或评审发现、命令与观察到的前后结果、邻近检查及剩余不确定性。若无法复现或预期行为未定,说明缺失的证据,避免推测性修复;范围主张得到支持且相关检查通过后即停止。
限制与护栏:不得削弱断言、仅为让测试通过而改变预期行为,或把导致缺陷的边界 mock 掉;保留现有测试与无关用户改动;比较产物需隔离,不得用破坏性 checkout 或 reset 重建原始失败;缺少依赖或原始版本不可用属于验证限制,不是正确性证明;预先存在的失败应与修复引入的回归分开;执行须在任务授权内,本地复现器不授权生产写入、外部副作用或无关重构;回归测试只确立被测行为,不代表不存在其他缺陷;该技能不改变宿主的推理强度设置。