Daniel Knott 用过各种不同编程语言和软件质量保证工具。他在软件开发和测试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议,他负责测试管理,测试自动化和测试执行。Daniel现在是XING移动和XING API团队的质量保证团队领导。在XING移动团队里,他还是负责XING安卓和iPhone Apps的测试管理和测试自动化。Daniel在包括像Robotium, KIF (Keep It Functional), Selenium and Java一类工具的软件测试自动化方面经验丰富。他还在各类敏捷大会上作了陈述且定期发表到他的博客上和XING博客上。
压力测试和中断测试是移动测试中的重要部分。有了工具的帮助,移动测试员就能确定app可能存在的性能或稳定性方面的问题。为了测试你app的中断情况,你可以在使用app时手动触发设备的多个通知。通知可以是讯息,来电,app升级或推送通知(软件中断)。按音量增减按钮或任何其他硬件按钮都是一种会对你的app产生影响的中断。所有的任务都手动完成意味着工作量很大且很耗时。多数情况下,那些测试场景无法手动完成,因为很难用一两只手模拟快速且多用户的输入。但用工具的话就可以轻松完成,而且集成到开发和测试流程中也变得相当简单。
安卓Monkey工具
对于安卓app,可以使用Monkey[MON01]工具,它是安卓软件开发工具包(SDK)。Monkey工具在物理设备或仿真器上都可以运行。运行时它生成虚拟随机的用户事件比如触摸,点击,旋转,重击,减低音量,关闭网络连接等对app进行压力测试,看看app是如何处理所有这些输入和中断的。你需要安卓apk文件的安装包名来执行Monkey工具,不然该工具就会针对整个手机执行其的随机命令而不是只对被测APP了。有了app代码,就可以在AndroidManifest.xml中找到安装包名。如果只有编译的apk文件,移动测试员可以使用Android Asset 打包工具 [AAP02] (AAPT),从app上获得安装包名。AAPT位于安装好的Android SDK的build-tools文件夹中。AAPT的路径如下:
用下面的命令,可以从apk文件中读出安装包名。
输入就会如下所示:
如果有了安装包名(本例中是com.myApp),就用adb (Android Debug Bridge) [ADB03]执行Monkey。下列命令将开始Monkey:
2000年表明了Monkey将在app上执行的随机命令的数量。有一个额外的参数, Monkey将再次生成相同序列的事件。这对Monkey执行期间再现一个bug真的很重要。
UI AutoMonkey
对于iOS app来说,还可以使用一个类似的工具——UI AutoMonkey [UIA04]。UI AutoMonkey也能生成多个命令来对iOS app进行压力测试。要使用UI AutoMonkey,UIAutomation工具模板就要配置Xcode。配置好了之后,需要写一个JavaScript文件讲明压力测试期间需要执行多少以及哪些命令。
UI AutoMonkey样例脚本
如果写了脚本,就可以在Xcode中对iOS app进行压力测试。在测试运行结束时,两种工具都会生成一个关于app中可能发生的错误或问题的概述。
注意:详细安装说明和完整的样例脚本在工具制造商网站上都可以找到。
两种工具都能集成到一个连续的集成系统中以便在每个命令后自动运行。对移动app进行压力和中断测试相当简单,且应该成为移动测试策略的一部分。此外,它还会对测试员产生巨大的利益,帮助团队建立一个稳定可靠的移动app。
PerformanceRunner (性能测试软件):http://www.spasvo.com/Products/PerformanceRunner.asp
版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/20141112144940.html