回归套件里 23 条用例红了半年,所有人都默认它们会红,新出现的失败混在里面没人发现。上周真回归了一次,也没人报警。第一次遇到会往复杂处想,其实漏掉的多是个小前提。
pytest -m 'not known_failure' pytest -m known_failure --tb=no -q
已知失败没有隔离,红绿信号被稀释。没人负责的用例一直留着,整套结果慢慢失去参考价值。这一点先确认清楚,后面就不用反复试。
「回归用例常年失败」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
具体做法是,把已知失败单独打标签 从主套件摘出去 建待修清单;每条失败指定负责人和截止时间;主套件恢复全绿 并设成合并前的硬门槛;修不好的直接删 留着比删掉更贵。
改完照着核一遍,主套件恢复全绿 待修清单里的条数每周在减少。
