时间:2024-06-01
李冬睿 邱尚明 刘琳
摘要:随着移动互联网的逐步兴起以及智能手机的不断更新,移动应用的普及以及数量的逐步提升已经成为当前智能手机发展的主要方向,相应的应用测试也发挥着重要的作用。本文将会对Andriod的发展概况做出详细的阐述,并从其测试原理出发,分析Andriod自动化测试工具的测试情况,为自动化测试的发展提供一定的参考。
关键词:Andriod自动化测试;Robotium;移动应用
中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2018)01-0092-02
1 Android测试的原理介绍
Android常用的自动化测试工具框架:
Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk.Android常用的测试框架如图1所示。
2 测试要求
为了实现对Robotium的详细介绍,本文会结合移动端QQ实时聊天工具进行测试,包括登录、聊天、语音等方面的内容。研究过程中所采用的主要指标包含了以下几点:(1)启动时延,它可以来确认应用程序加载过程中所消耗的时间。(2)输入时间,用自动化测试工具传到登录界面并输入账号和密码所用的时间。(3)应用等待时间,即用户在登录成功后进行任意功能所消耗的时间。(4)网络响应时间,在用户进入聊天发送或语音请求后到达对方的响应时间。(5)CPU占用百分比。当Mobile QQ在运行过程中所占据的CPU峰值。(6)内在占用百分比。当Mobile QQ在运行过程中所占据的内存数值。(7)产生流量,运行操作时产生的下行流量。总的来说,测试中会依据上述步骤进行至少60次的测试操作,最终将其结果保留到相应文件中,这样不仅可以有效了解Mobile QQ的运行稳定性,也能为后续开发者的持续改善与优化提供一些新的思路。
3 测试中的准备工作
3.1 签名工具
需要测试的程序会以APK文件的形式进行,其签名为re-sign.Jar,而自动化测试工具Robotium的使用需要将测试程序与被测试程序之间的签名保持一致,因此,在测试准备工作中需要对被测试的程序签名进行修改。当签名被修改之后会形成一项新的APK文件,为后续的测试进行提供支持。
3.2 搭建测试环境
在实施测试的过程中,搭建测试环境是其操作准备工作中的主要内容。本研究中测试环境主要是对JDK以及Android SDK开发工具的安装,确保其运行的稳定性。测试过程中使用的开发包为是robotium-solo-5.0.1.jar,它是一项能够有效通过控件获取来模拟用户操作的软件,这其中包含了输入、滑动、点击等内容。
4 测试过程
在做完相应的准备工作之后,对Robotium的测试便可以按以下几个步骤来进行:
4.1 测试代码
首先,通过创建QQTest测试文件,将新获取签名的测试程序当作测试工程,并将签名导入进去,编写测试用例。第二,根据测试要求所指出的几项测试指标进行测试,这些时间的统计上计算方法大多相似,在对各项指标时间测试的开始与结束时获取相应的系统时间,以此来确认最终的结果。第三,测试指标中涉及的下行流量以及CPU峰值,在测试方法上比较相似,本文从4.2.2版本的Android系统开始一项trafficstats类,并为每一项程序安装时提供单独的UID,并将流量信息传入到手机相应目录下。部分测试代码如下:
public void testQQ() throws Exception{
//獲取当前的测试app的名称
String appName = solo.getCurrentActivity().getClass().getSimpleName();
System.out.println(appName);
solo.getButton(0).getClass().getSimpleName();
solo.assertCurrentActivity(“Expected login activity”, appName);
System.out.println(solo.getButton(0).getText());//获取第一个Button的名称
solo.clickOnButton(“登录”);
}
4.2 测试执行
在测试阶段主要使用的执行方法有两项,一种是利用Eclipse来将计算机与手机设备相互连接,并利用Run as Android JUnit Test来运行相关的测试工程;另外一种则是通过命令行的方式来进行执行。将测试代码编写为APK文件,并将其安装到模拟器或者手机设备中,然后让其能够利用adb命令来实现脚本的运行。
5 测试结论
根据上述步骤进行测试,从打开应用、QQ登录、打开聊天界面发送文字聊天的时间总共持续了45秒,这是自动化测试所得出的结果。如果利用人工方式的测试,则很难达到这个状态,不仅重复性枯燥的工作让人难受,浪费了大量的人力,也容易导致工作效率低下,测试稳定性与准确性难以得到保障。因此,通过测试工具Robotium则可以很好的解决上述问题,其持续性自动化的测试也帮助快速获取到相应的测试结果,以此来解决相关的问题。根据上文对Mobile QQ的测试我们发现,其操作流畅,在黑盒测试中用例编写简单,且测试执行效率较高,可读性强,能够同时在多个设备中保持正常运行状态,从而为Android手机应用程序测试提供了新的发展方向。
参考文献
[1]祝阳阳,侯永宏,王宝亮. Android自动化测试工具Robotium的应用与研究[J].信息技术,2015(10):198-200+205.
[2]郑婷婷,黄英持.Android应用的多设备自动化测试实现[J].软件导刊,2016,15(02):95-97.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!