对于每个使用智能手机或平板的人来说,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开发决定因素的方法。
转自:51testing