第 11 章 · 「在我电脑上能跑」不算能用
换一个环境,它还活着吗?
主路径跑通了,但你测的是「自己记得怎么用」,不是「它好不好用」。
这两件事的差距,通常比你预计的大。
机制
你是这个项目最不具代表性的用户:你知道该填什么格式、知道哪个按钮先点、知道报错时该刷新一下。这些知识不在产品里,在你脑子里。
没有你的本地配置、没有你的浏览器缓存、没有你开着的那个终端的环境。
换一个浏览器、开一个无痕窗口、或者换一台设备,都算。
三件事要分开验证,难度递增:
一、主路径在干净环境下能跑。 大量项目死在这里:本地依赖、写死的绝对路径、只在你的 .env 里的那个 key。
二、至少一种异常输入不会白屏。 不是要处理所有异常,是要确认它坏的时候坏得体面——给一句话而不是空白页。空白页会让用户以为是自己的问题,然后永远不再回来。
三、别人在无指导的情况下能用成功。 这一条留到下一章,因为它需要另一种准备。
在干净环境下,不跳步、不用快捷方式,完整走一遍主路径。
关键是「不跳步」:你平时会跳过一些步骤,因为你知道它们可以跳。用户不知道。
现实案例
一:页面空白。本地跑的时候有一份测试数据在 localStorage 里,空状态的界面他从来没见过——因为他一次都没在干净环境打开过。
二:新建稿件的日期选择器默认值是 undefined,提交后那条记录的日期显示成 1970 年。他本地总是手动选日期,从没试过不选。
三:粘贴一段带换行的备注,布局被撑开,保存按钮被挤出屏幕。
三个问题,一次无痕窗口全暴露了,一共花了 40 分钟修。
注意这三个都不是难题。它们能活到部署之后,唯一的原因是他从来没在干净环境下打开过自己的东西。
动手试
做三件事,按顺序:
- 开一个无痕窗口,打开你的东西。 看第一眼是什么——如果是空白或者报错,那就是新用户看到的第一眼。
- 不跳步走一遍主路径。 把每一个你平时会跳过的步骤都老老实实做一遍。
- 试一种异常输入。 空值、格式不对、超长内容,挑一个。确认它给了提示而不是白屏。
每发现一个问题就记下来,先不要立刻修——先走完,否则你会在第一个问题上花两小时,而后面还有三个。
你的行动
在干净环境下完整走一遍主路径,记录发现的问题。
然后只修挡住主路径的那些。其余的记成待办,留到有外部反馈之后再排优先级——现在排是你自己猜。
检查标准
- 我在无痕窗口或另一台设备上打开过它
- 我不跳步走通了主路径
- 至少测过一种异常输入,它不会白屏
- 发现的问题都记下来了
- 挡住主路径的问题已经修了,其余的留着
容易搞错的地方
你的本地永远有数据,所以空状态是最容易被漏掉的界面——而它恰恰是每一个新用户的第一眼。
打开无痕窗口的第一件事,就是看空状态长什么样。
一次验证发现十个问题是正常的。只修挡住主路径的那几个,其余记下来。
现在就把十个全修完,等于在没有任何外部反馈的情况下,花三天打磨一个可能没人要的东西。
本章自测
- 为什么你是这个项目最不具代表性的用户?
- 空状态为什么特别容易被漏掉?
- 发现十个问题时,该修哪几个?