《软件测试》第十一章 易用性测试

  • 11.0 前言
  • 11.1 用户界面测试
  • 11.2 优秀UI由什么构成
    • 11.2.1 符合标准和规范
    • 11.2.2 直观
    • 11.2.3 一致
    • 11.2.4 灵活
    • 11.2.5 舒适
    • 11.2.6 正确
    • 11.2.7 实用
  • 11.3 为残障人士测试:辅助选项测试
    • 11.3.1 法律要求
    • 11.3.2 软件中的辅助特性

11.0 前言

易用性是交互的适应性、功能性和有效性的集中体现。

记住第一章“软件测试的背景”中构成软件缺陷的第5条规则:软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好。这就是易用性测试的空白检查。

本章重点包括:

  • 易用性测试包括什么
  • 在测试用户界面时要找什么
  • 有灿姐障碍的人员需要哪些特殊的易用性功能

11.1 用户界面测试

用于与软件程序交互的方式称为用户界面或UI,它们都与计算机进行同样的交互——提供输入和接受输出。

11.2 优秀UI由什么构成

软件测试员要负责测试软件的易用性,包括其用户界面。软件测试员不需要去设计UI,只需要把自己当作用户,然后去找出UI中的问题。

下面是优秀UI具备的7个要素。无论UI是电子表还是Mac OS X界面,它们都适用。

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

假如软件测试员专心于保证软件的UI符合这些原则,就能得到修补得好的界面。

11.2.1 符合标准和规范

最重要的用户界面要素是软件符合现行的标准和规范——或者有真正站得住脚的不符合的理由。如果测试在特定平台上运行的软件,就需要把该平台的标准和规范作为产品说明书的补充内容。像对待产品说明书一样,根据它建立测试用例。

11.2.2 直观

在测试用户界面时,考虑以下问题,以及如何用来衡量软件的直观程度:

  • 用户界面是否洁净、不唐突、不拥挤?UI不应该为用户使用制造障碍。所需功能或者期待的响应应该明显,并在于其出现的地方。
  • UI的组织和布局合理吗?是否允许用户轻松地从一个功能转到另一个功能?下一步做什么明显吗?任何时刻都可以决定放弃或者退回、退出吗?输入得到确认了吗?菜单或者窗口是否太深了?
  • 有多余的功能吗?软件整体抑或局部是否做得太多?是否有太多特性把工作复杂化了?是否感到信息太庞杂?
  • 如果其他所有努力失败,帮助系统真能帮忙吗?

11.2.3 一致

被测试软件本身以及与其他软件的一致是一个关键属性。如果软件或者平台有一个标准,就要遵守它。如果没有,就要注意软件的特性,确保相似操作以相似的方式进行。在审查产品时想一想以下几个基本术语:

  • 快捷键和菜单选项例如,在Windows中,按F1键总是得到帮助信息
  • 术语和命名。整个软件使用同样的术语吗?特性命名一致吗?例如,Find是否一致叫Find,而不是有时叫Search?
  • 听众。软件是否一直面向同一级别的听众?带有花哨用户界面的趣味贺卡程序不应该显示泄露技术机密的错误提示信息。
  • 诸如OK和Cancel按钮的位置例如,Windows中的OK按钮总是在上方或者在左方,而Cancel按钮总是在下方或者右方。键盘上对应按钮的等价按键也应该一致。例如,Cancel按钮的等价按键通常是Esc,而OK按钮的等价按钮通常是Enter

11.2.4 灵活

用户喜欢选择——不要太多,但是足以允许他们选择想要做的和怎样做。当然,灵活性也带来了复杂性,灵活性对于测试的影响主要在第5章所讲的状态和数据:

  • 状态跳转。灵活的软件在实现同一任务上有更多种选择和方式。结果是增加了通向软件各种状态的途径。状态转换图将变得更加复杂,软件测试员需要花费更多时间决定测试哪些相互连接的路径。
  • 状态终止和跳过。当软件具有用户非常熟悉的超级用户模式时,显然能够跳过众多提示或者窗口直接到达想去的地方。能够直接拨到公司电话分机的语音信箱系统就是一个例子。测试具有这种功能的软件时,如果中间状态被跳过或提前终止,就需要保证在跳过所有状态或提前终止时变量被正确设置。
  • 数据输入和输出。用户希望有多种方法输入数据和查看结果。为了在写字板文档中插入文字,可以用键盘输入、粘贴、从6种文件格式读入、作为对象插入,或者用鼠标从其他程序拖动。测试进出软件的各种方式,将极大增加必要的工作量,使等价划分难以抉择。

11.2.5 舒适

软件用起来应该舒适,而不应该为用户工作制造障碍和困难。软件舒适性是相当讲究感觉的,这是难以量化的概念,但是可以找到如何鉴别软件舒适性好坏的一些好想法:

  • 恰当。软件外观和感觉应该与所做的工作和使用者相符。例如,金融商业应用程序不应该用绚丽的色彩和音效来表现出狂放的风格。相反,太空游戏可以不管这些规则
  • 错误处理。程序应该在用户执行关键操作之前提出警告,并且允许用户恢复由于错误操作而丢失的数据。
  • 性能。快不见得是好事。不少程序的错误提示信息一闪而过,无法看清。如果操作缓慢,至少应该向用户反馈操作持续时间,并且显示它在工作,没有停滞。

11.2.6 正确

测试正确性,就是测试UI是否做了该做的事情。要特别注意一下情况:

  • 市场定位偏差。有没有多余的或者遗漏的功能,或者某些功能所执行的操作与市场宣传材料不符?注意不是拿软件与说明书比较,而是与销售材料比较
  • 语言和拼写
  • 不良媒体。媒体是软件UI包含的所有图标、图像、声音和视频。图标应该同样大,并且具有相同的色调。声音应该具有相同的格式和采样率。在UI上选择时应该显示出相应正确的媒体来。
  • WYSIWYG(所见即所得)。保证UI现实的就是实际得到的。当单击Save按钮时,屏幕上的文档与存入磁盘的完全一样吗?从磁盘读出时,与原文档完全相同吗?打印时,输出的文档与屏幕上预览的文档完全匹配吗?

11.2.7 实用

是否实用是优秀用户界面的最后一个要素。请记住,这不是指软件本身是否实用,而仅指具体特性是否实用

在审查产品说明书、准备测试或者执行测试时,想一想看到的特性对软件是否具有实际价值。它们有助于用户执行软件设计的功能吗?如果认为它们没必要,就要研究一下找出它们存在于软件中的原因。有可能存在没有意识到的原因,或者它们就是不必要的特性。

11.3 为残障人士测试:辅助选项测试

11.3.1 法律要求

开发残疾人可以使用的用户界面的软件不仅仅是好想法、规范或者标准——而常常是法律。

11.3.2 软件中的辅助特性

软件可以有两种方式提供辅助。最容易的方式是利用平台或者操作系统内置的支持。W心动、Mac OS、Java和Linux都在一定程度上支持辅助选项。软件只要遵守启用辅助选项与键盘、鼠标、声卡和显示器通信的平台标准就行了。如果测试的软件不在这些平台上运行,或者本身就是平台,就需要定义、编制和测试自己的辅助选项。后一种情况显然比前一种情况多出不少测试量,但是也不要轻易相信内置支持。两种情况都需要测试辅助特性,以确保符合要求。
注意:如果正在测试产品的易用性,一定要专门为辅助选项建立测试用例。

《软件测试》第十一章 易用性测试相关推荐

  1. 浅谈软件测试的兼容性和易用性测试

    兼容性测试的基本概念 软件测试的兼容性测试主要是指其自身的协调性,在此过程中计算机不同部件和CPU以及显卡等多种硬件在完成组装之后,其自身之间是否会产生影响作用,继而使得系统难以正常工作.而在此过程中 ...

  2. 软件测试笔记(十一)- 易用性测试

    了解在检查软件程序的用户界面时,如何应用测试技术,如何确保软件对于残疾人士也能适用. 一.用户界面测试 易用性(Usability) :是交互的适应性.功能性和有效性的集中体现. 用于与软件程序交互的 ...

  3. [云炬创业基础笔记]第十一章创业计划书测试14

  4. [云炬创业基础笔记]第十一章创业计划书测试11

  5. [云炬创业基础笔记]第十一章创业计划书测试10

  6. [云炬创业基础笔记]第十一章创业计划书测试9

  7. [云炬创业基础笔记]第十一章创业计划书测试8

  8. [云炬创业基础笔记]第十一章创业计划书测试6

  9. [云炬创业基础笔记]第十一章创业计划书测试5

最新文章

  1. P1137-旅行计划【拓扑排序,DAGdp】
  2. size - 列出段节大小和总共大小
  3. php文件上传前端页面样式,HTML实现美化上传文件样式
  4. 怎么在Windows 11中为音频输出选择扬声器
  5. c++for循环求最大公约数_C/C++编程笔记:C语言 for 循环精讲!实例讲解带你吃透...
  6. CF EDU - E. Lomsat gelral 树上启发式合并
  7. ajax通用代码,通用代码之一: 轻松使用Ajax
  8. Flash 应用:大智慧flash版本
  9. OOM框架AutoMapper基本使用(2)
  10. GPS原始坐标转百度地图坐标(纯C代码)
  11. linux的定时器的使用,linux定时器如何使用方法
  12. python搭建简易的https服务器
  13. 五大列级庄_波尔多1855年评定的列级名庄1-5级各有哪些?哪个产区的列级庄最多?...
  14. 百度信息流介绍,没有比这更详细的啦
  15. apple configurator 2 提取ipa文件
  16. ubuntu10.04下安装fcitx小企鹅输入法,配置,美化及删除多余码表
  17. 再也不怕面试官问我平时都从什么途径学习了
  18. 打开ftp服务器上的文件夹发生错误 请检查是否有权向访问该文件夹
  19. Linux网络编程之sockaddr与sockaddr_in,sockaddr_un分析
  20. ZooKeeper是按照CP原则构建的,不适合做Service服务发现

热门文章

  1. Java循环删除元素方法
  2. 孙什么映什么的成语(孙什么映什么四字成语大全)
  3. 华为鸿蒙新机上市,首款华为鸿蒙OS新机马上开卖 花粉看了开心至极
  4. 日立服务器显示屏哪里买,不知道买什么面板的显示器?看完这篇文章你就懂了...
  5. python如何剪辑音频_剪辑音乐要很久?3行语句Python瞬间搞定
  6. short与Unsigned short以及Java基本类型
  7. 【原创】O2O,你真的知道怎么玩吗?
  8. 我在B站投稿啦、、、
  9. Vue2的路由和异步请求
  10. android中的ping命令使用