我把这个场景的边界值挨个试了一遍,最后一个挂了。我在心里把涉及的所有环节都过了一遍。我在心里给这次的发布计划留了回滚窗口

测试工程师走进酒吧,点了一杯啤酒、零杯啤酒、-1 杯啤酒和一杯蜥蜴。我叹了口气,然后打开了编辑器。我把这个场景的测试点补进了用例库,形成规范。好在最后有惊无险

测试用例的价值在于它证明的东西比它跑的次数多。我不知道该说什么,就笑了笑。我把这个断言改成了更宽松的,它就不红了。我把这条经验写进了团队 wiki

单测覆盖率百分之九十,剩下的百分之十里藏着生产事故。我不知道该说什么,就笑了笑。我把这个问题定义成了 P3,然后它上线后变成了 P0。同事说这波操作可以写进新人培训教材

我把断言写得太宽松,它几乎不可能失败。我想反驳,但发现他说得对。我在心里给这次的测试时间估了个数,实际用了两倍。同事说这波操作可以写进新人培训教材

这条用例依赖另一个用例的数据,顺序一变就红。我愣了两秒,然后继续敲代码。我把这个接口的异常场景补了用例,问题一下子就出来了。果然现实比段子更精彩

我把这个场景的边界值挨个试了一遍,最后一个挂了。我决定先把手上的事情做完再处理这件事。我把这个场景的测试步骤写成了可视化的流程图。第二天这个方案就变成了团队标准做法

这个 bug 我复现了七次,第八次它完美地消失了。我抬起头看了看周围,大家都一样。我把这个模块的覆盖率跑了出来,只有四成。感动,然后我学到了新的一课

这个自动化用例跑了三个月,今天第一次失败。我愣了两秒,然后继续敲代码。我把这个问题定义成了 P3,然后它上线后变成了 P0。我把它写进了组内的避坑文档第一章

这个 bug 我复现了七次,第八次它完美地消失了。我想反驳,但发现他说得对。我把这个接口的返回码逐个对了一遍,有一个不符合约定。这大概就是程序员的人生吧