先给结论:不要为一个组件写一份“通用验收样例”,而要按它出现的页面语境分别取样。做法是先从你手里已有的页面清单中,挑出该组件所处的几类上下文,每类各写一条可复现的验收样例,再规定哪些页面允许例外、例外由谁确认。这样做的原因是,同一组件在不同页面的差异往往来自容器宽度、内容长度、相邻模块或数据来源,而不是组件本身失效;只测一个页面,规模化后必然出现无法判断对错的例外。
拿到“首页正常、列表页错位”这类现象时,先别改组件代码。把差异拆成三类可观察证据,再决定验收样例怎么写。
如果三类证据都相同而表现仍不同,才把问题归到组件本身。这个判断顺序决定了后续样例是写在页面级还是组件级,写错层级会让维护者反复返工。
以你手上那份页面清单为对象,逐个页面标注该组件的三个属性:栏位宽度档位、内容长度档位、数据来源类型。标完后通常只会出现少数几种组合,不必为每个页面单独写样例。
假设某组件只出现在带侧栏的列表页和主栏独占的详情页,且详情页内容可能为空。那么需要的是三条样例:带侧栏常规内容、主栏独占常规内容、主栏独占空内容。这个数量是可执行的,而“所有页面都测一遍”既费时又无法说明哪条失败代表什么。
样例的可执行性取决于它是否包含前置条件、操作、观察点和判定标准。缺任何一项,执行者只能凭感觉判断通过与否。
一个实际动作是:把上述四件事写进方案模板中该组件的验收条目,并注明适用的页面组合。结果是执行者能直接对照通过或失败,失败时也能指出是宽度档位还是内容档位的问题,下一步的修复范围因此被限定在具体组合内,而不是全站回退。
取样矩阵必然有覆盖不到的情况,边界要提前写明,否则例外出现时会被当成缺陷反复上报。
需要提醒的是,某条样例在多个页面同时失败,并不能单独证明是组件代码的问题,也可能是共用样式或数据源变更;反过来,只有个别页面失败,也不能直接断定是页面语境造成。把观察到的现象与取样矩阵对照,才能缩小到可验证的原因。验收样例的作用是让这种对照有据可依,而不是替代排查。
页面增加后,先判断新页面落入已有组合还是新增组合。落入已有组合的直接复用,新增组合才补写样例,并在方案模板中记录新增原因。若某组合长期没有页面使用,可以标注为待观察而非立即删除,以免页面回归时无据可查。这样维护的成本与页面增长不完全同步,而是与组合种类的增长同步,更接近实际可控的范围。