下载本文的PDF版本 PDF

Web 可用性测试

当今复杂的 Web 应用程序使得追踪和倾听用户意见比以往任何时候都更加重要。

VIKRAM V. INGLESHWAR,雅虎!

今天的互联网用户比以往任何时候都有更多的选择,许多竞争网站提供类似的服务。这种选择的激增为用户提供了充分的机会去探索不同的网站,并找出哪个网站最适合他们对特定服务的需求。最新一代的 Web 技术和服务(通常被称为 Web 2.0)进一步为用户服务,这些技术和服务实现了更好、更个性化的用户体验,并鼓励用户生成内容。

尽管关于 Web 2.0 的定义存在相当大的争议(并且有很多批评认为它仅仅是一个营销术语),但该术语在区分关键创新方面很有用,例如博客、社交书签、标签、维基、RSS 订阅、Ajax、Web API 和在线 Web 服务,这些创新自 1990 年代以来已显著改变了 Web 用户体验。

随着 Web 的成熟和发展,用户越来越多地将其视为应用程序平台,并且他们要求更高程度的个性化和控制。因此,Web 开发人员发现并密切跟踪某些用户反馈非常重要,例如他们访问特定网站的动机、他们发现网站中困难和/或令人困惑的区域以及他们最喜欢的功能。留住现有用户、鼓励他们花更多时间在网站上以及吸引新用户已成为比以往更大的挑战。可用性测试是解决这些挑战的一种方法。

当互联网处于起步阶段时,它被视为仅仅是获取信息的众多来源之一。随着个人电脑和互联网在全球范围内的普及,用户变得更加精明,更清楚地知道他们在 Web 上寻找哪种信息以及他们希望如何接收这些信息。这使得可用性测试成为测试周期中必不可少的一部分。不幸的是,它的重要性常常被忽视,这对任何特定的 Web 应用程序都不利。我们需要改变我们的思维模式,并将可用性测试作为日常测试周期的一部分。

本文着眼于可用性测试的挑战,尤其是在当前 Web 2.0 技术浪潮的背景下。它不一定提出解决方案,而是重点强调您在自己的项目中可能面临的大多数挑战、问题和困难。

可用性测试的目标

可用性可以定义为给定的软件在多大程度上帮助坐在键盘前的人完成任务,而不是成为障碍。可用系统通常根据以下三个标准进行评估

基于这些标准,有几个基本原则需要考虑

首先,也是最重要的,让您的应用程序易于使用。这将减少用户流失,防止来自沮丧客户的电话,并帮助人们留在您的网站上。但是,什么基准说明 Web 应用程序可以被访问您网站的任何人轻松使用?这是一个棘手的问题,因为对某些人来说容易的事情对另一些人来说可能很难(就像数学中的积分对某些人来说很简单,而对另一些人来说是失眠杀手)。所以问题是,您如何知道您的 Web 应用程序是否易于理解,或者用户是否必须查阅帮助页面才能确切了解事情是如何运作的?一种简单的技术是将您的应用程序交给 QA 团队进行测试,但不允许他们阅读功能规范或产品需求文档。您不必完全删除帮助页面,但用户不应经常被迫查阅帮助页面;并且在每次后续访问网站时,他们应该能够记住他们在第一次使用该应用程序时学到的任何东西。如果他们每次访问您的应用程序都必须参考帮助页面,那么肯定有问题,您需要采取纠正措施。

此外,许多网站将其 API 公开给开发人员,然后开发人员将此功能添加到现有应用程序中。用户是否觉得使用这些新功能很舒服?一个好的网站会让用户在使用新功能时感到舒适,并受到启发进一步探索该网站。

让您的应用程序快速运行。快速是一个相对术语;您应始终确保您的应用程序的速度与竞争对手的速度相当。为了提高服务的响应速度,许多网站现在使用 Ajax 技术,这使得 Web 应用程序的行为更像桌面应用程序。这是 Web 服务器提供的较慢响应时间和桌面应用程序通常较快的响应时间之间的中间解决方案。

另一种提高响应速度的技术是在不使事情看起来太混乱的情况下重叠或聚集操作。找出在您的应用程序中执行操作的不同排列和组合,然后分析哪些重复性任务可以重叠或一步完成(又名,重构)。一种方法是使用 Web 服务器日志来找出用户访问最多的页面以及他们认为难以使用的页面。例如,假设您有一个电子商务网站,引导用户完成一个六步(页面)流程。如果 Web 服务器日志显示许多用户在第四页离开网站,则该页面很可能存在问题。可能是用户觉得输入太多信息很乏味,或者可能是服务器进程本身失败了。挖掘 Web 服务器日志是密切跟踪用户行为的好方法,但这是一项繁琐且耗时的任务。在本文的后面,我将讨论多变量测试,这可以帮助解决此问题。

倾听用户的意见。很多次我向网站报告问题,但没有收到任何回复。如果您希望这些忠实客户继续提供宝贵的反馈,您应该立即优先处理该问题并在及时 manner 中解决它。允许用户轻松发送反馈并让他们感到您在倾听他们的意见非常重要。

您还可以在您的网站上提供一个非常 Web 2.0 的用户反馈功能,用户可以在其中评论网站的功能并与他人讨论。这是找到用户脉搏并发现您做得对与错的非常好的方法。

如何实现更好的可用性

获得可用性反馈的最佳方法是使用对应用程序一无所知的 QA 组测试应用程序。一旦测试人员阅读了产品需求文档、功能规范以及最后的测试规范,他们将在受到他们先前接触的影响的特定思维模式下测试应用程序。他们很难打破这种思维模式并在“跳出框框思考”的同时进行测试。

在我自己的一个项目中,我们有一个专门的 QA 团队测试一个产品近三个月。在这个测试周期之间,我们要求另一个 QA 团队加入并进行临时测试;这有助于发现许多可用性问题。一个完全不了解应用程序的工程师可以像最终用户一样测试它,并可能提出有价值的见解和观察结果。

检查功能的可用户性与测试该功能本身一样重要。您需要发现用户在使用您的应用程序时可能遇到的挑战和困难,以及您如何提前处理这些挑战和困难。记下这些要点并在定期的团队会议中讨论;如果一个要点有效,则应将其传达给项目经理。然后,经理和 QA 团队可以讨论这些问题并解决问题。随附的侧边栏概述了一些基本技术,用于发现许多这些可用性问题。

跟踪用户行为

过去,大多数网站严格充当信息提供商,开发人员几乎不费心跟踪用户。现在,随着越来越多的用户将 Web 视为平台,开发人员必须更加关注他们如何使用某些网站以及他们的偏好是什么,并相应地响应这些信息。

用于跟踪用户行为的技术之一称为多变量测试。一般来说,这是一系列测试,每个测试代表 Web 页面上的一个区域,内容可以在该区域中轮换。多变量测试允许您在运行时跟踪用户行为,进行更改,然后立即检查它们的工作情况。许多供应商生产产品来协助多变量测试,但仍然存在根据用户的地理位置、用户行为模式等来满足用户需求的挑战。例如,美国用户的需求与韩国用户的需求不同。如果您试图接触全球受众,则需要考虑到这一点。

使用 cookie 跟踪用户是一个棘手的问题;大多数用户会觉得有人在监视他们。使用 Web 2.0 技术,我们有一天也许能够在用户不知情的情况下跟踪用户行为,而无需在他们的机器上放置 cookie。这类似于高速公路上为进行适当的交通管理而进行的车辆移动研究。在这些研究中,摄像头以规则的间隔放置,以监测一天中特定时间的交通密度、哪些类型的车辆在该道路上行驶以及其他变量。如果我们开发出类似的技术,可以监测人们在特定网站上的行为,我们可以找出人们来自哪里、他们的浏览模式等等。

然而,除非我们进行调查,否则找出用户的年龄组、性别、国籍等将是主要的挑战。即使是调查也不能保证用户会提供准确的数据,但我们可以对他们进行有根据的猜测。例如,如果用户在讨论工程学位的教育网站上花费大量时间,我们可能会猜测该用户属于 20-35 岁年龄组。

下一步是什么?

M-Web 2.0 是我对未来几年 Web 的概念。移动和手持设备的用户群正在以比任何人想象的都快的速度增长。随着城市正在开发无线网络,并且新的软件和功能被添加到移动设备中,我可以想象在未来几年内 95% 的人口将使用支持 WAP 的移动设备。个人电脑和笔记本电脑的局限性在于它们体积庞大,并且用户必须登录才能连接到 Web。牢记这一未来趋势应确保许多 Web 应用程序对移动浏览器的支持。

我们准备好接受这种改变了吗?我们如何在不损失可用性的情况下将数十亿个网站转移到移动浏览器?这是摆在我们面前的下一个重大挑战。

可用性测试指南和标准

1. 创建功能可用性矩阵。

列出您的应用程序中的所有功能,并要求您团队以外的人员测试所有功能。测试人员应记录他们对每个功能的观察结果,并根据其易用性和实用性对其进行评分。

使用这些数据,准备一个功能可用性矩阵,该矩阵描述了应用程序的功能、易于理解的程度以及用户是否需要任何特定功能的外部帮助。此矩阵将帮助您发现哪些功能运行良好,哪些功能需要返工,并且它将帮助您不断提高网站的可用性。

2. 创建比较可用性矩阵。

查看您网站的功能列表。检查这些功能如何在竞争对手的网站中实现。记录比较点,例如易用性、外观、响应速度等。
根据这些观察结果,准备一个比较可用性矩阵,并让您的 QA 团队对其进行审查。任何相对于您的竞争对手获得较低评分的功能都应进行纠正。此矩阵将确保您的服务与您的竞争对手相当。

3. 创建客户反馈可用性矩阵。

汽车行业关注客户反馈,并尝试在其新车型中实施常见的变更请求。丰田的成功很大程度上归功于其客户反馈流程。同样的最佳实践也适用于 Web 应用程序。客户可以在您的网站上轻松提供反馈吗?他们可以轻松找到其他人发现的现有问题吗?制定了什么流程来对这些反馈采取行动?

在您的网站上提供诸如 Digg.com 之类的评级/评论功能将有助于改进产品并建立牢固的客户关系。然后,您可以使用这些数据创建客户反馈可用性矩阵,以跟踪您对客户反馈的响应速度。

其他资源

万维网站点的可用性测试; http://stats.bls.gov/ore/htm_papers/st960150.htm

互联网世界统计:使用情况和人口统计; http://www.internetworldstats.com/stats.htm

VIKRAM V. INGLESHWAR 是雅虎在印度班加罗尔的 QA 工程师。他在 IT 行业工作了四年多,测试 PDA 和电信软件以及基于 Web 的应用程序。他拥有工程学士学位,并已完成高级计算文凭课程。他的兴趣领域是自动化和白盒测试。

acmqueue

最初发表于 Queue 第 5 卷,第 5 期
数字图书馆 中评论本文





更多相关文章

Shylaja Nukala,Vivek Rau - 为什么 SRE 文档很重要
SRE(站点可靠性工程)是一种工作职能、一种思维模式以及一套工程方法,用于使 Web 产品和服务可靠运行。SRE 在软件开发和系统工程的交叉领域运作,以解决运营问题并设计解决方案,从而可扩展、可靠且高效地设计、构建和运行大型分布式系统。成熟的 SRE 团队可能拥有与许多 SRE 功能相关的明确定义的文档体系。


Taylor Savage - Web 组件化
在当今的软件工程中,没有哪项任务像 Web 开发那样艰巨。Web 应用程序的典型规范可能如下所示:该应用程序必须在各种浏览器中工作。它必须以 60 fps 的速度运行动画。它必须对触摸立即做出响应。它必须符合一组特定的设计原则和规范。它必须适用于几乎所有可以想象到的屏幕尺寸,从电视和 30 英寸显示器到手机和手表表面。它必须是经过精心设计且长期可维护的。


Arie van Deursen - 超越页面对象:使用状态对象测试 Web 应用程序
Web 应用程序的端到端测试通常涉及通过 Selenium WebDriver 等框架与 Web 页面进行棘手的交互。隐藏此类 Web 页面复杂性的推荐方法是使用页面对象,但首先要回答一些问题:在测试 Web 应用程序时,您应该创建哪些页面对象?您应该在页面对象中包含哪些操作?给定您的页面对象,您应该指定哪些测试场景?


Rich Harris - 消除入门障碍
一场战争正在 Web 开发领域展开。一方是工具制造者和工具用户的先锋,他们以摧毁糟糕的旧观念(在这个环境中,“旧”意味着任何一个月前在 Hacker News 上首次亮相的东西)以及关于转译器等的喧闹辩论而蓬勃发展。





© 保留所有权利。

© . All rights reserved.