文档章节

移动app测试中的主要问题

方敏和
 方敏和
发布于 2014/10/10 10:04
字数 2065
阅读 75
收藏 0
  Kerstin Knab是德国慕尼黑Maiborn Wolff股份有限公司的高级IT顾问。她有10多年的复杂软件开发和测试项目方面的经验。她通过电信、金融和公路收费行业的项目掌握了深厚的知识,尤其 是移动app测试、质量管理,故障管理以及测试自动化等领域的知识。

 

  对于每个使用智能手机或平板的人来说,app都是不可或缺的。一个app是针对一个特定环境开发的。在移动背景下,通常被称为移动app。App技术 自2007年iphone的商业发布时就为人们所熟知了。苹果App商店的推出,打开了软件app的一个新的销售渠道。随之,用于其他操作系统的类似 App商店,例如安卓市场,诺基亚商店,黑莓App世界,Mac App商店,三星Apps,以及Windows Phone市场,不久后也一一推出了。很长一段时间,大家只关注用于个人使用的app,但现在情况改变了。 App的商业用途越来越重要。企业正在使用金融,销售,市场或内部沟通的app。此外,通过web服务或云平台可以与后端工具及移动设备进行交互的B2B 或企业app,正在不断占据市场份额。这一发展过程中,对有条不紊的质量管理的需求正在不断增加。

  本文将展示移动app测试必须解决的四大问题以及所需的基本要求。而且还会描述一个敏捷开发模式中的测试方法集成:
  ▪▪用户体验
  ▪▪可用移动硬件的覆盖
  ▪▪连接
  ▪▪安全

  用户体验
  用户体验是一个app成功与否的关键。App商店中app评分可以反映用户体验,差评说明销售亏损。所以用户体验在移动app测试中是一个重要问题。 因为体验具有主观性,所以它无法直接被测出。但你要知道,你在测试过程中必须要将好的用户体验包含在成功的关键因素之中。



  好的用户体验的成功因素包括吸引人的设计,积极的互动性和可用性。基于这三点,你可以得出以下三个测试标准:

  可用移动硬件的覆盖
  移动设备的种类,尤其是安卓的正不断增加,而且不再可能概述移动设备市场。因为显示屏大小和现状、操作系统版本和基本设备特点等限制因素的不一致,质 量管理很困难。还有一点,设备制造商的(安卓)操作系统的设备特殊定制,应明确地在设备上进行测试。测试时,有必要限制将会被app支持的设备。必须要标 明系统组合(硬件/操作系统)和向下兼容性。为了最大化系统组合的覆盖,就必须要有灵活的策略来执行测试。

  变量有:
  ▪▪仿真器,模拟器
  ▪▪beta测试网“现场测试”
  ▪▪云移动测试,如Mob4Hire, testCloud
  ▪▪众包移动测试,如PerfectoMobile, Soasta
  必须将这些变量组合起来并优先考虑项目背景。

  连接
  连接是移动app测试的另一大问题。理想状态下,app的网络连接将在单独的线程中实现,这样就不会彼此干扰。此外,一个app必须适当地应对网络中断、延迟、变更和信号弱等情况。
  如果这些应对由一个警告或一个缓存机制实现,那就应该在项目背景中标明。

  安全
  除了连接,安全是另一主要问题。
  要点有:
  ▪▪认证和授权
  ▪▪数据安全
  ▪▪离线模式的数据分配
  ▪▪文件系统、选项、硬件、网络资源等
  基本上,一个app的开发会在一个“沙箱”中进行,这样可以启用或禁用app外的资源。根据操作系统,访问权限是可编程或提前确定的。
明确确定适当的测试需要。
  安全测试背景下的另一方面是防止通过“越狱”(iOS)或“刷机”(安卓)来非法获取。
  除了这四大问题,移动app测试还要考虑一些基本要求。

  移动app测试中的基本要求
  App测试的一个要求是一个beta测试环境。为此,操作系统制造商要么提供他们自己的测试环境,比如:Testflight (iOS),要么可以使用任一商用工具,如:HockeyApp (Android)。
  移动app测试市场上有许多测试工具。
  不同之处在于用于建立测试集的增加模块如Tosca Mobile,或有标准接口的独立工具。
  在移动背景中,测试自动化是一个重要因素。一个众所周知的工具是SeeTest (iOS/Android),, Robotium(Android) 和 MonkeyTalk (iOS/Android)。所有要求都必须被有条不紊地测试。这里我描述了一个方法。

  敏捷开发模式中的测试方法集成
  App是基于基础软件开发模式而开发和测试的。传统和敏捷模式都是比较常用的。
  传统软件开发模式,像V-Model,有高规划可靠性、标准以及简易的可扩展性和实用性等优点。缺点是:对文件和必要的调整有高要求,缺少灵活性。
  相反,敏捷模式有高灵活性,快速系统部署,低文件需求,且基本不拘泥于形式。缺点是:时间和预算编制困难,敏捷团队内部有很多交流工作要做,尤其对团队成员的个人能力很依赖。
  总之,app是在紧张的“上市时间”周期内开发的。定制是通过不断升级执行的,基本是app用户的回馈结果。
  这种种情况下,一个敏捷开发模式比传统模式的优点更多,因此我们在这里简单介绍一下。
  敏捷模式中的测试工作可分为三大方面:
  每个方面都由适当的符合sprints (Scrum)时间表的测试方法支撑。使用敏捷模式时,有必要确保:
  ▪▪明确所完成的是一致的
  ▪▪ sprints中详细计划了自动化,建立了模拟服务
  ▪▪ sprints全程监控回归
  ▪▪明智地集成外部服务提供商(crowd, beta-tester network)
  ▪▪在过程中应用所获的测试经验
  注意:并不是每个项目中敏捷测试都是最好的解决方案。
传统模式通常是更好的方法,尤其是在有明确而详细需求或紧缩预算和规定时间的特定公司问题的项目中。但是,如果使用一个敏捷模式就有必要持续监控产品积压以及适应其的基线。

  总结
  移动app测试中必须考虑很多方面重要的问题是用户体验,可用移动硬件的覆盖,连接和安全。一个移动app测试项目的质量标准是每个项目的个体,即测 试标准的权重变化很大。将测试集成到基础软件开发模式中对一个成功的移动app测试项目至关重要。因为移动app项目的紧张时间表,有必要定制测试方法, 调整测试范围并明确测试覆盖面。必须快速灵活地适应采取的App开发决定因素的方法。 

版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/201410895208.html

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责

本文转载自:http://www.spasvo.com/news/html/201410895208.html

共有 人打赏支持
方敏和
粉丝 0
博文 2
码字总数 874
作品 0
普陀
加载中

评论(1)

APP或网站/微信【注册决定成败】市场调查分析:目前80%的用户是因为注册短信验证码体验不佳,从而放弃注册!这是多么痛的领悟-----我公司是专业做短信验证码的供应商,6年间我们只做了一件事让每个用户注册短信验证码5秒到达,为近16000APP客户提供服务! 加我微-信: wkk-555 咨询,〔廖经理136-4173-0373〕!
Web端测试和移动端APP测试之操作特性区分

之前有简单写过,这次详细说说两者的特性 记录bug    在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记。    对于移动端设备...

fiawfo
2017/02/22
107
0
OSC 第 90 期高手问答 —— 移动 APP 自动化测试

OSCHINA 本期高手问答( 9月8日- 9月14日) 我们请来了 @hy1984427 为大家解答关于 移动 APP 自动化测试 方面的问题。 黄勇,@hy1984427 ,现任 ThoughtWorks 中国区 QA Lead。2006 年天津大学...

叶秀兰
2015/09/08
3.8K
28
移动App测试一些崩溃原因及触发崩溃的场景

移动App测试与传统台式机测试相比有一定的复杂性。这些复杂性可以被分类为: 环境:大量的设备,各种移动OSs,适应频繁OSs变化。 设备:触摸式和非触摸式设备,有限的内存容量,电池耗电量。...

fiawfo
2017/01/17
419
0
8大APP测试解决方案

测试应用很繁琐,完美的测试方案在哪才能被发现?网页,微信,还是微信公众号,不同渠道获取的信息怎样才能获取最优质的?希望今天的推荐可以让你找的优秀的方案。 1、TestBird手游和APP云测...

Jess_M
2016/01/19
222
1
如何治疗app功能测试中的头疼脑热?(一)

在移动互联网蓬勃发展的今天,移动APP测试工作现状,已经是家家有本难念的经。不管公司大小,不管测试什么样的app,重复性最多,测试工作量最大的功能测试,都让测试者苦不堪言。这个系列文章...

aabbc
2016/03/21
152
1

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
3
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部