分支覆盖不足会导致测试中断
别名: 原型分支不足 · 测试中断 · dead-end prototype paths
概念解释
可交互原型若只实现主路径,参与者一旦踏入未做的分支,流程就会停住:点了“忘记密码”、选了第二种付款、或进了空状态,后面没有下一屏。分支覆盖不足(incomplete branch coverage)造成的不是“少看了一条路”,而是测试中断——任务无法继续,后续真正要观察的行为全部消失,主持人为了救场开始口头补剧情。中断本身会被参与者编码成产品坏了,污染对主路径的评价。
机制
真实使用会离开脚本。人会探错入口、撤销、刷新、使用次要控件,这些正是状态机最脆的地方。原型把未实现分支做成可点控件却没有后续,等于设置陷阱:可发现性越高,中断越早。中断后有两条坏的修复。一是主持人解说“这里本来会……”,把未观察的行为变成讲述;二是把参与者拽回主路径,损失的不仅是那条分支的数据,还有恢复策略的数据。覆盖不足还造成选择偏差:只有碰巧没点岔路的人贡献完整任务,样本被“顺从脚本者”筛过。
怎么研究
在测前用任务加“故意走错”清单列出必须可走的分支:空态、错误、取消、返回、次要入口。试走时统计中断点——第一次无法继续的控件和状态。覆盖的操作化不是“页面张数”,而是关键任务下非法或次要操作是否仍有下一状态。分析时把中断后的行为标为不可用,不要把救场后的完成算作任务成功。若中断集中在同一控件,那是材料缺陷,不是用户错误。
边界
探索性原型不必覆盖全部产品分支,但必须覆盖测试任务可合理踏入的那些。Wizard of Oz 或纸面补页可以临时顶上未实现分支,前提是补上的行为被记录为“扮演”而非“系统已有”。对只允许沿脚本点击的引导式演示,中断不是问题,因为那本来不是测试。无限分支(任意搜索词、任意上传文件)无法穷尽,应改成有限的代表集,并在限制里写明未覆盖的输入空间。
怎么落地
- 把每个可点控件标成“有下一状态 / 禁用 / 明确提示未实现”,禁止第三种:可点但黑洞。
- 为任务编写至少一条错误分支和一条取消分支,试走至无需主持人开口。
- 中断一旦发生,记下控件和时间,结束该任务,不要即兴编下一屏。
- 下一轮优先补造成中断的分支,而不是增加主路径上的视觉细节。