在最近的统计中,苹果应用商店中共有超过500,000种应用,而且Android市场也有超过了300,000种应用,这些还不包括其他平台上的应用,像RIM Playbook、MicrosoftWindows Phone和Windows Mobile。此外,每一个平台都可以为各种设备出售各种操作系统版本。开发应用需要在这些各种型号和操作系统版本的组合上测试和验证程序。自动化移动应用测试是唯一的发布时间表可以维持的方式。下面,我们探讨一下自动化测试移动应用程序所面临的挑战。
下面是移动应用的自动化测试挑战:
自动化脚本需求:自动化脚本需求在一个应用程序发布、正在被使用,和随后需要推出更新时更为紧迫。所有现存的特点需要每次推出更新时被测试,要确保在升级代码的时候没有回归误差。同时,各种各样的造型和模型,特别是像Android平台、自动化脚本、测试就不可避免。
多种语言和环境脚本:企业中通常采用将测试脚本可能需要综合回到语言和测试环境中,像JUnit、QTP、PERL或者Python。
分布式测试:越来越多的移动测试外包出去,甚至是海外外包。开发人员和测试人员可能地理上是分离的。测试环境下可能需要处理全世界许多地方的多个时区,或者使用不同的当地电信服务供应商。测试环境可能需要24/7/365和互联网/浏览器访问可用。
发布自动化错误和崩溃跟踪:一两个崩溃之后,用户就会放弃移动应用,甚至可能将其删除。移动应用可能需要在内部测试模式一段时期后,才第一次在应用商店发布。自动化测试工具可能需要监测和跟踪错误和崩溃,这些可能在正式的测试时遗漏掉了,即使在一个正式的发布之后。
测试设备登记管理:测试设备登记,特别是对于iOS设备,是一件苦差事,个人电话ID可能需要在苹果网站上注册。安装包需要以电子邮件的形式发送给测试人员进行安装和测试。自动化测试工具平稳并自动化地管理注册,让这个过程高效和有效。
多个电话模型可用性:打开移动操作系统,如:Android有一大批制造商直销运行着不同版本操作系统的移动设备。在这种情况下,移动应用测试要求种类繁多的设备制造商和模型可用,用以完成可靠的验证和认证。
模拟器处理器缺陷:手机模拟器,用笔记本电脑或者台式电脑运行时可以使用其他的处理器,移动设备上只能使用一个处理器。为了完成可靠的测试,自动化测试需要在实际的电话上操作,而不只是模拟器。
远程响应测试:移动应用在手机上可以独立的,或者通过后端服务器在执行期间频繁访问。后者中,从多个地理位置进行远程测试可能需要成为自动化测试的一部分。这是为了确保应用不论在哪里使用,其响应时间是合理的。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/