Arun Jutur 是凯捷全球金融服务事业部移动测试卓越中心的一员。 目前,他专注于移动测试,覆盖iOS, 安卓, 黑莓 和Windows设备的付费及手机卡领域。他在卓越中心的部分角色还包括负责移动测试培训课程。 Arun拥有计算机科学的理学硕士学位。自2010年起潜心于移动测试,包括移动应用程序的可用性和可访问性测试。 |
移动设备已经改变了我们的世界。自2010年第四季度以来,智能手机和平板电脑销售已超过了个人电脑的销售。到2012年年底,全球有超过十亿智能手机用户[1]。根据Canalys公司的调研数据,2013年第一季度 [2]全球前四大应用商店——Apple’s App Store, Google Play, the Windows Phone Store, and Blackberry World 的app下载总量已超134亿,总收入已达22亿美元。这些急剧的变化意味着软件测试工程师必须迅速适应现在的移动业的现状,这些都使得移动应用程序自动化测试重要到必不可少。
移动测试的挑战
在看移动测试的自动化工具前,你需要对与移动应用程序面临的挑战稍作了解。
设备
移动应用程序应该在你要求的设备上工作。
移动应用程序必须在每个设备上都正常工作。
移动设备必须为应用程序的运行时间进行测试。
移动设备处理能力不同,内存有限,还必须考虑通信协议。
应用
新的操作系统版本和功能意味着开发人员建立了必须被测试的新的,更复杂的程序。
多个构建常常时间很短,因此脚本执行往往不能完成。
网络
多种网络类型,必须进行测试,如GSM,CDMA,GPRS和Wi-Fi。
不同的连接速度(包括2G,3G和4G LTE)必须跨地点测试。
世界各地有超过400多的移动网络运营商,测试必须处理各种网络。
技术
必须考虑大量的测试用例。
必须处理手机特有的功能,包括触屏约定。
必须执行API级别的测试。
移动应用程序类型
当制定移动测试策略时,你必须清楚了解可能需要测试的应用程序。移动应用程序可分为本地应用程序(Native App), 网络应用程序(Web App)和混合应用程序(Hybrid App)。
Native应用程序
Native App是专为移动操作系统所建,并直接安装到该设备上。
用户通常通过网上商店或市场(如App Store)获取这些应用程序。
Native App是用本地编程语言构建的。例如:iPhone或iPad apps是用ObjectiveC构建的,Android apps是用Java构建的。Native App速度快,提供更好的用户体验和界面,并且通常可以获取目标设备的所有功能。
Native Apps的功能包括:
存储。二进制“可执行映像”,被明确下载并存储到移动设备的文件系统中。安装过程可以由用户,或者在某些情况下,由企业的IT部门开启。
分布。获得Native Apps常见的方法是去有相关特定设备的应用程序商店或市场(iTunes有iPhone或iPad的apps,安卓市场有Android Apps),或者通过企业分配机制获取。