首页/开发/CI/CD 与发布速查/不稳定测试(Flaky Tests)治理
质量门禁与回滚51 条

不稳定测试(Flaky Tests)治理

同一代码重复运行结果不一致的测试即 flaky:会侵蚀门禁公信力。治理路径是识别、隔离、修复三步,并用 flaky 率观察趋势。

CI/CD 与发布速查开发更新于 2026-10-12
识别重复运行或历史结果比对,标记不稳定用例
隔离暂时移出阻断集合并登记修复任务
修复消除时序依赖、共享状态、随机端口与外部网络依赖
度量flaky 率 = 不稳定用例数 / 总用例数

重复运行排查

重复运行排查
pytest --count=5 tests/test_checkout.py
# pytest-repeat 插件提供 --count 参数
长期给不稳定测试打重试补丁:掩盖并发与时序缺陷,问题会在生产放大。

易错点

  • 把 flaky 修复无限期延后:大变更时无法区分新旧失败
  • 隔离后没有跟踪任务:不稳定用例被遗忘在隔离区

数据来源与参考

  • pytest-repeat 插件文档
  • Google Testing Blog 关于 flaky tests 的讨论
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌