结论先说:不要用某个页面“看起来正常”当验收依据,而要把同一组件在两种条件下的差异写成可复现的最小样例。做法是固定数据与视口,只改变一个变量,记录组件在两种页面中的实际边界、交互结果和失败点,让分歧从“我记得是这样”变成“按这组步骤核对”。
同一组件在不同页面表现不同,原因通常落在两类条件上,验收样例也应据此分成两套。
判断依据很直接:如果换一个结构就复现,属于结构条件;如果结构不变、只换内容就复现,属于数据条件。两种条件混在一份样例里,核对时就会互相甩锅。
每个样例至少写清四件事:页面路径或页面类型、容器宽度或栅格位置、输入数据样本、预期结果与可观察现象。下面是一个注明了假设的短例子,数字只用于说明比较方法,不代表任何真实项目结论。
假设同一张卡片组件同时出现在列表页三列布局和详情页侧栏单列布局中。样例可以写成:
这里只改变数据长度,宽度尽量保持一致,就能判断差异来自内容而非布局。若两者宽度本就不同,应再补一组“同宽度、不同页面”的样例,把结构变量单独隔离出来。
拿到多角色分歧后,先做一次复现动作,再决定下一步。具体可以按这个顺序:
这个动作的结果会直接影响下一步:如果差异只在特定数据长度下出现,验收重点应放在内容适配规则上;如果只在特定容器宽度下出现,验收重点应放在布局约束与断点处理上。两者对应的修改位置不同,先分清能避免反复返工。
这套方法有明确边界。第一,若差异来自页面尚未加载完成、异步内容未返回或缓存状态不同,应先排除时序因素,否则样例会记录到不稳定的中间态。第二,若组件依赖第三方嵌入内容,其内部表现可能不受本地样式控制,此时验收样例应记录“可控制部分”和“不可控制部分”,不要把外部差异算作组件缺陷。第三,若两种页面的设计目标本就不同,例如列表页要求信息密度高、详情页要求阅读舒适,那么表现不同可能是预期结果,验收标准应分别写明,而不是强行统一。
把样例写进验收清单后,还要注明假设前提:视口范围、数据样本来源、是否需要登录态。前提变了,结论就要重跑。这样处理,同一组件在不同页面的差异就不再是口头争论,而是一组可以逐条核对、逐条关闭的项目。