先固定“组件版本、宿主页面、数据来源、触发条件”这四个变量,再让同一组件在至少两种页面结构里跑同一组用例。验收样例不要追求覆盖所有页面,而要能区分“组件自身缺陷”和“页面上下文差异”,这样才决定是保留、改写还是退出旧页面。
同一组件在A页正常、B页异常,常见原因有三类:宿主容器的宽度或层叠上下文不同;页面传入的数据字段缺失或格式不一致;页面加载顺序导致组件初始化时依赖的节点还不存在。验收样例要能把这三种原因分开,而不是笼统记录“B页有问题”。
可操作的做法是构造一个最小对照:把组件原样嵌入一个空白测试页,再嵌入出问题的B页。如果空白页正常、B页异常,优先怀疑宿主样式或数据;如果两处都异常,才回到组件本身。这个动作的结果直接决定下一步:前者改页面,后者改组件或换实现。
每个样例至少写清以下内容,缺一项就无法复现:
假设某表单组件在A页提交成功、在B页按钮无响应。样例可以写成:组件版本记为form-2024-06,A页容器宽度充足、数据字段完整,B页容器被父级限制且缺少一个必填字段。这样记录后,复现路径清晰,也能判断是保留B页还是退出该页面。
三种处理不是并列选项,而是由证据决定:
判断“退出”时要注意:某个页面访问量下降、抓取减少,不能单独证明该页面该删。它也可能是入口调整、内容过期或统计口径变化造成的。退出前应确认页面是否还有外部引用或内部链接依赖。
流程结束后,每个差异点都应有明确归属。归属到宿主的,进入页面改写清单;归属到组件的,进入组件修改或替换评估;无法归属且旧页面价值低的,进入退出清单。
够用的标准不是样例数量多,而是任意一个差异都能被单独复现。如果两个页面表现不同,但样例里只写了“B页异常”,这份验收就无法支撑取舍决定。把组件版本、宿主结构、数据状态和触发条件写全,才能让保留、改写或退出的判断有据可依,而不是靠感觉推进。