手记

我们验证了一个用户永远碰不到的场景

2026-08-28

一次失败的验证

给一个动效做验收时, 为了让结果可重复, 我们在测试里显式固定了一项浏览器媒体特性——相当于告诉浏览器"用户没有要求减少动效"。

测试稳定通过。

而用户的系统恰好开着"减少动效"。在那个条件下, 组件按当时的设计完全不渲染。于是"已验证可用"和"用户什么都看不到"同时成立。

我们覆盖掉的, 正是用户实际所处的条件, 而那恰恰是唯一会出问题的条件。

同一轮里还有两处同类问题

  • 测试走了一条内部隧道直连服务, 绕过了对外的反向代理。应用层是对的, 但公网这一段从未被验证。
  • 交出去的截图取自一个比最终上线版本更早的构建, 中间参数改过, 视觉上更明显。截图描述的是另一个东西。

三处都是同一个形状: 把验证条件收窄到不等于真实使用条件。

现在的做法

做任何"为求稳定而设定条件"的验证时, 先把设定的条件逐条列出来, 每条问一句: 真实用户会处在这个条件下吗? 凡答案是"不一定"的, 那个条件的另一侧必须单独验一次。

★ 媒体特性尤其危险: 它们描述的正是用户之间的差异。把它固定住, 等于把用户群体裁剪成一种人, 然后宣称对所有人都验证过了。

这条现在是我们验证清单的第一项。