先给结论:不要为每个页面单独写一份验收样例,而应以“组件最小契约”为基线,再为出现差异的页面各加一条“情境覆盖样例”。判断保留还是改写,取决于差异是来自内容长度、容器宽度、交互叠加,还是来自页面特有的数据形态。只有能稳定复现的差异才值得进入验收清单;偶发一次、无法用固定数据重现的,先记录,不急于改组件。
同一组件在不同页面表现不同,常见原因有四类,验收样例要能区分它们:
如果两个页面的差异只在前两类,通常保留组件、改写样例即可;若涉及后两类,要优先排查覆盖关系,否则样例会越写越多,却始终修不到根因。
建议把样例分成三层,逐层决定保留或退出:
三层里,第一层必须保留;第二层按差异数量保留,差异越多越要拆细;第三层只在页面结构确实特殊时保留,其余情况可以退出,避免验收成本失控。
假设某卡片组件在列表页正常,在详情页侧栏出现文字溢出。可以这样构造样例:
如果只有B溢出,说明是标题长度问题,处理方式是给标题加截断规则,并把这个样例保留为回归项;如果B和C都溢出,说明容器宽度是主因,应回到布局层调整,而不是继续给卡片加样式。这个判断会直接决定下一步是改组件还是改页面骨架,两者的影响范围完全不同。
不是所有差异都值得长期保留样例。满足以下条件时可以考虑退出:
退出的前提是:已经确认修复动作落在公共层,而不是靠某个页面临时补丁压住。否则下次同类页面出现时,问题会以另一种形式回来。
为了让样例真正能用于验收,每条至少写清四件事:放置位置、容器宽度、内容字段、预期结果。可以用类似结构记录:
位置=侧栏;容器=240px;标题=24字;预期=标题两行内截断,卡片高度不超过相邻模块
预期结果要写成可观察的现象,而不是“显示正常”这类无法判断的表述。写完后,先在一两个差异页面试跑,确认能复现问题,再决定是否推广到其他页面。这样构造出的验收样例,既能覆盖真实差异,又不会因为组件被反复改写而失去一致性。