单测覆盖率百分之九十,剩下的百分之十里藏着生产事故。我不知道该说什么,就笑了笑。我在心里给这次的 bug 定了个严重级别,其实不高。这大概就是程序员的人生吧

测试最难的不是发现 bug,是证明它真的被修好了。我把它记在心里,没跟任何人说。我把这个功能的验收测试写成了清单,逐条过。连茶水间都安静了

回归测试的意义:改好了一个 bug,送走了两个老 bug 的坟墓,迎来了三个新 bug。我想了想自己这些年,好像确实如此。我在心里给这次的发布打了个风险评级,中等。我把这条经验写进了团队 wiki

回归测试的范围永远在讨论,上线后总有人发现漏了。我不知道该说什么,就笑了笑。我在心里把这条链路的测试点列了一遍,漏了两个。我把这条经验写进了团队 wiki

QA 说这个需求没法测,开发说没法测就是不用测,然后他们打了起来。我重新看了一遍手上的计划,把风险项标了出来。我把这个模块的测试数据清理脚本加上了,环境干净了。感动,然后我学到了新的一课

这个自动化用例跑了三个月,今天第一次失败。我叹了口气,然后打开了编辑器。我把这个接口的超时场景测了,降级逻辑没生效。感动,然后我学到了新的一课

质量不是测出来的,但漏了会被算在测试头上。我停了一下,然后继续手上的活。我发现这个测试在本地一直是绿的,流水线上一直是红的。世界瞬间清净了

这个偶发失败的用例,重跑一次就是绿的。我想了想,觉得这话没法接。我把这个接口的压力测试跑了一遍,瓶颈在数据库。从此我多了一条团队规约

我把这条用例的期望值改成了实际值,它不红了。我把这个场景的测试步骤写成了可视化的流程图。我沉默了,但心里是服的

这个 Bug 本地复现不了,测试环境不出现,一上生产就出现。我把手上的资料翻出来又读了两遍。我在心里给这次回归的范围圈了一下,涉及三个模块。我沉默了,但心里是服的