先给有条件的结论:如果同一组件只在个别页面表现异常,验收样例应以“页面上下文”为变量分层构造,而不是只测组件本身;只有当组件在隔离环境中也异常时,才把问题归到组件内部。下面说明两种做法的取舍条件、会推翻结论的反例,以及下一步该做什么。
做法一:把组件单独放进一个干净页面测试。它成立的条件是组件与页面数据、布局容器、加载顺序基本无关。代价是测不出页面级差异,容易在验收时误判为“组件没问题”。
做法二:在真实页面里做对照测试。它成立的条件是你能控制页面之间的差异变量,比如容器宽度、数据条数、脚本加载顺序。代价是准备样例的时间更长,但能定位差异来源。
对资阳网站建设这类项目,如果组件在列表页正常、详情页错位,优先选做法二,因为差异很可能来自页面上下文,而不是组件代码。
把样例分成三层,每层只改一个变量:
每层至少准备两个样例,一个“正常页面”作为基准,一个“异常页面”作为对照。记录差异出现在哪一层,就能判断问题归属。
假设组件在详情页错位,你按页面层对照后认定是容器宽度导致,于是统一了宽度。但如果异常页面同时加载了另一个脚本,而正常页面没有,那么宽度只是伴随现象,不是原因。此时“页面上下文导致”的结论失效,需要回到组件层,用相同脚本环境再测一次。
判断依据是:如果只改宽度、不改脚本,异常仍然存在,说明宽度不是唯一变量;如果去掉脚本后异常消失,说明脚本加载顺序才是主因。两种情况对应不同的下一步动作。
每个样例至少记录:页面地址、组件位置、容器尺寸、数据条数、脚本加载顺序、异常表现。这样做的结果是,当异常复现时,你能直接判断是改组件、改页面模板,还是改数据约束,而不是反复重测。
如果三层样例都正常,只在某个特定页面异常,下一步应优先检查该页面的模板差异,而不是继续调整组件本身。
先做组件层的最小样例,确认组件在隔离环境是否正常。如果正常,进入页面层对照;如果隔离环境也异常,直接修组件,不再扩大样例范围。这个动作的结果会决定后续是继续分层排查,还是回到组件内部修复。
当页面层对照找到差异变量后,用同一变量再做一次数据层测试,确认该变量在数据变化时是否仍然成立。只有两次结果一致,才能把该变量写进验收标准,否则样例结论仍然不可靠。