极客的可用性/可用性测试
可用性测试是设计用户友好设备的最重要部分,因为在这里你可以发现问题。
可用性测试的原理很简单:让不同的人尝试使用产品,并观察他们尝试使其运作。记录下他们遇到的所有问题。请记住,此测试的目的是不是证明该产品有效,而是找出错误或问题。
您可以将可用性测试应用于任何类型的硬件 - 开罐器、收音机或飞机,以及任何类型的软件 - 网页、电子游戏、文字处理程序或科学程序。
您可能会发现的错误类型是
- 用户在弄清楚如何使用产品方面遇到了问题。
- 用户想要做产品无法做的事情。
- 产品没有按照用户期望的方式运行。
- 用户没有发现有用的功能。
- 用户以笨拙的方式使用产品。
- 用户感到疲倦或有人体工程学问题。
- 显然,您也可能会发现明显的旧功能错误。
进行可用性测试的方法很多。最常见的方法是
- 采访用户。
- 让用户在尝试弄清楚如何使用设备时大声思考。
- 从他们的肩膀上观察用户。
- 让用户独自一人,通过闭路电视观察他们。
最后一种方法可能需要特殊的设置或实验室,而其他测试可以在现场进行,即在使用产品的自然环境中进行。电视方法可能有助于说服其他人该产品存在可用性问题:唯一能说服你以前的老板人们无法弄清楚如何使用该设备的方法是向他展示用户犯错的视频。否则,现场测试可能更现实,更容易进行。
可用性测试的结果在很大程度上取决于所使用的测试人员类型。测试用户类型的一些示例是
新手。 这是从未使用过这种设备的人。这种类型的测试人员在弄清楚如何使用该设备时会遇到最多的问题,因此会发现许多可用性错误。
有经验的用户。 这是使用类似产品经验丰富的人。有经验的用户会尝试高级功能,并知道在哪里寻找问题。
年迈的无经验者。 老年人学习速度较慢,他们的感官和运动技能效率较低。例如,我的老妈妈很难双击鼠标,因为鼠标无法容忍两次点击之间即使是最小的移动。
残疾用户。 让有各种残疾的人测试你的设备可能会很有启发。如果难以找到合适的残疾测试人员,那么你可以参考针对使事物对残疾人更容易访问的各种指南。请参阅参考列表。
儿童。 儿童好奇心强,喜欢冒险。他们想尝试一切,可能会将你的设备推向极限。
高尚正直的人。 这是在敢于触碰开按钮之前会阅读整个手册,包括法律免责声明的人。这是唯一能发现印刷手册中错误的人,但他们永远不会发现你的程序是否可以生成错误消息。
进步而热情的年轻人。 他会尝试所有花哨的功能,除了帮助按钮。告诉他找错误,他认为打败你的小玩意是一场游戏。
后两种类型的测试人员可以通过我从经验中得出的以下例子很好地说明:我想测试下面显示的程序,它绘制了数学函数的曲线。
我的第一个测试人员是一位沉静的年迈工程师。我预计他精通数学。他在公式字段中输入了y = x + 1,然后按下了回车键。该程序显示了一条直线。然后他输入了y = x + 2。该程序显示了另一条与第一条平行的直线。当他输入到y = x + 8时,他停止了测试,说:“它可以工作!”
我找到的下一个测试人员是一位患有双相精神病的年轻技术人员。他写了各种数字和符号的组合,而不考虑语法。这听起来可能很愚蠢,但这是一个极好的机会来测试该程序是否可以生成有用的错误消息。有一次,他累了,在公式字段中输入了“我宁愿喝啤酒!”。他在这方面抓住了我:我从未想过如果用户输入纯文本(例如问题)而不是公式,该程序应该怎么做。
当然,这个非凡的测试人员尝试了我的程序中的所有按钮和菜单。大多数这些按钮和菜单都立即响应,但一个复杂的根查找命令需要 30 秒才能完成。他点击了这个命令,光标变成了沙漏,表示程序正在运行。他无视了这一点,并反复不耐烦地点击。在他点击这个耗时的命令十次后,由于没有得到立即响应而感到沮丧,他尝试了其他所有按钮,但没有得到响应。解释是系统以先进先出的方式服务所有命令。对耗时命令的十次点击都被放入消息队列中,因此程序在接下来的五分钟内无法执行任何其他操作。一个严重的可用性错误!
我不得不意识到,这个疯子找到的可用性错误比我所有其他测试人员加起来还要多。
这表明拥有不止一个测试人员非常重要。没有一个测试人员能够发现你设备中的所有可用性问题。测试人员越多,你发现的问题就越多。
有趣的是,发现的问题不仅取决于测试人员,还取决于观察者。实验室实验表明,在可用性测试中发现的问题几乎与观察者一样取决于测试人员。因此,一个好的测试应该涉及不止一个观察者,以及不止一个测试人员。
你甚至可以使用不同类型的观察者
设计师。 参与设备技术构建的人员将观察用户是否没有按照预期的方式行事,但可能会倾向于认为用户有错,而不是设备有错。
另一个用户。 一个人,对内部技术结构的了解与测试人员一样少,可以更好地理解测试人员的问题和思维方式。
可用性专家。 这种类型的观察者有经验注意到测试人员的问题和挫折,但可能不熟悉该应用领域的具体问题。
请记住,试图解决一个问题可能会造成另一个问题,因此你可能需要再次测试。新产品完整开发过程可能在过程中的多个阶段涉及可用性测试
旧版本。 在开始开发新产品之前,你可以测试类似的现有产品,以了解需要改进的地方。
原型。 一旦你有了模型或原型,就可以进行可用性测试。即使是一张纸上的用户界面图纸也可以用作原始测试。
测试版。 测试版可能会包括可用性方面。
发布版。 最终产品应始终经过测试。
任何可用性测试都无法发现所有问题,因为测试情况永远无法包含产品在现实生活中使用的所有情况。下一页介绍了如何使用最终用户的反馈来发现可用性问题。
这是我浴室里的水龙头。我买它是因为它看起来很完美:右边的把手调节温度,而左边的把手调节水量。如果你想用喷嘴出水洗手,就把左边的把手向下转,如果你想淋浴,就把它向上转。你能在这个水龙头中发现任何可用性问题吗?
好吧,我之前安装好之前是做不到的。我第一次打开它洗手的时后,水溅到了头上。为什么呢?因为我习惯了逆时针旋转水龙头才能打开。在这个把手,逆时针是向上,这意味着是淋浴。我花了很长时间才习惯往另一个方向转动手柄,而且有时我仍然会转错方向。每次有客人来,他们需要去洗手间时,他们都会很生气地出来,而且全身湿透了!
这种错误只有在进行可用性测试时才能发现。