移动应用测试—打造完美应用的秘诀

发表于:2015-7-01 11:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Matt McComb    来源:51Testing软件测试网采编

  打造完美移动应用的关键
  上个季度,你刚刚花了大半个季度的时间,开发最新版本的移动应用程序。这是一项必须完成的工作。最近的主流移动操作系统升级让你的应用具备了新的能力。你的竞争对手已经通过扩展他们的应用功能完成了资本运作。他们对最新版本应用功能的宣传攻势已经开始。在各个商业广告里,你的应用看起来越来越像是石器时代的遗物。
  你的工作是要保证你们公司的应用不要掉队。尽快发布最新版本的压力是移动应用开发中最大的风险。这是为什么大多数应用一度星光闪耀,但用了几次就被删除的原因。它们总是出现各种问题。
  通过移动应用测试过程,你可以先于客户捕捉到移动应用所有的功能或者性能方面的问题。即使你在上市时间上击败了你的竞争对手,如果应用上的一些问题被终端用户发现时,你会希望你没有这么快发布应用。它导致的后果就是一个愤怒的用户和其背后庞大的社交网络,以及被浪费的数以千计的工时和数百万美元。
  这就是为什么移动应用测试成为移动应用开发过程中最关键的环节。他就像一颗跳动的心脏一样。平常你不太会感知到它的存在,但是如果它不能正常工作,就会导致灾难性的后果。
  新时代的应用
  桌面应用的测试矩阵相对来说比较简单。桌上电脑的位置是固定的,屏幕尺寸是标准的,操作系统通常也都是相同的。移动化让所有的规则都发生了变化。
  “互联网可以让公司‘一直处于营业中’。现在,移动互联网则让公司有机会能够‘随时随地处于营业状态。’为了支撑这个更加宏伟的口号,会增加许多额外的工作。”Exp**itest的首席执行官Tal Barmeir如是说。
  移动应用的测试矩阵更加复杂。智能手机,以及其上所承载的所有应用不停地变换位置,本地网络也随之不停变化。从北京去往巴塞罗那的商务人士会带着他的应用跨越大洲。如果某个应用在一些位置比在另外一些位置运行更加平滑,有可能会激怒它的用户。为了让应用在不同位置的性能相对平均,需要根据不同级别的带宽、延迟、抖动以及其他随着网络情况变化的变量,进行全面的测试。
  从可穿戴设备到平板电脑,移动设备的形状和大小各不相同。屏幕的分辨率也是各种各样。这也为移动应用开发带来新的挑战。在桌面电脑上看起来不错的应用在平板电脑上可能不那么好看,在智能手机上的表现甚至会更糟。即使是功能也需要在不同尺寸的设备上测试。如果按钮太小用户的手指无法点击怎么办?如果由于移动设备屏幕压缩导致重要信息无法显示怎么办?由于用户手中的移动设备数量庞大,这些问题变得更加复杂。据OpenSignal 2014年8月发布的报告指出,仅安卓一个品牌的设备就有大约20000种不同尺寸和分辨率。
  此外还有4种有着完全不同配置的主流操作系统。一个标准的移动应用测试的测试集可能是一个包含成千上万的位置、设备型号、尺寸和操作系统组合的多维矩阵。
  时间紧,任务急
  这个复杂的矩阵就是为什么移动测试是整个开发过程中运行最缓慢的阶段的原因。测试团队必须要保证移动应用的每个功能在任何一个位置都能平滑并且正常的工作,不会出现停顿、崩溃或者过多的缓冲。完成这样的工作需要大量的时间。
  然而,移动应用开发的性质导致测试团队不可能有足够的时间开展工作。竞争如此激烈,每天竞争对手都会在市场上发布最新版本的应用,其中包括你的应用尚未实现的功能,导致你的应用一直处于过时的边缘。日积月累的技术优势会让你的应用慢慢消失直到被遗忘。
  这让开发运维团队陷入两难的境地。如果测试充分,就会面临晚于竞争对手发布产品的风险。这会诱导团队抄近路,走捷径。经理可以做出缩减测试流程的决策。他可以决定只测试原有测试范围的一部分以加快应用进入市场的速度。
  这就好像俄罗斯轮盘赌。其中的风险在于,客户成为“辅助QA团队”,代替质量保证团队捕捉应用程序中的缺陷。任何未经测试或修复的功能都可能是用户删除应用再不与应用开发公司打交道的原因。
  测试目的
  应用的两个主要的组成部分就是功能和性能。应用的每个功能是否都能够正常工作?在哪些场景下,以某种方式使用应用时,应用会崩溃,返回一条错误信息,或者未按照期望执行?性能即速度,而速度会逐渐成为新的功能。如果应用的某个区域运行过慢,在最终用户的眼中这就是程序崩溃的表现。这会让应用开发变得更具挑战,因为如果应用无法正常工作或者由于开发者无法控制的因素变得迟缓,都会归咎于开发人员。用户会认为问题出在移动应用上,并会考虑删除它。这可能并不公平,但这就是商业规则。
  测试人员需要测试每一个他们可以控制的场景,而且还要尽可能多地测试那些他们无法控制的场景。他们需要模拟地球上各种各样的本地网络情况,调节带宽、延时和接收。测试人员必须保证应用在这些情况下应用都能够有效运转。除了要测试地点以外,还需要测试位置。如果用户正在进入电梯或者穿过隧道会发生什么情况?
  不断发展的测试环境
  移动测试的发展非常迅速,所有这些发展的目标只有一个,就是要缩短测试的时间周期。**的测试类型是手工测试。用户会将应用下载到移动设备并的的确确使用这个应用。测试人员会像用户一样通过用手输入文字、点击按钮来执行每一个功能点的测试,这是一个非常缓慢的过程。测试人员同时只能在一部设备上进行测试。手工测试现在已经发展到可以将设备插到电脑上,然后用鼠标和键盘操控设备进行测试。
  下一个阶段是测试自动化。通过自动化,可以同时在多个设备上进行测试。测试人员选择一个设备创建测试脚本。用键盘和鼠标在反射到电脑上的移动设备屏幕开始执行一系列的测试步骤。完成录制后,测试软件会将测试步骤序列转化成一个测试脚本。然后就可以在全部设备上运行该脚本并为每一次的测试结果生成报告。最好的测试工具能够用所有主流的测试脚本语言生成脚本,而且能够即时完成测试脚本语言的转换。
  生成测试脚本后,我们可以编辑脚本来创建循环、条件语句或任何附加程序流程,以提升测试的价值。将测试脚本集成到持续集成(CI)服务器上,只需要少量的手工操作就可以将测试步骤整合到开发过程中。
  云测试帮你提前完成任务
  目前为止,在扩展测试覆盖度和减少测试时间方面最大的飞跃就是云测试的引入。在云端设置一个移动测试工具,手工测试和自动化测试的生产力,都能够大大提高,而且还能够增进敏捷开发过程的影响。
  云测试的具体工作方式如下:首先将云测试工具加载到一台服务器上。一系列连接着移动设备的机器会连接到这台服务器上。通过这些机器,可以连接很多设备。通过这种方式可以创建一个内部移动设备实验室,测试人员可以访问任何连接着的设备。就是这么简单。
  这让每一个移动应用测试人员都可以访问所有业务所需的设备。可能是20个设备,也可能是200个设备,甚至更多。这些拥有不同尺寸、版本和操作系统的设备,组成了一个大型的组合矩阵,可以覆盖相当大的测试区域。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号