Android平台monkey测试介绍-mj01[恢复]课件.ppt

上传人(卖家):晟晟文业 文档编号:4376633 上传时间:2022-12-03 格式:PPT 页数:25 大小:194KB
下载 相关 举报
Android平台monkey测试介绍-mj01[恢复]课件.ppt_第1页
第1页 / 共25页
Android平台monkey测试介绍-mj01[恢复]课件.ppt_第2页
第2页 / 共25页
Android平台monkey测试介绍-mj01[恢复]课件.ppt_第3页
第3页 / 共25页
Android平台monkey测试介绍-mj01[恢复]课件.ppt_第4页
第4页 / 共25页
Android平台monkey测试介绍-mj01[恢复]课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、凯英 TEST MJAndroid平台Monkey测试简介 Monkey 基本概念 Monkey 环境配置 Monkey 基本语法 Monkey 测试实际应用与分析 Monkey基本概念一、什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法 Monkey基本概念二、Monkey的特征1、测试的对象仅为应用程序包,有一定的局限性。2、Monky测试使用的事件流数据流是随机的,不能

2、进行自定义。3、可对Monkey Test的对象,事件数量,类型,频率等进行设置。Monkey环境配置一、Monkey环境配置1.Java JDK 1.7(JAVA环境变量的配置)2.Android SDK3.Elipse4.真机器、模拟器注意:1.安装真机驱动、设置为usb调试(可通过360手机助手)2.进程中结束360手机助手3.验证方法:cmd adb devices、monkey视频:http:/ 命令可简单分为如下四类:1.基本配置选项:如设置尝试的事件数量,反馈信息的级别 2.运行约束选项:如设置只对单独的一个包进行测试3.事件类型和频率:如设置触摸屏事件的发生频率4.调试选项:如

3、设置忽略应用程序异常,继续向系统发送事件直到计数完成 Monkey基本语法二、Monkey命令的简单帮助要获取Monkey命令自带的简单帮助,在CMD中执行命令:adb shell monkey help Monkey基本语法 Monkey基本语法三、monkey命令参数介绍1)参数:-p参数-p用于约束限制,用此参数指定一个或多个包(Package,即App)。指定包之后,Monkey将只允许系统启动指定的APP。如果不指定包,Monkey将允许系统启动设备中的所有APP。*指定一个包:adb shell monkey p APP 500说明:测试包APP:com.smart_invest.

4、marathonappforandroid事件计数:500(即让Monkey程序模拟500次随机用户事件)*指定多个包:adb shell monkey-p APP-p APP 100*不指定包:adb shell monkey 100说明:Monkey随机启动APP并发送100个随机事件 Monkey基本语法三、monkey命令参数介绍2)参数:-v用于指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别,分别对应的参数如下表所示:日志级别 Level 0 示例 adb shell monkey p APP v 100说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息日志级

5、别 Level 1示例 adb shell monkey-p APP v-v 100说明 提供较为详细的日志,包括每个发送到Activity的事件信息 日志级别 Level 2示例 adb shell monkey-APP v-v v 100说明 最详细的日志,包括了测试中选中/未选中的Activity信息三、monkey命令参数介绍3)参数:-s用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。*示例:Monkey 测试1:adb shell monkey-p app s 10 100Monkey 测试2:adb shell monkey-

6、p app s 10 100 两次测试的效果是相同的,因为模拟的用户操作序列(每次操作按照一定的先后顺序所组成的一系列操作,即一个序列)是一样的。操作序列虽然是随机生成的,但是只要我们指定了相同的Seed值,就可以保证两次测试产生的随机操作序列是完全相同的,所以这个操作序列伪随机的;三、monkey命令参数介绍4)参数:-throttle 用于指定用户操作(即事件)间的时延,单位是毫秒*示例:adb shell monkey-p com.htc.Weather throttle 3000 100三、monkey命令参数介绍5)参数:-ignore-crashes用于指定当应用程序崩溃时(For

7、ce&Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。*示例1:adb shell monkey-p app-ignore-crashes 1000 测试过程中即使app程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;*示例2:adb shell monkey-p app 1000 测试过程中,如果Weather程序崩溃,Monkey将会停止运行。三、monkey命令参数介绍6)参数:-ignore-timeouts用于指定当应用程序发生ANR(Application No Responding)

8、错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。7)参数:-ignore-security-exceptions用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。三、monkey命令参数介绍8)参数:-kill-process-after-error用于指定当应用程序发生错误时,是否停止其运行。如果指定此参数,当应用程序发生错误时,应用程序停止运行并保持在当前状态(注意:应用程序仅是静止在发生错误

9、时的状态,系统并不会结束该应用程序的进程)。9)参数:-monitor-native-crashes用于指定是否监视并报告应用程序发生崩溃的本地代码。三、monkey命令参数介绍10)参数:-pct-+事件类别+事件类别百分比用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮等等 参数:使用说明:示例:-pct-touch+百分比调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)adb shell monkey-p com.htc.W

10、eather-pct-touch 10 1000三、monkey命令参数介绍-pct-motion+百分比调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成)adb shell monkey-p com.htc.Weather-pct-motion 20 1000-pct-trackball+百分比调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)adb shell monkey-p com.htc.Weather-pct-trackball 30 1000-pct-nav+百分比调整“基本”导航事件的百分比(导航事件由

11、来自方向输入设备的up/down/left/right组成)adb shell monkey-p com.htc.Weather-pct-nav 40 1000三、monkey命令参数介绍-pct-majornav+百分比调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)adb shell monkey-p com.htc.Weather-pct-majornav 50 1000-pct-syskeys+百分比调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Ca

12、ll及音量控制键)adb shell monkey-p com.htc.Weather-pct-syskeys 60 1000-pct-appswitch+百分比调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法adb shell monkey-p com.htc.Weather-pct-appswitch 70 1000三、monkey命令参数介绍-pct-anyevent+百分比调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等adb shell

13、 monkey-p com.htc.Weather-pct-anyevent 100 1000*指定多个类型事件的百分比:adb shell monkey-p com.htc.Weather-pct-anyevent 50-pct-appswitch 50 1000注意:各事件类型的百分比总数不能超过100%;Monkey实际应用与分析一、Monkey测试 monkey稳定性测试主要分为以下2种情况:单个APK的稳定性测试 系统稳定性测试 Monkey实际应用与分析二、Monkey常用测试用例单个APK稳定性测试系统稳定性测试 Monkey实际应用与分析三、Monkey测试实例C:Usersa

14、dminadb shell monkey-p com.smart_invest.marathonappforandroid-v v-v 100D:WorkProgramFilesmonkeyshow.txtmonkeyshow.txtMonkeyshow结果分析文件初步分析方法:Monkey测试出现错误后,一般的差错步骤为以下几步:1、找到是monkey里面的哪个地方出错2、查看Monkey里面出错前的一些事件动作,并手动执行该动作3、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样一般的测试结果分析:1、ANR问题:在日志中搜索“ANR”(Applic

15、ation No Responding超时错误(调试增加-ignore-timeouts)2、崩溃问题:在日志中搜索“Exception”CRASH、ANR、JavaCrash、NativeCrash、WindowLeak窗口泄露、Exceeds VM budget coun超过预算统计二.详细分析monkey日志:将执行Monkey生成的log,从手机中导出并打开查看该log;在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。然后我们要分析log中的具体信息,方法如下:查看log中第一个Sw

16、itch,主要是查看Monkey执行的是那一个Activity,譬如下面的log中,执行的是com.tencent.smtt.SplashActivity,在下一个swtich之间的,如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。三、monkey异常停止monkey异常停止,但在monkey log中没有有用log。对于这一类问题,我们首先要排查,手机的adb是否能连接上,是不是有人为的影响,手机是否处于开机状态,是否因为之前电量不足,而测试比较耗电的模块导致了手机低电量关机等。下面的monkelog是在测试计算器时出现了异常停止,但是monkeylog没有直观的log信息(对于此类问题,研发可以通过log搜索到最后一个calendar_time关键字,也就是monkey最后执行时间,并出现异常的时间在adblog中分析具体停止原因。)Thank you 2015.04.30 MJ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Android平台monkey测试介绍-mj01[恢复]课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|