跳转到内容

Week 6:调试、修复与恢复

本周实现调试修复模块,并将前五周能力连接为闭环。系统收到失败证据后,需要识别可能根因、控制修改范围、验证修复并决定继续、回滚或停止。

  1. 解析构建、测试、运行和日志证据,定位相关需求、接口和文件;
  2. 区分需求理解、设计、实现、测试或环境层面的可能问题;
  3. 形成可检查的修复假设与补丁,而不是无边界重写仓库;
  4. 先运行目标测试,再执行规定回归集合;
  5. 在修复引入新失败时回滚或重新规划;
  6. 设置时间、调用、尝试次数和无进展终止条件;
  7. 持久化状态,使运行中断后能够恢复而非从头生成;
  8. 输出最终未解决问题和停止原因。
  • 诊断、补丁、验证和终止模块;
  • Repair Record:失败证据、假设、影响范围、补丁和验证结果;
  • Git 检查点或等价回滚机制;
  • 一次中断后恢复的运行记录;
  • 对教学组缺陷仓库的修复结果与复盘。

教学组在固定模型、时间和调用预算下提供带有已知缺陷的仓库及测试证据,检查:

  • 系统是否修复目标行为,而非删除或弱化测试;
  • 目标测试和回归测试是否真实执行并通过;
  • 无效修复能否被识别、回滚或停止;
  • 人为中断后能否从持久状态继续;
  • 日志能否解释每次修复由何种证据触发;
  • 预算耗尽时是否诚实交付部分结果和未解决问题。