谈人机用户界面测试方法和原则
本文列数了软件黑盒测试过程中,在被测试软件中可能存在的常见软件问题。本文并未详细讨论基本的软件测试思想与常用技术,仅针对在软件黑盒测试过程中若干的问题做描述,并提供个人的参考测试意见与防范意见,希望可以为初学者提供些许帮助。
良好的外观往往能够吸引眼球,激发顾客(用户)的购买欲望,最终达成商业利益的实现。软件的设计亦如此,Windows在商业上的巨大成功很大一方面来自于它一改往日呆板,以突出“应用”的灰色界面,从“用户体验”角度来设计界面,使界面具有较大的亲和力。就目前的软件设计的发展趋势来说,良好的人机界面设计越来越受到系统分析、设计人员的重视。但是如何对设计的人机界面(包括帮助等)进行测试,给出客观、公正的评价,却鲜见于报端。本文试从共性分析和个性分析的角度,给出一些测试意见和原则,简单且易于上手。起到一个抛砖引玉的目的、以飨读者。
我们知道:“不立规矩无以成方圆”。在软件界面设计强调张扬个性的同时,我们不能忘记软件界面的设计先要讲求规矩-简洁、一致、易用,这是一切软件界面设计和测试的必循之道,是软件人机界面在突出自我时的群体定位。美观、规整的软件人机界面破除新用户对软件的生疏感,使老用户更易于上手、充分重用已有使用经验,并尽量少犯错误。由此我们在对软件人机界面进行测试时(设计评审阶段和系统测试阶段结合进行),不妨从下列一些角度测试软件的人机界面。
一致性测试
一致性使软件人机界面的一个基本要求。目的是使用户在使用时,很快熟悉软件的操作环境,同时避免对相关软件操作发生理解歧义。这要求我们在进行测试时,需要判断软件的人机界面是否可以作为一个整体而存在。下面是进行一致性测试的一些参考意见:
·提示的格式是否一致
·菜单的格式是否一致
·帮助的格式是否一致
·提示、菜单、帮助中的术语是否一致
·各个控件之间的对齐方式是否一致
·输入界面和输出界面在外观、布局、交互方式上是否一致
·命令语言的语法是否一致
·功能类似的相关界面是否在在外观、布局、交互方式上是否一致(比如商品代码检索和商品名称检索)
·存在同一产品族的时候,是否与其他产品在外观、布局、交互方式上是否一致(例:Office产品族)
·同一层次的文字在同一种提示场合(一般情况、突显、警告等)在文字大小、字体、颜色、对齐方式方面是否一致
·多个连续界面依次出现的情况下,界面的外观、操作方式是否一致(当然可能会有例外,比如操作结束的界面)
信息反馈测试
假设系统的使用者是一个初出茅庐的生手,你能指望她(他)在进行操作不出错吗?但这还不是问题的所在,问题的所在在于我们都会犯错误,我们都有自己不了解的东西。如何避免,这要求我们的人机界面有足够的输入检查和错误提示功能。通过信息反馈,用户得到出错提示或是任务完成的赞许之语。但有些不幸的是,我们很多系统都在此方面做的不尽人意。下面是这类测试的一些参考意见:
·系统是否接受客户的正确输入并做出提示(例:鼠标焦点跳转);
·系统是否拒绝客户的错误输入并做出提示(例:弹出警告框,声响);
·系统显示用户的错误输入的提示是否正确,浅显易懂(例:“ERR004”这样的提示让人不知所云);
·系统是否在用户输入前给出用户具体输入方式的提示(例:网站注册程序);
·系统提示所用的图标或图形是否具有代表性和警示性;
·系统提示用语是否按警告级别和完成程度进行分级(若非某些破坏性操作,请对用户温和一些);
·系统在界面(主要是菜单、工具条)上是否提供突显功能(比如鼠标移动到控件时,控件图标变大或颜色变化至与背景有较大反差,当移动开后恢复原状);
·系统是否在用户完成操作时给出操作成功的提示(很多系统都缺少这一步,使用户毫无成就感)。
界面简洁性测试
你的人机界面像你的脸一样对称、干净吗?我们往往看到的使很多系统在人机界面设计上就像长了天花的病人。因此我们不得不对其进行美容前的检查,下面是一些供检查的建议条款。
·用户界面是否存在空白空间(没有空白空间的界面是杂乱无章的,易用性极差);
·各个控件之间的间隔是否一致;
·各个控件在垂直和水平方向上是否对齐;
·菜单深度是否在三层以内(建议不要超出三层,大家可以参考微软的例子);
界面控件分布是否按照功能分组(菜单、工具栏、单选框组、复选框组、Frame等);
·界面控件本身是否需要通过滑动条的滑动来显示数据(建议采用分页显示并提供数据排序显示功能);
实际上,一个处理该类测试的原则性的东西就是:干掉多余的东西,尽可能分组。
界面美观度测试
你的界面美观吗?试想一个服装模特穿一身不得体的衣服其展示效果会如何?我至今还记得在学习美学时老师讲过的一句话:美是对比的产物。在软件界面的美观度测试上,我们不得不注意下面的一些建议。
·前景与背景色搭配是否反差过大;
·前景与背景色是否采用较为清淡的色调而不是深色(比如用天蓝色而不用深蓝色和墨绿色);
·系统界面是否采用了超过三种的基本色(一般情况下不要超过三种);
·字体大小是否与界面的大小比例协调(一般中文采用宋体9-12,英文采用Arial或Times New Roman,日文采用SimSun或明朝);
·按钮较多的界面是否禁止缩放(一般情况下不宜缩放,最好禁止最大、最小化按钮);
·系统是否提供用户界面风格自定义功能,满足用户个人偏好;
用户动作性测试
“科学是懒人的哲学”,这是我大学专业老师的一个观点。我们的计算机系统也不例外。我们的系统能让用户尽可能地偷懒吗(少动手肘,少记命令等),从这个角度出发,相信你会对用户动作性测试的本质有较深的体会。我相信没有一个测试员愿意做的多而收获的少。此外用户从某种角度上是心怀不测的挑衅者和肇事者。他们很少有太多的耐心来对待他们寄以很大期望的系统。下面是一些判断用户是否能够“偷懒”和“发泄防止”的测试建议。
·是否存在用户频繁操作的快捷键;
·是否允许动作的可逆性(Undo,Redo);
·界面是否有对用户的记忆要求;
·系统的反应速度是否符合用户的期望值;
·是否存在更便捷、直观的方式来取代当前的界面的显示方式;(比如用菜单界面代替命令语言界面)
·用户在使用时任何时候是否能开启帮助文档(F1);
·系统是否提供模糊查询机制和关键字提示机制减少用户的记忆负担(比如清华紫光输入法的模糊音设定);
·是否对可能造成长时间等待的操作提供操作取消功能;
·是否支持对错误操作进行可逆性处理,返回原有状态;
·是否采用相关控件(如:日历,计算器等)替代用户手工键盘输入;
·选项过多的情况下是否采用下拉列表或者关键字检索的方式共用户选择;
·系统出错是是否存在恢复机制使用户返回出错前状态(如:Office XP的文件恢复);
·在用户输入数据之前,用户输入数据后才能执行的操作是否被禁止(如特定的按钮变灰);
·系统是否提供“所见即所得(WYIWG)”或“下一步提示”的功能(比如预览);
行业标准测试
每个行业都有自己的一套标识体系。请尽可能不要与其“撞车”。这就需要我们的人机界面测试人员对软件行业的符号体系有所了解,否则将很难担此大任。
·界面使用的图符、声音是否符合软件所面向领域的行业符号体系标准;
·界面说使用的术语是否符合软件所面向领域的行业命名标准;
·界面的颜色是否与行业代表色彩较为相近;
·界面的背景是否能够反映行业相关主题(比如:反映环保的背景一般采用自然风光作为背景);
·界面的设计是否反映行业最新的理念和大众趋势;
常见软件个性测试原则
当然、每一个软件也应当具有自己的一些个性,这些个性是体现软件开发商和所面向的用户领域的特定需要的。比如微软的启动界面和苹果的启动界面就完全是两码事。一个不失个性的软件,其本身就是软件制作商的“广告代言人”。既要突出制作商,又不能喧宾夺主。
·软件的安装界面是否有单位介绍或产品介绍,并拥有自己的图标;
·软件的安装界面是否在界面上不同于通用的安装工具生成的界面(比如:金山快译的安装界面就比较有特色);
·主界面的图标是否为制作商的图标;
·系统启动需要长时间等待时,是否存在Splash界面,它是否包含或反映制作者信息;
·软件是否有版本查看机制,版本说明上是否有制作者或是用户的标识;
·软件的界面的色彩、背景、布置是否与同类产品有不同之处,如果有,是否更为简洁、美观;
·软件界面操作与同类产品相比,是否能够减少用户输入的频繁度;
·软件界面操作与同类产品相比,是否在出错预防机制和提示上更为直观、醒目;
·软件界面是否为特殊群体或是特殊的应用提供相应的操作机制(比如Windows的放大镜);
小结:总而言之,软件人机界面的测试需要一个立足“共性”但又要强调“个性”的测试思路,软件人机界面的测试与其他类型测试不同,更加强调从用户的角度、审美观去看待待测软件。既不能过于“大俗”,又不能过于“大雅”。很多时候,需要在强调规整和强调个性间进行权衡。这迫切需要我们的界面测试人员用大脑去思考,用心去体会。这对人机界面测试人员在审美观上也是一个极大的挑战。