结论先给:当同一组件在首页正常、在列表页或详情页异常,而你又拿不到完整埋点、日志或后台权限时,验收样例应当围绕“同一组件、不同页面上下文”构造对照,而不是重复截一张正常页面的图。可行前提是你能访问这些页面的公开渲染结果,并能固定浏览器与视口;如果组件依赖登录态、地域或A/B实验,这个结论就会失效,因为你看到的差异可能来自上下文而非组件本身。
同一组件在不同页面表现不同,常见原因有三类:一是组件自身状态未复位,例如轮播在首页初始化后,跳到详情页仍沿用旧索引;二是页面容器给了不同宽度、层级或样式覆盖;三是数据来源不同,列表页传的是摘要字段,详情页传的是完整对象。验收样例要能区分这三类,否则修复动作会打偏。
一个可执行的最小动作是:对同一组件分别截取它在两个页面中的“容器边界”和“组件边界”,并记录视口宽度。若组件边界随容器变化而整体缩放,问题更可能在容器或响应式规则;若组件边界不变但内部元素错位,问题更可能在组件内部状态或数据字段。这个动作的结果直接决定下一步:前者先查布局,后者先查状态与数据。
缺少后台权限并不等于无法验收。你仍可构造三类样例:
这些样例只能证明“在可观察范围内存在差异”,不能证明差异由某个具体代码行造成。抓取量或请求量归零也不能单独证明组件已修复,因为缓存、CDN或页面未重新发布都可能造成同样的现象。
假设某温州网站设计项目里,产品卡片组件在首页显示正常,在搜索列表页图片被裁切。你没有后台权限,只能看到两个页面的公开结果。此时验收样例可以写成:视口1280px下,首页卡片图片完整显示;搜索列表页同一卡片图片上下被裁切,裁切量约为卡片高度的四分之一。这个比较只能说明两处渲染结果不同,不能直接推出是搜索列表页的容器高度限制。下一步动作应是检查列表页容器的固定高度或溢出规则,而不是先改组件图片尺寸。
反例:如果组件在登录后才渲染,或依赖用户所在城市、语言、实验分组,而你只能看到未登录或单一分组的公开页面,那么你构造的对照样例可能掩盖真实差异。此时“首页正常、列表页异常”可能只是因为两次访问命中了不同实验分组,而不是页面本身的问题。在这种情况下,应先固定登录态、地域和分组条件,再重复对照;条件无法固定时,只能记录“当前不可复现”,不能把一次观察当作验收结论。
把每个样例写成可复述的记录:页面地址、视口宽度、浏览器版本、组件出现位置、预期表现、实际表现、是否可重复。若同一差异在三次独立访问中稳定出现,才把它列为待修复项;若只在某一次出现,先标记为待观察。修复后不要只验证原来异常的页面,还要回到对照页面确认没有引入新差异。这样做的结果会影响下一步:稳定差异进入修复队列,不稳定差异进入观察队列,两者不应混在同一张验收单上。