人们总是认为,用户测试是一个复杂且代价昂贵的事情。一个网站设计项目需要一个庞大的预算和长长的时间表。其实,可用性测试并非如大多数人认为的是浪费资源的事情。在你可承受的测试成本范围内,使用不超过5个用户,即可达到很好的测试效果。
最初的研究过程中,Tom Landauer 和我得出了一个 可用性测试方面的,关于测试人员的数量的公式:
假设一个可用性测试的测试人员数量为n,N为所有可用性测试发现的问题总数,L是单个测试人员的问题发现率。
N(1-(1-L)n)
我们发现,大多数项目的平均的问题发现率为31%。当 L=31%时,可以得到如下的图形::
当用户为零时,发现的问题数目是零,即“零用户零发现”。我们可以看到,第一个用户几乎发现的三分之一的设计的可用性的问题,和零发现截然不同。当我们看第二个用户的测试情况时,可以发现,有一部分问题是和第一个user重合的。人们之间的行为或发现有一定的差异,第二个user可以发现一些不同于第一个user的问题,有区别于第一个用户的新发现,但是问题数量不及第一个用户的最初发现。第三个用户做了很多前两者重复的事情,有些甚至重复2次。另外,当然,第三个用户本身异能发现少量的新问题,显然数量远远不及前 两个用户。
现在,加入更多的测试人员(user),你会发现一个现象,随着人数的增加,重复的事情一再出现,发现的新问题发现率开始下降。显然不再需要让更多的人来重复发现重复的问题,自然回回去重新设计,以解决发现问题。
到了第5个user,你就是在浪费时间,去做重复的事情,并且几乎再没有先的发现。
迭代设计
上图中的曲线很清除地标明,至少需要15个用户去发现所有的设计中的可用性问题。但是,为什么我更倾向于推荐用更少的测试人员呢?一个主要的原因是合理分配可用性测试的预算。让我们看看,当你招聘15个客户代表来对你的设计进行测试时,就一位着你得花费5个用户的3倍的费用!
当我们去做用户的可用性测试时,最终的目标是为了解决或者提高实际的设计,而不是仅仅得到一份书面的报告。当5个用户的首次测试发现了85%的可用性问题时,你已经可以在下一个desagn中修复这些问题。
如果想发现更多的问题,当然需要再次测试。即使我说重新设计可以修复第一次测试时发现的问题,事实是你可能认为新的设计可以客服已有的问题。但是,在没有人能设计出更完美的用户界面之前,无法保证新的设计可以修复事实存在的问题。第二次测试可以回归已有的问题,确认是否修复。同时,一个新的设计,意味着还需要一次新的用户测试。
5个用户的第二次测试,可以发现第一次测试时遗留的15%的问题。(仍旧会有2%的问题遗留要等到第三次测试来发现)。
最终,第二次测试的深度可以设计到网站的设计架构,获取到我们所需的一些信息,如体系架构、任务流程等是否符合客户需求。这些问题常常在隐藏在一些表面的可用性问题之后,而为人们所忽略。
所以,第二次的测试作为第一次测试的质量保障,并且可以发现更深入的问题。第二次测试会为系统的重新设计提供一份新的问题清单,但数量显然会少于第一次测试。但是,本次测试并不能完全补充第一次测试,还需要第三次的测试来进行查漏补缺。
5个用户三次的最终测试效果要远高于15个用户测试一次的效果。
为什么不建议单用户的测试?单个人的行为总会有一些风险,人总会有一些意外的,不确定的行为。
你可能会认为15个用户做一轮测试,比5个用户做3轮要好。因为曲线表明,第一个用户的发现率明显高于后续的用户,但是,为什么我们要坚持多轮测试?两个原因:第一,通过观察3个人就可以看到用户行为的多样性,可以洞察到那些行为是独特的那些是可以一概而论的;第二,用户测试的成本效益分析表明,3-5个测试用户的最佳比例,依赖于测试的风格。初始的运行成本和测试计划相关,多个用户对于降低最初的成本效果更好。
什么时候增加更多的测试用户
当你的网站客户群覆盖到几个不同高度的用户群时,你需要增加更多的测试用户。上面公式的适用于网站的用户群接近或者差异很小时。举个例子,当你的网站客户群是定位于父母和孩子时,你就需要充分考虑到两个不同群里的使用行为。系统的相同之处是对于采购代理商的销售人员之间的连接。
甚至当用户群体差异性完全不同时,在两类人之间也可发现很多相似之处。毕竟,所有的用户都是人。所有的可用性问题反应的都是人的行为与网站之间的互动和影响。
在测试不同的用户群时,你不需要每个用户群中都有很多测试人员(user),有以下的一个测试人员数目就足够了:1、如果测试两个用户群,则每类群需要3-4个用户;2、如果测试3个或更多的用户群,则每类有3个测试用户就可以了(至少3个users就可以确保你覆盖到某一个用户群中的不同的行为)
参考:Nielsen, Jakob, and Landauer, Thomas K.: "A mathematical model of the finding of usability problems," Proceedings of ACM INTERCHI'93 Conference (Amsterdam, The Netherlands, 24-29 April 1993), pp. 206-213.