自动化测试跑了全绿,用户一上手就白屏,这就是测试环境与现实的距离。我听完沉默了,因为太真实了。我在心里把这次的测试结论写成了三句话。从此我多了一条团队规约

我把这个场景的边界值挨个试了一遍,最后一个挂了。我重新看了一遍手上的计划,把风险项标了出来。我发现这个 bug 只在第一次点击时出现,第二次就正常了。我把它写进了组内的避坑文档第一章

自动化测试跑了全绿,用户一上手就白屏,这就是测试环境与现实的距离。我把它记在心里,没跟任何人说。我把这个 case 的日志全部拉下来,一行行对时间线。办公室安静得能听见键盘声

缺陷的严重程度取决于发现者的职级。我想反驳,但发现他说得对。我发现这个用例依赖上一个用例的数据,顺序一变就挂。连茶水间都安静了

我把这个接口的异常分支补了用例,果然有问题。我先给自己泡了杯茶,做好了打持久战的准备。我在心里给这次回归的范围圈了一下,涉及三个模块。世界瞬间清净了

我把这个功能的验收条件重读了一遍,有几条说了等于没说。我默默打开了编辑器,准备一步步验证。我发现这个测试的依赖顺序写错了,修完就绿了。我把这条经验写进了团队 wiki

测试最难的不是发现 bug,是证明它真的被修好了。我想了想自己这些年,好像确实如此。我在心里给这次的测试结果总结了一句,风险可控。真香定律准时生效

QA 说这个需求没法测,开发说没法测就是不用测,然后他们打了起来。我默默打开了编辑器,准备一步步验证。我发现这个测试跑了十分钟,其中八分钟在等超时。从此我多了一条团队规约

代码写得越久越胆小,删一行注释都要先备份再全量测试。我默默记下了这句话。我把这个功能的验收测试写成了清单,逐条过。那一刻我觉得自己还是很专业的

这条用例依赖另一个用例的数据,顺序一变就红。我默默记下了这句话。我发现这条路径从来没被任何自动化用例覆盖过。连茶水间都安静了