现在的位置: 首页 > 综合 > 正文

软件易用性测试研究

2013年12月03日 ⁄ 综合 ⁄ 共 6916字 ⁄ 字号 评论关闭

这是以往对易用性研究的草案,参考了大量的资料,不算原创。

当时的想法是把各种相关信息整理汇总后,对内部的易用性测试起指导作用。作为易用性测试的入门材料。

-----------------------------------

1.前言

长期以来,IT行业一直有着重视技术创新而忽视人类因素的倾向,这导致多数产品存在程度不同的可用性问题。据研究机构近期对发达国家的统计:商用计算机用户的有效生产率仅有30%40%48%的软件缺陷属于可用性问题;在计算机应用系统开发项目中,31%的项目因可用性质量问题而失败,51%的项目只获得部分成功;90%的企业网站可用性较差;70%的企业对其网站设计不够满意;用户在商业网站上找到所要信息的几率只有42%;网上购物者最终放弃寻找欲购商品的几率为62%51%的网站可用性问题是由于未运用最基本的可用性原则造成的。这些数据说明目前的IT产品存在严重的可用性问题。在我国,由于产业发展水平相对落后,产品的可用性问题更加严重。

 

由于我们目前在这方面认识和实践的不足,关于易用性具体的测试内容与测试方法还掌握的很少。本文更多的是从收集的资料中整理出一个初步的易用性结构描述,有待进一步的研究和实践去丰富和提高。

  
易用性,在很多资料和质量体系中也被称为可用性 . 本文中这2个名词含义是一致的.

  

 


2.软件易用性概述

 

软件易用性是软件质量体系结构中一个重要的质量特性。在各个标准体系中都有关于这方面的定义描述。在一些组织的标准定义中,可用性也是一个被采用的名称。

无论该特性名称和具体细节如何,所有关于易用性或者可用性的研究都是围绕着用户对于产品的感受这个中心展开的。易用性(可用性)体现的是用户在使用过程中所实际感受到的产品质量,即使用质量(quality in
use
)。

 

国标中对于易用性及其子特性的描述如下:

易用性usability  

与一组规定或潜在的用户为使用软件需作的努力和对这样的使用所作的评价有关的一组特性

3.1 易理解性understandability

与用户为认识逻辑概念及其应用范围所花的努力有关的软件属性。

3.2 易学性 learnability

与用户为学习软件应用(例如运行控制、输入、输出)所花的努力有关的软件属性。

3.3 易操作性operability

与用户为操作和运行控制所花努力有关的软件属性。

 

ISO9126标准中的描述比原有国标更为明确和清晰:

易用性

在指定条件下软件产品被使用时,能够被理解、学习和吸引用户的能力。(功能性、可靠性、效率的一些方面也会影响易用性,但是在ISO9126中它们不被分类作为易用性)

1)易理解性

软件产品使用户明白软件是适当的以及怎么在特殊任务和使用条件下使用软件的能力。

2)易学性

软件产品使用户学习它的应用的能力。

3)易操作性

软件产品使用户操作和控制它的能力。(适合性、可变性、适应性和安装性可能会影响它)

4)吸引性

   
软件产品吸引用户的能力。(颜色、图片等)

5)依从性

   
软件产品遵循与易用性相关的标准、协定、风格指南或规章的能力

   

ISO9241中采用的是可用性这个名词。它包含了比单纯的软件易用性更为广泛的含义,体现的是用户在使用过程中所实际感受到的产品质量,即使用质量(quality in
use
)。是从用户角度衡量IT产品是否有效、易学、高效、好记、少错和令人满意的质量指标,是决定产品市场竞争力的关键因素。

可用性

产品在特定使用环境下为特定用户用于特定用途时所具有的有效性(effectiveness)、效率(efficiency)和用户主观满意度(satisfaction)。其中:

有效性是用户完成特定任务时所具有的正确和完整程度;
    
效率是用户完成任务的正确完整程度与所用资源(如时间)之间的比率;

满意度是用户在使用产品过程中具有的主观满意和接受程度。

3.软件易用性相关因素

软件的易用性是由软件的人机用户交互界面(User Interface

)来集中体现的。界面的布局设计,操作的逻辑与流程,交互信息的显示,帮助和索引文档用户对于这些元素能否容易的学习,理解,操作的程度就是软件产品的易用性.

UI所包含的元素是多种多样的.软件包含的全部窗口,菜单,按钮,下拉框,背景,图标,文本,提示,图象,声音,视频等等媒体和信息本身以及这些元素组织和表现的方式都是UI.

 

评价UI的标准有以下七个要素:

符合标准和规范、直观性、一致性、灵活性、舒适性、正确性、实用性

3.1符合标准和规范

符合标准和规范被认为是最重要的用户界面要素。对于操作系统平台,有其自己的标准和规范,如微软的WINDOWS,那么对于某个平台上运行的软件,就需要把该平台的标准和规范作为UI设计说明的补充内容。对于测试工作来讲,也就要根据这些标准和规范设计测试用例。如果软件本身要创立软件易用性标准,那么需要遵守其他6个元素。

3.2直观性

当测试用户界面时,测试人员要考虑以下问题,以及如何衡量自己软件的直观程度:

l  
用户界面是否洁净、不唐突、不拥挤?UI不应该为用户制造障碍。所需功能或者期待的响应应该明显,并在与其出现的地方。

l  
UI的组织和布局合理吗?是否允许用户轻松地从一个功能转到另一个功能?下一步做什么明显吗?任何时刻都可以决定放弃或者退回、退出吗?输入得到承认了吗?菜单或者窗口是否深藏不露?

l  
有多余的功能吗?软件整体抑或局部是否做得太多?是否有太多特性把工作复杂化了?是否感到信息太庞杂?

l  
如果其他所有努力失败,帮助系统真能帮忙吗?

3.3一致性

测试的软件本身以及与其他软件的一致性是一个关键属性。用户的使用习惯性强了,希望一个程序的操作方式能够带到另一个程序中。如果操作方式不同,会或多或少地给用户带来挫败感。如果软件或操作系统平台有一个公共的标准,那么UI就要遵守它。如果没有,那就要注意软件的特性,确保形似操作以形似方式进行。在UI测试过程中,要考虑以下几个基本术语:

l  
快捷键和菜单选项。快捷键一般要具有通用性,如F1为系统帮助。

l  
术语和命令。整个软件使用同样的术语吗?特性命名一致吗?例如:数据字典是否有时被叫做数据词典。

l  
用户级别。软件同一UI风格是否对应同一用户级别?是否有UI风格与用户级别不相称的情况出现?

l  
按钮的位置和等价的按键。如“确定”和“取消”按钮的相对位置;确定等价键通常使用回车键,而取消等价键通常使用ESC键。

3.4灵活性

由于用户对于软件应用喜欢选择做做什么和怎样做,所以软件需要有较大的灵活性,同时也可能会发展为复杂性,加大测试工作的复杂性。测试软件UI是否灵活,可以参考以下几点:

l  
状态跳转。灵活的软件实现同一任务有多种选择和方式。结果是增加了通向软件各种状态的途径。状态转换图将变得更加复杂,福建测试人员需要花费更多时间决定测试那些相互连接的路径。

l  
状态终止和跳过。当软件具有用户非常熟悉的模式时,用户需要直接跳到想去的页面;或者因为种种原因,用户需要提前终止当前的运行情况。

l  
数据输入和输出。用户愈来愈希望有多种方式实现数据的输入和输出,所以要针对用户所可能需要的输入和输出方式进行测试。

3.5舒适性

毫无疑问,软件应该用起来舒适,而不应该为用户工作制造障碍和困难。但是,软件舒适是一种感觉,比较模糊,所以要设计出软件舒适的正确公式是不可能的,但测试人员在测试时要根据实际情况对软件是否具有舒适性进行鉴别:

l  
恰当。软件外观和感觉应该与所做的工作和用户背景相符,不同的行业或用户对软件的外观要求是不同的,在设计时,既不能太夸张也不能太朴素。

l  
错误处理。程序应该在用户执行非法和不合理的操作之前提出警告,并且允许用户恢复由于错误操作导致丢失的数据。对于用户恶意的严重错误操作,程序要能够以一定规则进行判别,并采取适当的处理方式。

l  
性能。一般情况下,系统性能当然是愈高愈好,但是某些情况下,用户需要操作慢一些,以便能够发现软件的一些操作情况。

3.6正确性

UI正确性比起舒适性要明显得多,当然也就容易测试。正确性主要是指UI是否正确,不会使程序实际执行情况与用户理解产生偏差。但是有些问题测试人员要加以注意:

l  
市场定位偏差。软件有没有多余的或者遗漏的功能,或者某些功能执行了与市场宣传材料不符合的操作?

l  
语言描述和组织。程序员的语言描述和组织往往会使用户产生歧义或费解,或者令用户难以接受。

l  
多媒体缺陷。UI设计的图标、图像、声音和视频设计不合理或不正确。如:图标大小不一致,声音没有采用相同的格式和采样率。

l  
UI说明不一致,即没有实现所见即所得。在测试过程中,一定要仔细检查执行程序的结果与UI描述的是否一致。

3.7实用性

UI实用性主要是指具体UI特性是否实用。在测试过程中,检查每一功能点的UI是否具有实际实用价值,是否能够有助于用户执行软件相应的功能,否则就被认为实用性不好,为实用性的缺陷。


4.软件易用性研究方法与技术

 

 

对同一软件的易用性的评价是因人而异的,不同的用户由于他的经历,能力,思维方式和习惯的差异,对于同一软件会得出不同的感受.所以易用性研究的各种方法其核心都是以用户为中心.只有了解软件所面向的用户,然后从用户的角度分析和设计,才能得出真正具有优秀的易用性的软件产品.同样,在软件易用性的测试与评估活动中,核心的理念也是以用户为中心,从用户的角度出发。以下各种方法和理论,是在软件易用性活动中比较重要和经常采用的。

4.1可用性工程

可用性工程(Usability Engineering)是IT产品及其用户界面开发的一种工程方法论,贯穿于产品整个生命周期的各个阶段,包括从需求获取、可用性问题分析、设计方案的开发以及测试评估在内的一整套实用方法,泛指以提高产品可用性质量为目的的一系列过程、方法、技术和标准,其核心是以用户为中心的设计方法论(user-centered
design,UCD)。
它强调从用户的角度来进行产品的设计开发,这使它有别于传统和常规的开发方法。

具体说来,在产品开发过程中运用可用性工程方法可以实现以下目标:

  • 准确而详细地理解用户特征、用户任务和使用环境;
  • 明确定义产品可用性质量的用户需求;
  • 基于同类产品或产品的原有版本,建立产品可用性质量基准;
  • 在产品生命周期的各个阶段,随时、快速、准确地获得用户反馈,发现可用性问题,及时改进产品设计;
  • 检验和确认产品是否满足可用性质量的用户需求;
  • 减少后期维护,避免无效开发,从而降低开发成本,缩短生产周期;
  • 评估和认证产品是否符合有关可用性的国际标准;
  • 定性或定量地评估产品的可用性质量,按照国际标准向采购方提供产品可用性质量测试报告;
  • 对同类产品的可用性进行比较分析,了解自己产品的竞争力,以针对性地改进产品和制定相应的产品发展策略;
  • 评估和改进产品开发过程的可用性能力成熟度(UMM)并获得国际标准认证。

可用性工程活动的范围广泛、形式多样,典型活动包括可用性规划、现场研究(观察、采访)、专家评审、原型开发及用户界面设计、可用性测试和评价(反馈收集型测试、绩效评估型测试、竞争力测试)、企业可用性指南、标准及开发过程规范的制定等。大致分为规划、标准运用、早期原型、专家评估、用户评估和用户主观评估六大类。

4.2用户中心论

以用户为中心的设计方法是软件开发的一种思想和方法论,它注重所开发软件产品的可用性。按照ISO 9241-11的定义,以用户为中心的关键点是强调产品的最终使用者与产品之间的交互质量,它包括三方面特性:有效性、效率和满意度,其宗旨就是在软件开发过程中要紧紧围绕用户,在系统设计和测试过程中,要有用户的参与,以及时获得用户的反馈信息。实现这一目标通常要利用原型与用户进行交互,根据用户的反馈意见不断改进设计。遵循这种思想来开发软件,可以使软件产品具有易于理解、便于使用的优点,从而减少培训费用,减轻对用户的压力,提高用户的满意度。

4.3用户人群分析

不同的软件面向不同的用户人群,即使是同一软件,也可能会被不同类型的用户所实用。所以,在测试之前,要对软件的使用用户做分析,如:用户年龄、教育背景、操作习惯等。

产品的可用性不仅取决于产品本身,还受使用环境的影响。使用环境包括以下几方面:

  • 用户特征
    包括知识背景、技能、经验、学历、年龄、体力等,有时还可按经验、职务或能力来分组;
  • 使用产品的目标
    产品的主要用途以及工作时间长短、强度等;
  • 社会物理环境
    如计算环境、温湿度环境、法律环境、社会文化习惯环境等。

在详细分析使用环境的基础上,设计出测试环境并在测试计划中明确定义,并使测试环境具有使用环境的典型特征,包括:

  • 测试对象特征
    知识背景、技能、学历、年龄和体力等;
  • 测试任务
    应符合产品的主要用途并覆盖其主要功能,详细规定任务要求和执行顺序;
  • 测试的社会物理环境
    所使用的物理设备、软件以及相关的物理和社会环境特征。


4.4
ALAC
方法和运行剖面

ALAC
——Act-like-a-customer

是一种基于用户使用产品的知识开发出来的测试方法。

是针对目前庞大而复杂的软件产品来应用的,因为软件愈复杂,存在的缺陷也就愈多,愈难于发现。
ALAC
方法的实质就是在无穷无尽的操作方式的组合中,只是寻找和模仿用户的实际操作方式来使用产品,并针对这些使用方式的组合找到软件存在的缺陷。象用户一样思考,象用户一样行为,利用这种方法,可以有效的利用有限的资源,发现更多更重要的缺陷。

采用此方法最大的受益者是用户,测试的计划和测试用例的设计以及测试工作实施都是针对那些客户最容易遇到的错误。

 

如何得到用户的使用方式,并且使用恰当的方式来表达和描述它,并进而利用它进行设计分析和测试,可以引入运行剖面的概念.运行剖面是一种定量的刻画软件使用的方式.首先分析软件所面向的客户群,用户类型,收集和统计用户行为模式,逐步构造出运行剖面,在统计学层次上,用概率来描述软件的用户使用方式.

剖面:一组互不相交的元素及发生的概率,所有元素的概率和为1

假设功能A和功能B为互不相交的2个要素,发生的概率分别为60%和40%,那么剖面为(A0.6)和(B0.4)。

 

运行剖面:
一组运行及其相应的发生的概率。

软件运行剖面(欧空局):对系统使用条件的定义。即系统的输入值用其按时间的分布或按它们在可能输入范围内的出现概率的分布定义。

运行剖面的表现一般可为表格形式和图形格式。下图是一个使用表格形式反映一个电话系统的用户使用方式的示例.

 

 

运行剖面是在可靠性测试中常常采用的方法,但是因为它可以清晰的描述用户使用软件的模式,在易用性研究中同样可以起到重要的作用.在软件需求分析的期间分析和构造运行剖面,在设计,测试中应用运行剖面.

 

 


4.5使用性测试

使用性测试是在测试产品原型,了解产品易用程度和用户接受程度及满意度方面最常用的手段之一。使用性测试的目标是在产品投入市场之前,从真正的用户群体中发掘产品的使用性问题。下图是一个使用性测试环境.该实验室由单面镜分为两个区域,一个区域是观察室,助手通过监控和视频转换设备,观察和记录参试者行为、电脑屏幕的页面变化和时间;另一个区域是主实验室,参试者独立完成测试任务。

使用性测试一般具有如下几个步骤:

l 
参试者遴选

l 
场景,脚本,问卷等测试相关的设计

l 
执行测试

l 
数据分析

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.6其他易用性研究方法

l 
深度访谈

l 
启发式评估

l 
焦点小组

l 
问卷调查

l 
文献研究

….


6.易用性测试准则

以下各准则是基于通用行业标准,指南,风格,规章而提出的,仅供参考.实际情况中所应用的应该远远超出以下列出的.这些准则既是在软件易用性设计中应该遵循的,也是在易用性测试中所要验证的。

   
这部分内容基本按照GUI的各个元素来组织.GUI包含窗口,菜单,下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制等界面元素.最后针对网站和多媒体提供2个应用专题.

6.1整体界面风格

遵循通用规范

·        
一般情况下遵循windows标准

·        
一般情况下保持同类软件已有典型风格,保证用户无须另外学习

 

准确性和一致性

·        
专业术语的解释易于了解(根据软件的用户水平决定)和准确

·        
专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。

·         术语和命令在软件内部使用和命名一致。

·        
符合
UI说明,所见即所得。

·        
符合市场宣传口径,例如广告的承诺,用户手册的描述,甚至包装的标示

·        
语言描述通顺流畅
,无歧义,无错别字

·        
没有图标、图像、声音和视频设计等多媒体缺陷。如:图标大小不一致,声音没有采用相同的格式和采样率。
装载进入机器的程序文件的图标合乎规范。至少不应是编程工具自带的图示(MFC),最好是本公司或本系列产品的特有ico图标。

·        
各个窗口
/页面的标题、在Windows系统任务栏中的名称、以及本窗口内左下角状态栏中的提示(如果有的话)正确,统一

·

抱歉!评论已关闭.