先给结论:不要急着判定组件有缺陷,而要构造一组“同组件、同数据、同操作、仅页面环境不同”的对照样例,把差异锁定在页面级因素上。下面用一个明确假设的情境说明怎样从现象走到可核对的验收样例。
假设某定州网站建设项目的页头导航组件,在首页展开正常,在栏目页点击后偶尔不展开,在详情页则展开后位置偏移。三次现象不一致,开发说组件没问题,编辑说页面有问题。此时若直接改代码,很可能改好一页、坏掉另两页。
正确做法是先冻结变量:同一浏览器版本、同一账号状态、同一网络环境、同一份导航数据,只让“所在页面”变化。把首页、栏目页、详情页各截一张初始状态图,再各录一段点击后的短录屏,作为后续比对的原始证据。
验收样例不是把页面挨个点一遍,而是让每个样例只回答一个差异来源。建议按以下维度拆分:
每个维度只保留一个变量,其余全部固定。这样得到的差异才可归因,而不是把样式、脚本、数据混在一起猜。
如果三个页面差异太多,可以新建一个只引入该组件和必要依赖的最小页面,逐步把栏目页、详情页的额外样式和脚本加回去,每加一项测一次。哪一步加入后现象出现,哪一步就是可疑来源。
这个动作的结果会直接决定下一步:若加入某段全局脚本后复现,下一步就查该脚本与组件的执行顺序;若加到某个父级容器样式才复现,下一步就查层叠与盒模型,而不是继续怀疑组件本身。
一份可用的验收记录至少包含:页面地址、组件位置、固定数据版本、操作步骤、期望结果、实际结果、差异来源判断。判断栏不要只写“异常”,而要在“组件逻辑”“页面样式”“脚本顺序”“数据差异”中选一个主因,并附上对应证据截图或录屏时间点。
当同一组件在多个页面表现不同时,验收结论通常是“组件在特定页面环境下不满足预期”,而不是笼统的“组件有 bug”。这两种结论对应完全不同的修复范围和回归测试范围:前者只需回归受影响的页面环境,后者要回归所有引用该组件的位置。
修复后,用同一组样例重跑三个页面,确认现象消失且未引入新偏移。若只修了栏目页就宣布完成,详情页和首页可能在下一次改版中再次暴露同类问题。
把这组样例沉淀为固定验收项,后续新增页面引用同一组件时,先跑一遍对照样例,再决定是否需要补充页面级样式隔离。这样处理,比每次出现异常都重新排查更省时间,也让验收结论有据可查。