先把“表现不同”拆成可复现的条件,再为每个条件写一条最小验收样例:固定页面、固定组件状态、固定视口或请求路径,记录实际输出与可观察差异。只有样例能稳定复现,才谈得上修复或替换;否则应继续缩小变量,而不是直接改代码。
以下为假设例子,用于说明构造验收样例的方法,不代表任何真实站点。某 WordPress 空间保留了一个旧推荐组件,首页显示正常,文章页却出现高度塌陷、图片比例异常。此时不要先判断“组件坏了”,而要把两个页面当作两组对照条件。
可先记录四项差异:页面模板是否相同、组件外层容器是否被主题或页面构建器再包一层、加载顺序是否因缓存或延迟加载改变、是否存在只在某一页生效的旧样式。若首页与文章页的差异只出现在第二项,样例就应围绕容器结构构造,而不是围绕组件本身。
一条可用的验收样例至少包含:入口页面、组件出现位置、触发动作、预期可观察结果、实际可观察结果、判定人。对旧内容或旧系统退出场景,还要加一列“保留价值”:该组件是否仍承担转化、导航或信息补充作用,决定修复、隔离还是移除。
执行到第三步时,若差异消失,下一步应构造“开启缓存但固定加载顺序”的样例;若差异保留,下一步应构造“相同容器、不同页面模板”的样例。动作结果直接决定下一轮变量,而不是一次性给出结论。
旧组件是否值得保留,不取决于它过去是否重要,而取决于它现在是否仍产生可验证价值。可设置两个对照样例:样例 A 保留组件但移除旧样式覆盖;样例 B 用静态区块替代组件。比较两者在同一页面上的可读性、维护动作数量和内容更新是否受阻。
这里的“稳定”指同一验收样例连续执行时结果一致,而不是指某次请求量、抓取量或统计归零。统计归零可能来自缓存、采样、过滤或页面未触发,不能单独证明组件处理正确。
若决定保留组件的一部分,例如只保留数据读取而替换展示层,验收样例要同时覆盖旧数据与新展示。可写一条短样例:在测试页嵌入旧数据源,输出到新容器,检查字段缺失时是否出现空白块、是否影响后续内容排版。预期结果是缺失字段不撑高容器;实际结果若相反,下一步应补默认值或改为条件输出。
验收责任也要落到具体角色:内容编辑确认字段含义,前端确认容器与断点,运维或空间管理方确认缓存与请求路径。缺少任一角色,样例只能证明“某一次看起来正常”,不能作为退出或替换依据。
同一组件在不同页面表现不同,最有效的做法不是扩大排查范围,而是把每个页面差异写成一条可重复执行的验收样例,并记录动作之后的结果如何改变下一步。能稳定复现的差异才值得修;不能稳定复现的差异应继续缩小变量。对旧内容、旧系统或旧合作关系,保留仍能通过样例验证价值的部分,退出无法稳定验收的部分,比整体推翻或整体保留都更可控。