先把“表现不同”拆成可复现的条件差异,再为每个条件各写一条验收样例:同一组件在A页正常、在B页异常,通常不是组件本身坏了,而是两页给它的上下文不同。验收样例要固定输入、页面位置和判断口径,才能区分是组件缺陷还是页面装配问题。
同一个导航、表单、轮播或卡片列表,放在首页和放在栏目页,接收到的数据量、容器宽度、父级样式和加载顺序都可能不同。构造验收样例前,先列出两页的差异项,而不是直接改组件代码。可对照的差异通常集中在四类:
把差异项写进样例的“前提”一栏。例如假设某列表组件在首页显示正常、在栏目页出现错位,前提可写成“栏目页容器宽度为首页的60%,且条目由8条增至20条”。这样验收时能判断:错位是否只在窄容器加长列表时出现。
验收样例不必覆盖所有组合,但要覆盖会改变结论的边界。建议按“前提—动作—预期—判定依据”四段写,每条只验证一个变量。以下是一个假设例子,用于说明写法,不代表任何真实项目结果:
如果第2条失败而第1、3条通过,问题更可能出在容器或页面级样式;如果第3条失败而前两条通过,问题更可能在数据增多后的渲染逻辑。这个区分会直接决定下一步是改页面布局还是改组件。
当差异原因仍不明确时,构造一个只放该组件的最小页面,把两页的差异逐项加回去。动作是:先只保留组件和必要数据,确认表现;再依次加入容器宽度、页面级样式、加载方式。每加入一项就重新验收一次。
这样做的结果会缩小嫌疑范围。若加入某条页面级样式后异常复现,下一步就应检查该样式的作用范围,而不是继续改组件。若加到加载方式才复现,下一步应检查初始化时机与依赖是否就绪。最小复现页本身也是验收证据,能避免“在我这边是好的”这类无法复核的结论。
定位到原因并修复后,不要只复测出问题的那一页。把当初用于隔离变量的前提保留下来,形成回归清单:窄容器、长列表、延迟加载、页面级样式覆盖各留一条。每条仍按原判定依据检查。
若修复涉及组件默认值,还要回到最初正常的页面复测,确认没有把A页改坏。只有当异常页和正常页都通过同一组样例,才能认为这次差异已被处理。若某条样例始终无法稳定复现,应记录为“条件未确认”,而不是直接标记通过。
“页面显示正常”不是可执行样例,因为它没有说明在什么前提下、由谁、依据什么判断。只写“和首页一致”也不够,因为首页本身可能依赖特定数据量。更稳妥的做法是把判断依据落到可观察对象上,例如容器边界、条目间距、首屏是否出现横向滚动条。
另外,不要用“请求量归零”或“抓取量下降”单独证明组件已修好。这类现象也可能由缓存、访问路径变化或统计口径调整引起,需要结合页面实际渲染结果判断。验收样例的价值在于把结论绑定到可重复的操作和可观察的输出上,而不是绑定到某个间接指标。