测试基础与分层67 条

缺陷预防

通过根因分析改进流程与规范,减少同类缺陷再次发生:预防成本通常低于检出与修复成本,是质量内建的核心目标。

软件测试速查开发更新于 2026-10-13

缺陷预防是什么

缺陷预防是通过根因分析改进流程与规范,减少同类缺陷再次发生:修复发现的问题只是止血,把「为什么产生、为什么没拦住」回答清楚,并把结论固化进流程与工具,才是质量内建。预防成本通常低于检出与修复成本:缺陷发现得越晚,修复代价越高,业界常用「1-10-100」的量级经验描述需求、测试、生产三个阶段的修复成本差异。

基本信息

常用方法5 Whys、鱼骨图、正交缺陷分析
固化载体检查清单、模板、Lint 规则、评审要点、质量门禁
跟踪方式预防措施对应指标写入定期质量回顾
有效性验证跟踪同类缺陷占比与复发率变化

典型使用场景

  • 对重复缺陷做根因分析(5 Whys、鱼骨图),找出系统性原因
  • 把结论固化进检查清单、模板、Lint 规则与评审要点
  • 在设计阶段引入失效模式讨论,如异常与降级预案
  • 跟踪预防措施有效性:同类缺陷占比是否下降
  • 对高影响逃逸缺陷做复盘,输出防呆设计与自动化拦截手段
  • 新人培训:把历史高发问题整理成反面清单,缩短上手期

预防手段落到哪

问题类型落地形态示例
重复性编码错误Lint 与静态规则禁止捕获异常后静默忽略
评审常漏点检查清单与模板提交前自查「空集合分支已验证」
设计类缺陷设计评审要点降级预案必须写明触发条件与恢复路径
测试盲区用例模板与门禁新增公共字段必须补兼容性与回归用例
预防措施要落到工具或流程里才有持续性:只写进会议纪要的措施通常一年后消失。
预防投入按帕累托思路分配:先处理复发率高、影响面大的前几类缺陷,再覆盖长尾;每条措施要有负责人与检查时间点,否则无从验证是否落地。

易错点

  • 复盘只写「测试不够仔细」这类结论,无法转化为具体改进
  • 预防措施无人跟踪闭环,同类问题反复出现
  • 只分析技术根因,忽略流程与协作层面的诱因,措施治标不治本
  • 把预防做成额外文档负担,没有进入日常工具链,很快被绕过
  • 措施上线后不度量有效性,无法判断是否真正减少复发

数据来源与参考

  • Philip Crosby《Quality Is Free》相关质量管理理念
  • Google SRE(事后复盘与改进落地)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌