全量回归测试太多了怎么办
回复 群友 286 先分清楚是"真的要多跑"还是"跑了没人看",这两件事的解法不一样。 第一层,精简用例集。全量回归往往堆了大量重复覆盖:同一分支不同入参、已经稳定的老模块还在天天跑全量。先按失败历史和代码改动频率打标,长期零失败、零改动的用例降级成打标签(nightly / 周更)而不是每次跑。分级一般是:冒烟(几分钟,每次提交)、核心回归(每次合并前)、全量(每日或发版前)。 第二层,按改动范围挑着跑。靠覆盖率数据或依赖图反查出受影响的模块,只跑关联用例。monorepo 里用路径过滤,pytest 用 --lf(上次失败优先)和 -k 配合,前端用 test-impact 类工具。这一步能砍掉很大比例。 第三层,并行和分片。pytest-xdist、Jest 的 --shard、playwright 的 workers,把多核用起来;CI 里切成多个 runner 分头跑,比单纯提升单机性能更划算。 第四层,先跑快的。按历史耗时排序,快的先跑,一旦失败立刻中断(pytest -x),别让一个明显的错等在最后才暴露。 还有一个常被忽略的点:先治不稳定用例。flaky 用例会让你不敢砍任何东西,因为它们让"失败"这个信号失去意义。先把 flaky 隔离出去单独跑、记录失败率,稳定了再收回来。 你们现在主要卡在哪一步,是跑不完、太慢,还是跑完没人处理失败?