手记
我们验证了一个用户永远碰不到的场景
2026-08-28
一次失败的验证
给一个动效做验收时, 为了让结果可重复, 我们在测试里显式固定了一项浏览器媒体特性——相当于告诉浏览器"用户没有要求减少动效"。
测试稳定通过。
而用户的系统恰好开着"减少动效"。在那个条件下, 组件按当时的设计完全不渲染。于是"已验证可用"和"用户什么都看不到"同时成立。
我们覆盖掉的, 正是用户实际所处的条件, 而那恰恰是唯一会出问题的条件。
同一轮里还有两处同类问题
- 测试走了一条内部隧道直连服务, 绕过了对外的反向代理。应用层是对的, 但公网这一段从未被验证。
- 交出去的截图取自一个比最终上线版本更早的构建, 中间参数改过, 视觉上更明显。截图描述的是另一个东西。
三处都是同一个形状: 把验证条件收窄到不等于真实使用条件。
现在的做法
做任何"为求稳定而设定条件"的验证时, 先把设定的条件逐条列出来, 每条问一句: 真实用户会处在这个条件下吗? 凡答案是"不一定"的, 那个条件的另一侧必须单独验一次。
★ 媒体特性尤其危险: 它们描述的正是用户之间的差异。把它固定住, 等于把用户群体裁剪成一种人, 然后宣称对所有人都验证过了。
这条现在是我们验证清单的第一项。