先给结论:不要试图找一个“正确表现”当基准,而要把差异本身变成验收对象。做法是固定组件输入、记录页面级上下文、把两种表现都写成可复现的样例,再判断哪种差异属于可接受的范围。下面用一个假设情境说明完整过程。
假设你在一家已有实际业务的公司负责站点维护,自助建站平台上有一个“价格展示组件”,用于显示套餐名称、价格和说明文字。产品列表页调用它时,价格和单位在同一行;转到活动落地页后,同样的组件却把单位挤到下一行,说明文字也被截断。此时你的目标不是立刻改样式,而是先构造能稳定复现这两种表现的验收样例。
这里的关键前提是:两个页面使用的组件是同一个,但页面容器宽度、外层样式和内容长度可能不同。变化发生在“页面上下文”,而不是组件本身。验收样例要围绕这个变化来设计。
在动手写样例之前,先把差异来源分成三类,每类只记录事实,不做判断。
把这三类变量写进样例表格,每个样例只改变一个变量,其他保持相同。这样你才能看出到底是哪一类变量导致了表现差异。
接着构造两组最小对照样例。第一组:相同输入、相同容器宽度,分别放进列表页和落地页。第二组:相同页面、相同容器,只改变输入文字长度。
如果第一组就出现差异,说明问题在页面级样式或布局模式;如果第一组一致、第二组出现差异,说明问题在内容长度触发了换行或截断。这个判断会直接决定下一步动作:前者要去检查页面模板的全局样式,后者要去检查组件内部的文本处理规则。
实际操作时,可以先在测试页面复制一个最小页面,只放该组件和必要的容器,然后逐步加上列表页和落地页的外层结构。每加一层就记录一次表现,直到差异出现。这个动作的结果是:你能明确指出差异是在哪一层引入的,而不是笼统地说“两个页面不一样”。
不是所有差异都要修。判断标准可以归为两条:
这两条标准要写在验收样例里,作为每个样例的预期结果。样例不写预期,验收就只剩主观感受。
最后把样例整理成一份可交接的清单,每条包含:页面路径、组件输入、容器条件、预期表现、实际表现、判定结果。清单不追求覆盖所有页面,只覆盖出现差异的那几个页面和它们的对照页面。
假设你只覆盖了列表页和落地页,验收通过后,下一步应把清单里记录的容器条件同步到其他使用该组件的页面,再抽查两到三个页面确认表现一致。如果抽查又出现新差异,就回到第二步,把新页面加入对照样例。这样验收样例会随着页面变化持续更新,而不是一次性文档。
需要说明的是,页面表现差异有时来自浏览器渲染差异或字体加载时机,这类差异可能无法通过改样式完全消除。遇到这种情况,应在样例中注明观察条件,而不是强行归因为组件缺陷。