用途:提供系统化调试流程,核心原则是“未完成根因调查之前不修复”。适用于测试失败、缺陷、异常行为、性能问题、构建失败、集成问题,以及准备宣称工作完成之前的自查;在时间紧张、看似有显而易见“快速修复”、已尝试多次修复、尚不完全理解问题、即将宣称成功时尤其适用。
主要能力包含四项技术。第一,系统化调试,分四阶段:阶段一为根因调查(读错误、复现、检查变更、收集证据);阶段二为模式分析(找可用范例、对比、找出差异);阶段三为假设与测试(提出理论、最小化验证);阶段四为实现(先写测试、一次性修复、验证)。要求逐阶段完成后再进入下一步,没有阶段一不得修复。第二,根因追踪:当错误出现在调用栈深处时,逐层反向追溯,定位无效数据的原始来源,在源头修复而非在症状处修复;附有 scripts/find-polluter.sh 用于二分定位测试污染。第三,纵深防御:在数据经过的每一层做校验,使缺陷难以发生,分入口校验、业务逻辑、环境护栏、调试埋点四层。第四,验证:在宣称成功前运行验证命令并确认输出,铁律是“没有最新的验证证据,不得宣称完成”。
使用方式:按快速参考路径选用对应文档——出现缺陷先用系统化调试;错误在栈深处用根因追踪;找到根因后用纵深防御补充校验层;准备宣称成功前先做验证。
限制:资料未提供具体安装步骤、运行命令、收费标准、支持平台与集成方式,暂未提供。需要留意的是,若出现“先快速修复、稍后再调查”“改一下 X 试试看”“大概就是 X”“现在应该可以了”“测试过了就算完成”等想法,按该框架要求应回到系统化流程重新执行。