先给结论:不要为“表现不同”直接加一条全局规则,而应把差异拆成数据、容器、状态、加载顺序四类变量,为每一类各写一个最小验收样例。能稳定复现的保留为回归样例;只在个别页面成立、换页面就失效的,改写为带前提的样例;无法定位触发条件的,先退出验收清单,等变量收敛后再补。
同一个组件在A页正常、在B页异常,第一件事不是改组件,而是确认差异是否随组件走。把组件原样复制到一个空白测试页,只保留必要数据,观察是否仍然异常。
这一步的实际动作是建立一个最小复现页。如果最小页能复现,后续样例就不必搬运整站页面,验收成本会明显下降;如果不能复现,说明你手里的“异常页”本身还混着其他变量,需要继续缩小范围。
差异往往不是单一原因。与其写一堆笼统的检查项,不如按下面四类各写一个可执行样例,每类只验证一个变量。
假设某个列表组件在栏目页正常、在详情页侧栏错位。按上面拆分后可能发现:错位只在窄容器加长文本时出现,与页面本身无关。此时样例应写成“窄容器+长文本”的组合,而不是“详情页侧栏异常”。前者可复用,后者换个页面就失效。
样例写完并不都要留下。取舍标准是它能否在别人手里复现。
需要提醒的是,某个页面请求量下降或某次抓取异常,都不能单独证明是组件差异导致的。缓存、内容更新、入口调整都可能有同样表现,验收样例只回答“能否复现”,不承担归因结论。
一条可用的验收样例,开头就应写明适用条件,而不是等读者踩坑后再补。建议格式如下:
前提:容器宽度小于某值且文本超过某长度;操作:加载该组件;预期:文本换行且不溢出;反例:宽度足够时不换行。
这样做的好处是,当页面改版或容器调整后,你能立刻判断这条样例是否还成立。前提变了,样例就该改写或退出,而不是继续套用旧结论。对于株洲网站建设中常见的多栏目复用组件,这种带前提的写法比笼统的“显示正常”更能减少返工。
完成上述拆分后,先跑最小复现页,再跑四类样例。如果最小页能复现,就把该样例保留并加入回归;如果只有原页面能复现,就把它改写成带宿主条件的样例;如果两者都不稳定,就退出清单并记录待查变量。这个顺序决定了你接下来是改组件、改页面容器,还是先不动代码继续收集证据。选错顺序,最容易把页面问题误当成组件缺陷,反复修改却始终无法收敛。