全量回归测试太多跑不完怎么办

先分清是真要多跑还是跑了没人看,再按精简用例集、按改动范围挑跑、并行分片、先跑快的四层下手,并优先治理不稳定用例。

要点

  1. 精简用例集:按失败历史和代码改动频率打标,长期零失败零改动的用例降级为 nightly 或周更;分冒烟(每次提交)、核心回归(合并前)、全量(每日或发版前)三级。
  2. 按改动范围挑着跑:靠覆盖率数据或依赖图反查受影响模块,monorepo 用路径过滤,pytest 用 --lf 和 -k 配合,前端用 test-impact 类工具。
  3. 并行与分片:用 pytest-xdist、Jest --shard、playwright workers 把多核用起来,CI 里切多个 runner 分头跑比单纯提升单机性能更划算。
  4. 先跑快的:按历史耗时排序,快用例先跑,失败立刻中断(pytest -x),别让明显的错等到最后才暴露。
  5. 先治 flaky 用例:不稳定用例让人不敢砍任何东西,也让失败信号失去意义,应隔离单跑、记录失败率,稳定后再收回。

来源