先给结论:把组件本身和页面环境分开验收。你要构造的不是“组件有没有问题”的样例,而是“同一个组件放进不同页面后,哪些外部条件改变了它的表现”。做法是固定组件输入,只改变页面级变量,一次只动一个,并记录它是否复现。下面用一份假设的页面清单,说明怎么把手里已有的资料转成可执行样例。
同一组件在不同页面表现不同,通常不是组件代码随机变化,而是它继承到的页面条件不同。常见来源有:父容器的宽度和max-width、页面是否处在两栏或三栏布局、外层是否设置了overflow、字体和行高的继承值、同一页面里其他脚本对 DOM 的改动、以及加载顺序。你要做的是先列出这些页面级变量,再决定验收样例覆盖哪几个。
一个可用的判断动作:打开两个表现不同的页面,只取该组件所在的那一段 DOM,把它的外层结构逐层对照。如果差异出现在某个父级类名、内联样式或脚本挂载点上,那么问题就落在页面环境,而不是组件内部。这个动作的结果会直接决定下一步——环境问题要做页面级样例,组件问题才做组件级样例,两者混在一份样例里会导致结论互相掩盖。
假设你手里有一份页面清单,包含首页、列表页、详情页、活动页四类,每类各有一个使用该组件的实例。不要直接按页面顺序逐个测,先把每页影响该组件的条件抽成字段:
抽完字段后你会发现,四类页面里真正不同的往往只有两三个字段。验收样例只需要覆盖这些不同值的组合,而不是把每个页面都完整跑一遍。这一步的产出是一张对照表,它是后面构造样例的依据,不是交付文档。
样例的核心是控制变量。以假设的卡片组件为例:在详情页它显示正常,在列表页高度被压扁。你可以这样构造三组样例:
如果第 2 组复现、第 3 组恢复,说明是页面级样式覆盖导致的;如果第 2 组不复现,说明差异来自数据形态或加载顺序,需要回到输入清单补字段。注意,抓取量、请求量或某个统计归零都不能单独证明你改对了,它们也可能是缓存、测试环境差异或采样时段的合理解释。
很多“同组件不同表现”的案例,根源是内容长度而不是布局。构造样例时要显式加入两类输入:最短内容(空标题、无图)和最长内容(标题接近上限、图片多于常规数量)。假设标题上限是 30 个汉字,就分别用 2 字、15 字、30 字各做一次,其他条件固定。如果只有 30 字时出现换行挤压,说明问题在文本溢出处理,而不是页面布局。
这里的关键动作是记录每次改动后哪一个字段发生了变化,以及这个变化是否影响下一步的测试范围。比如确认是文本溢出后,下一步就应该在组件级样例里补上截断或换行规则,而不是继续在页面布局上找原因。
样例不是“看起来正常”,而是写出可观察的通过条件。例如:组件在容器宽度 320px 到 1200px 之间,高度变化不超过设定阈值;空状态下占位区域不塌陷;最长内容下不遮挡相邻元素。这些条件要能在不看代码的情况下由他人复核。假设你设定的阈值是高度变化不超过 8px,那么每次样例运行后记录实际高度,超出就标记为不通过,并回到上一步确认是哪个变量引起的。
最后一步是把通过条件与页面清单对应起来:哪些页面共用同一组条件,哪些页面需要单独样例。这样验收范围就是由实际差异决定的,而不是按页面数量平均分配。对于鄂州网站设计这类需要兼顾多类页面的项目,这套方法能减少反复返工,但具体覆盖多少页面仍取决于你的页面清单和组件复用范围。