先给结论:不要为“组件本身”写一份通用验收样例,而要为“组件在页面中的上下文”各写一份。同一组件在A页正常、B页异常,通常不是组件坏了,而是页面给了它不同的输入:容器宽度、继承样式、数据条数、加载顺序、权限状态。验收样例要能区分这些解释,否则你改的是组件,坏的是页面。
三种取舍的适用前提不同,不要同时做。
判断依据不是“改起来麻烦不麻烦”,而是异常是否可被页面级输入解释。能被解释,就保留并补样例;不能被解释,才考虑改写或退出。
先固定一个组件,再收集三类证据,避免把猜测写成结论。
实际操作:在异常页面和正常页面各记录一次上述三项,做成两列对照。如果只有一项不同,下一步就只针对该项构造样例;如果多项同时不同,先固定其余项,只留一项变化,否则无法归因。
假设一个例子:某卡片组件在列表页显示正常,在详情页侧栏被压成两行。对照后发现侧栏可用宽度更小、标题字段更长,其余相同。此时把宽度和文本长度分别作为单一变量各测一次,就能判断是宽度不足还是文本过长触发。这个例子只说明比较方法,不代表任何真实项目结论。
每份样例应包含四段,缺一段就会留下争议空间。
注意“可观察结果”不要写成“显示正常”。正常不是证据。写成“标题在两行内完整显示,无省略号,右侧操作区不重叠”,才能被不同的人重复核对。
组件级样例只能证明组件单独可用,不能证明它在页面里可用。更稳的做法是按上下文分组:
不必每组都测,但至少要覆盖你实际会遇到的极端组合。哪一组失败,就说明该组合缺少约束,而不是组件整体不可用。这个分组的价值在于:失败时你能直接说出是哪一类页面需要补规则。
执行样例后,结果只指向三种动作之一。
关键动作是:每次只改一个变量,然后重跑同一组样例。如果改完后失败组没有减少,说明你的解释不成立,应回到证据收集而不是继续加样式。若失败组减少但出现新的失败组,说明约束生效但引入了新边界,需要把新边界补进样例,再决定是否继续保留该组件。
最后提醒一点:请求量、抓取量或某项统计归零,不能单独证明组件处理正确,它也可能是页面未被访问、数据未上报或缓存命中造成的。验收样例要盯住页面上的可观察结果,而不是把某个指标当作唯一裁判。