浅谈易用性测试
对于一个需要面对用户的软件产品来说,最直观的UI和使用感受也是产品能否获得用户认可的关键一环。
个人认为,在毒霸的产品传统中,从设计到开发再到测试,对产品的易用性和GUI的规范往往给予的关注较少。
我在测试过程中就遇到了很多影响使用心情的非关键功能方面的BUG。
希望此文可以在毒霸的易用性的测试中给大家提供一些参考。
易用性测试
易用性(Useability)是交互的适应性、功能性和有效性的集中体现。
在《软件工程产品质量》质量模型中,提出易用性包含易理解性、易学习性和易操作性;即易用性是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
易用性测试包括针对应用程序的测试,同时还包括对用户手册系统文档的测试。
通常采用质量外部模型来评价易用性。
包括如下方面的测试:
(1) 易理解性测试
(2) 易学性测试
(3) 易操作性测试
(4) 吸引性测试
(5) 易用的依从性测试
易用性测试方法有:静态测试;动态测试;动态和静态结合测试。
由于易用性缺陷的主观性,因此测试人员和UI设计人员经常产生不同意见。
UI通常被当作创造者的作品,而测试人员说某处是错误,就可能挫伤“艺术家”。
易用性是软件缺陷中的敏感问题。
人体工程学(ergonomics)是一门将日常使用的东西设计为易于使用和实用性强的学科。
人体工程学的主要目标是达到易用性。
1、用户界面测试
用于与软件交互的方式称为用户界面或UI。
2、优秀UI的构成
软件测试员要负责测试软件的易用性,包括其用户界面。
记住,软件测试员不需要去设计UI,只需要把自己当作用户,然后去找出UI中的问题。
优秀UI具备的七个要素
(1) 符合标准和规范
重要的用户界面要符合现行标准和规范,这些标准和规范由软件易用性专家开发。
它们是由大量正式测试、经验、技巧和错误得出的方便用户的规则。
如果软件严格遵守这些规则,优秀UI的其他要素就自然具备。
(2) 直观性
* 用户界面是否洁净、不唐突、不拥挤?
* UI的组织和布局合理吗?
* 是否允许用户轻松地从一个功能转移到另一个功能?
* 下一步做什么明显吗?
* 任何时候都可以决定放弃或者退回、退出吗?
* 菜单或者窗口是否深藏不露?
* 有多余功能吗?软件整体抑或局部是否做得太深?
* 帮助系统有效吗?
(3) 一致性
* 用户的使用习惯性强,希望一个程序的操作方式能够带到另一个程序中。
在审查软件一致性时要考虑一下术语:
* 快捷键和菜单选项
* 术语和命名
* 听众
* 诸如OK和Cancel按钮的位置
(4) 灵活性
* 灵活性表现在:用户喜欢选择不要太多,但是足以允许他们选择做什么和怎么做。
* 状态跳转
* 状态终止和跳过
* 数据输入和输出
(5) 舒适性
* 软件使用起来应该舒适,不能给用户工作制造障碍和困难。
如何鉴别软件舒适性的一些好想法:
* 恰当。
软件外观和感觉应该与所做的工作和使用者相符。
* 错误处理。
程序应该在用户执行严重错误的操作之前提出警告,并且允许用户恢复由于错误操作导致丢失的数据。
* 性能。
快不见得是好事。
不少程序的错误提示信息一闪而过,无法看清。
如果操作缓慢,应该让用户得到相应的信息。
(6) 正确性
* 要测试正确性,就是测试UI是否做了该做的事。
* 市场定位偏差:有没有多余的或者遗漏的功能,或者某些功能执行了与市场宣传材料不符的操作?
* 语言和拼写:程序员常常能制造出非常有趣的用户信息。
* 不良媒体:图标是否同样大小?是否具有相同的调色板?声音是否应该有相同的格式和采样率?
* 所见即所得:保证UI所说的就是实际得到的。
(7) 实用性
* 是否实用是优秀用户界面的最后一个要素。
* 不是指软件本身是否实用,而是指具体特性是否实用。
* 在审查产品说明书、准备测试或者实际测试时,想一想看到的特性对软件是否有实际价值。
它们有助于用户执行软件设计的功能吗?如果认为它们没必要,就要研究一下找出它们存在于软件中的原因。
总之,不要让易用性测试的模糊性和主观性阻碍测试工作。
易用性测试的模糊和主观是固然的,即使设计用户界面的专家也会承认有的地方是这样的。