【转】app性能测试和稳定性测试详细介绍
上一篇 /
下一篇 2017-10-20 15:33:12
/ 个人分类:APP性能测试
前提相信大家都对monkey都有一定的认识了,这个文档就是针对想入门的同学简单的介绍一下monkey的知识,monkey环境的搭建和配置,monkey和app性能测试工具结合使用。Monkey简单介绍1、什么是monkey?Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试目的:测试软件的稳定性、健壮性。2、monkey的特征(1)测试的对象仅为应用程序包,有一定的局限性。(2)Monky测试使用的事件流数据流是随机的,不能进行自定义。(3)可对MonkeyTest的对象,事件数量,类型,频率等进行设置。环境搭建与配置1、搭建monkey的运行环境,安装JDK和SDK,我的运行环境是基于windows平台的。(1) 下载安装JDK ,下载完成之后点击安装,默认安装就可以了,然后设置JDK的环境变量右击“计算机”->属性->高级系统设置->环境变量->A、在系统变量里新建JAVA_HOME变量,变量值为:C:\Program Files\Java\jdk1.6.0_14(根据自己的安装路径填写);B、新建classpath变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;C、在path变量(已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)。D、“开始”-->“运行”-->输入cmd->在命令行输入“javac”-->"Enter",如果能正常打印用法说明配置成功!可以在公司共享文档里下载\文件共享\常用工具\开发工具 环境变量的解析:JAVA_HOME:jdk的安装路径classpath:java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径。path:系统在任何路径下都可以识别java,javac命令。(2)下载SDK for Windows 解压:android-sdk-windows 到D:盘根目录可以在公司共享文档里下载 \文件共享\常用工具\测试工具sdk.zip (3)设置SDK的环境变量右击“计算机”->属性->高级系统设置->环境变量->点击Path,编辑,将“D:\android-sdk-windows\platform-tools”添加到变量值中,与之前的变量值用“;”隔开。(4)sdk安装路径中platforms存在就不用看了(如果SDK无法自动下载platforms,手工下载Android sdk 2.1,将android-2.1_r01-windows.zip文件解压之后放到android-sdk-windows\platforms)(5)点击USB连接手机,开始->运行->输入cmd->在命令行输入 adb devices,看是否能检查到设备,如图(6)adb devices检测不到设备怎么办呢?如果你在命令行输入adb devices检测不到你的设备,可以去查看一下你的adb.exe进程有没有启动,如果这个进程没有启动你的设备肯定是检测不到的说明:adb全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).它的主要功能有:* 运行设备的shell(命令行)* 管理模拟器或设备的端口映射* 计算机和设备之间上传/下载文件* 将本地apk软件安装至模拟器或android设备如果你的adb.exe进程一直无法启动,可能是端口被其它程序给占用了,你可以自己创建一个adb.exe的端口。在创建之前你可以在命令行通过netstat查看一下你要设置的这个端口有没有被程序占用“开始”-->“运行”-->输入cmd->在命令行输入netstat -ano |findstr "25025",如果查看没有进程,说明这个端口没有占用。接下来在电脑->属性->高级系统设备->环境变量->系统变量,新建一个adb.exe的端口值,如图是我自己创建的:然后启动adb的服务,“开始”-->“运行”-->输入cmd->在命令行输入adb start-server->Enter,如图然后在命令行输入adb devices看是否检测到你的设备,如图(6)接下来可以运行Monkey Test的命令如:monkey –p com.qq –v 1000 com.qq(需要测试的包)一般情况可以通过这个命令来跑你的程序了,但下面来介绍一个辅助工具,它更好用,除了执行monkey,还可以分析monkey执行结果。工具介绍我们暂且叫这个工具moto,这个要感谢我们公司的同学,提供这个好工具。下载路径:\文件共享\常用工具\测试工具\app测试实用\性能测试 (1)工具介绍:自动安装apk、自动执行monkey、自动分析monkey执行结果(2)工具使用方法,先设置好run_monkey这个文件中的参数,如图mra.jar使用方法Usage: java -jar mra.jar -options [args...] 指定要连接设备的相关信息,要执行程序的相关信息--device-id <ids...> 连接手机设备ID--single-duration <duration> 单个monkey执行时间--series-duration <duration> 所有monkey执行时间--pkg-path <package-path> 执行程序包的路径--pkg-name <package-name> 执行程序包的名称--pkg-version <package-version> 执行程序包的版本moa.jar使用方法Usage: moa -options [args...] -dirs [dirs...] 指定要执行分析的monkey的目录,其中包含了一些子目录,这些子目录中有某一次monkey执行结果。 如果指定了多个目录,目前不会对多个目录中的Crash做去重-duration <duration> 总的monkey测试的执行时间(小时(8 or 4.5))-monkey <fileName> monkey log文件的文件名-bugreport <fileName> bugreport文件的文件名-logcat <fileName> logcat文件的文件名-trace <fileName> traces文件的文件名-properties <fileName> 每一次monkey测试时生成的执行情况文件的文件名例如辣妈帮的配置如下java -jar mra.jar --device-id b2dac295 --user-name nieyayun --pkg-path .\\LaMaBang_avivo_20150924150434.apk --pkg-name com.wangzhi.MaMaHelp --pkg-version 6.9.6 --single-duration 1 --series-duration 1java -jar moa-1.5.jar -dirs .\\logs -monkey monkey_log.txt -logcat logcat_log.txt -bugreport bugreport_log.txt -trace traces_log.txt -properties properties.txt -duration 1pause将moto这个目录放置在你本地的某个盘目录下,下面是我的目录:(3)然后安装app性能监控工具,如:GT,Emmagee,AnotherMonitor,下载路径:建议:经过这几天的测试,还是觉得moto和AnotherMonitor结合用比较好。在手机上直接安装AnotherMonitor.apk即可(4)一切准备就绪,手机连上电脑,双击run_monkey文件,如下图是已连接到设备,程序包安装成功,monkey开始执行了。注意:在monkey开始执行之前,需要你启动你手机里AnotherMonitor,并确保除**otherMonitor之外没有其它程序在运行。(5)monkey执行完后,会自动重启手机,且命令行里会看到monkey test series finished,如图。然后你可以看到moto/logo路径下已经生成了一个报告,是monkey自动分析测试结果的报告Crash /崩溃,闪退ANR /程序无响应这个路径下有各种日志:(6)在你测试手机的根目录下有个AnotherMonitor目录,里面还有AnotherMonitor监控到的手机cup,内存等指标数据,如图可以自己去分析,整理这个结果,性能分析和调优是个很有技术量的活,大家可以研究一下,后面给大家分享!附件对于app性能监控工具有很多,这里有GT的介绍文档,GT其实可以监控到更多的指标,但它的不足是不能在你监控的过程中自动保存结果,需要执行完后手动的保存,希望腾讯后面会优化吧。供大家下面去研究:双击打开下面pdf文件 **上面涉及到的工具都很大,感兴趣的朋友可以联系我,发你们邮箱。小编的微信:nyy911314
收藏
举报
TAG: