面向移动应用的软件可用性研究综述
2021-11-20戴业伟
戴业伟
(四川大学计算机学院,成都 610065)
0 引言
对于移动应用程序,用户界面(UI)是人与机器之间发生交互的地方。应用程序开发人员设计用户界面,帮助用户了解其应用程序的功能。图形用户界面(GUI)是大多数移动应用程序最重要的UI 类型,其中应用程序在屏幕上显示内容和可操作的小组件,用户使用单击,滑动和文本输入等操作与小部件进行交互。
通过使用这些界面,终端用户可以自娱自乐,方便地与朋友交流,从家里购买产品,网上转账,等等。用户与系统之间的界面对用户于系统的接受度,信任度和满意度起着重要的作用[1]。为了满足用户的需求,软件开发人员设计了许多用户友好的界面[2]。最终,用户的满意度是必须的,因此根据不同的参数来评价用户界面的质量是非常重要的。可用性帮助我们评估用户界面是否足够有效,是否能够轻松满足用户的需求[3],软件产品的可用性已成为软件质量的关键因素。国际标准化组织(ISO)开发了多种模型来指定和测量软件可用性[4]。
开发人员一般通过使用可用性评估方法和可用性测试技术来评估用户界面。得益于深度学习技术的发展,一些研究人员将目光投向软件可用性测试的自动化研究,根据不同的可用性评价指标和测试方法,得到的结果和测试的开销是不同的。本文对当前可用性评价指标和可用性测试方法的相关研究进行综述,分析了相关研究的特点和不足并指出了当前研究面临的挑战和未来的发展趋势。
1 可用性的定义
可用性的一般定义为:它关系到某事物在多大程度上成功地产生了期望的结果,状态和达到结果高效程度,以及多大程度满足个体的愿望、期望或需求,和所有关于客户满意度的问题[5]。
在计算机科学中,可用性一词经常出现在人机交互(HCI)领域。一些关于人机交互的书籍或论文提出了可用性的定义或特征。例如,Hix&Hartson[6]认为可用性与界面的有效性和效率以及用户对界面的反应有关。尼尔森[7-8]将可用性作为与系统可接受性相关的参数之一。他将五个属性与可用性联系起来:易于学习、能被高效使用、易于记忆、很少出错(防止灾难性错误等)以及乐于使用。
Rubin[9]接受可用性包括Booth[10]概述的四个因素中的一个或多个:有用性、有效性(易用性)、易学性和用户态度(好感度)。对于Smith 和Mayes[11]可用性集中在三个方面:易于学习、易于使用和用户使用系统的满意度。国际标准中,给出的可用性的定义是:特定的使用环境中,产品被指定的用户使用以达到指定目标的有效性、效率和满意程度(ISO/DIS 9241-11;European Usability Support Centres)。
2 可用性的相关研究
当前针对移动应用可用性测试的研究,主要可以分为三个方面,分别是可用性评价指标的研究,可用性测试的传统方法研究,可用性测试的自动化方法研究。由于数据挖掘和人工智能领域在这几年取得瞩目的成就,不少研究人员投身于软件自动测试的研究,自动测试技术相较于传统方法(人来测)能够节省大量的人力物力。由此可见,数据驱动的移动应用可用性自动化测试技术将成为可用性测试领域未来的一个研究热点。
2.1 可用性评价指标
最早被广泛用于可用性测试的是尼尔森提出了10大可用性准则[12],系统可见性原则,匹配系统与真实世界,用户的控制性和自由度,一致性和标准化,防错原则,识别比记忆更好,使用灵活高效,审美和简约的设计,帮助用户识别判断并从错误中恢复,帮助文档。Aggarwal 等人[13]在先前研究的基础上,提出11 个影响软件可用性的主要因素和16 个子因素,并根据多准则决策分析方法按照优先级给出排序,直觉设计成为影响软件可用性的首要因素。Nathan 等人[14]从受访者处搜集数据,通过多元线性回归分析,给出了七个影响网站可用性的指标,即:颜色和字体的使用,图形和多媒体的使用,网站目标的清晰性,网站的可信度,网站的交互性,网站导航的便捷性和网站的下载速度。部分指标之后被用于基于网络的移动应用。Kaur 等人[15]通过对大学生调研,从与先前研究不同的角度,总结了14个影响基于网络的移动应用的可用性因素。我们发现,不同的研究从不同的角度提出影响移动应用程序的可用性指标,但缺乏一个广泛,全面的可用性准则和其量化指标,实施细则。
2.2 传统方法
传统方法是由评估人员或受测人员按照一定的流程和可用性准则对产品进行评估,其实现过程离不开人的参与。启发式的评估方法最早是由Jakob Nielsen[16]提出,主要是让数位可用性专家或非专家来评估界面设计是否符合一些公认的可用性准则(例如Nielsen 可用性准则)以及存在的可用性问题。启发式评估的主要优点是能够在有限的资源下在短时间内完成。这种方法非常灵活,不需要预先计划,只要评估人员组集合起来,并且有产品或原型要评估,就可以执行。但是此方法的有效性在很大程度上取决于评估者的技能和经验,当评估人员对产品领域没有很好的了解时,启发式的评估方法并不能得到很好的结果。认知走查法最早由Lewis 等人[17]提出,即从用户的角度出发,在界面上完成一些详细的任务,并检查是否可以完成这些任务,以及任务过程中存在的问题。认知走查法为在早期开发阶段以相对较低的成本评估系统提供了一种选择。走查法的前提是评估者需要具备认知科学术语、概念和技能的知识。如果评价者对方法的具体概念和原理不熟悉,就不能很好地进行测试。
远程可用性测试方法[18],评估者和测试参与者不需要在同一个房间或地点,使测试更加方便。有同步和异步两种实现方法,同步方法与传统的实验室方法是几近等价的,异步方法能获得更多的数据,但是要耗费更多的时间,并且识别出的可用性问题更少。焦点小组法,是由大约6 到9 个用户组成的会议,用户在会上讨论与系统有关的问题。评估者扮演主持人的角色(即询问预先确定的问题),并从讨论中收集所需的信息。这对于提高移动应用未来版本的可用性很有价值,但是焦点小组获得的数据的质量与参与者的挑选和主持人提出的问题相关。情境访谈法[19],首先会询问用户一系列标准化的问题,然后当他们在自己的环境中工作时观察和询问他们。它需要研究者观察用户如何执行任务,并且让他们在行动时谈论他们正在做的事情。此方法最好在开发的早期阶段使用,来帮助开发产品设计指南。
2.3 自动化方法
Kluth 等人[20]首次提出并实现了一种自动化的可行性测试方法。该方法通过已有工具,捕获用户与移动应用交互的数据流,制定HCI 设计模式来检测交互流中是否存在可用性问题。与传统的可用性测试方法相比,不需要专家或受测者参与进来,减少了时间开支和人员开支等。但是研究只量化了四个指标进行测试,这是不充分的,并且在实现可行性测试自动化时,没有使用GUI 界面的视觉信息。Ponce 等人[21]使用卷积神经网络,根据恒温器显示器的视觉特点,来训练一个检测网络,如果检测到相应图案,则认为满足系统状态可见性这一可用性指标,并且用市场常用图案来训练网络,这样检测到的结果可以说明其满足,系统与现实世界匹配和一致性这两个可用性指标。但是移动应用界面远比恒温器显示器复杂得多。Fernandez 等人[22]提出了一种数据驱动的方法,利用卷积神经网络从Web 截图中学习复杂的模式和信息,由UX 专家标注标签,每种启发式方法的评分,以及表示需要改进的区域,从而训练一个网络来评估网站的可用性。Swearngin 等人[23]使用众包对一组移动应用程序进行了大规模的界面可点击性数据收集,并对人们用来区分可点击元素和不可点击元素的各种组件和符号进行了计算研究,训练了一个深度神经网络,它可以预测用户对界面元素的可点击性和不可点击性的感知程度,从而对界面元素点击性的一些可用性问题进行自动检测。
3 结语
通过对当前软件可用性测试研究的总结,我们可以发现以下存在的问题:
(1)不同的可用性测试研究往往使用不同的可用性准则和评价指标,其中有相似的评价指标也有截然不同的评价指标,这样不同的研究之间很难准确的比较孰优孰劣。未来的研究应该在先前基础上,系统的分析影响移动应用可用性的因素,给出更为合理,更加全面的可用性评价指标或准则。有了较为全面的评价指标,研究人员就可以更多的专注于测试方法,并且根据相同的指标,能够以相同或相近的度量方式进行比较。
(2)深度学习在过去几年一直是人工智能领域最热门的话题,并且在不少领域都取得了非凡的成就,当前基于深度学习的可用性测试研究还很少,现有的研究或只选取少数可用性评价指标进行深度学习建模,或不能得到好的结果。这一研究方向仍然具有很大的潜力。