一、分类

Monkey测试针对不同的对象,不同的目的,采用不同的测略方案。

测试类型分为:

应用程序的稳定性测试和压力测试

测试对象分为:

单个APK和多个APK集合

测试目的分为:

解决问题的测试(忽略异常)和验收测试(不忽略异常)

二、稳定性测试

1、针对单个APK

1)不忽略异常的测试

例如:

adb shell monkey -p com.android.browser --throdttle 1000 -s 100 -v -v -v 15000 >f:\monkey_log.txt

在进行单个APK的验收测试时,则使用单一APK且不忽略异常的使用命令执行。

2)忽略异常的测试

在进行单个APK的解决问题的测试时,则使用单一APK且忽略异常的命令执行,这样可以在一次执行的过程中发现应用程序的多个问题。

例如:

adb shell monkey -p com.android.browser --throttle 1000 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-carshes --monitor-native-crashes -v-v-v 15000 >f:\monkey_log.txt

2、APK集合(针对多个APK)

通过白名单对APK集合进行测试,命令:--pkg-whitelist-file

1)不忽略异常的测试

例如:

adb shell monkey -pkg-whilelist-file /data/whitelist.txt --thorttle 1000 -s 100 -v -v -v 15000 >f:\monkey_log.txt

2)忽略异常的测试

例如:

adb shell monkey -pkg-whilelist-file /data/whitelist.txt --throttle 1000 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-carshes --monitor-native-crashes -v-v-v 15000 >f:\monkey_log.txt

解释:

--ignore-crashes:

用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成。

--ignore-timeouts:

用于指定当应用程序发生ANR(Application No Responding)错误时,Monkey是否停止运行。如果使用此参数,即使应用程序发生ANR错误,Monkey依然会发送事件,直到事件计数完成。

--ignore-security-exceptions:

用于指定当应用程序发生许可错误时(如证书许可,网络许可等),Monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,Monkey依然会发送事件,直到事件计数完成。
--ignore-native-carshes:
忽略本地代码导致的崩溃
--monitor-native-crashes :
用于指定是否监视并报告应用程序发生崩溃的本地代码。
三、压力测试/健壮性测试
1、针对单个APK
主要是缩短Monkey测试中事件与事件之间的延迟时间,验证在快速的事件的响应过程中,程序是否能正常运行。
可以将--throtthle的值设定为500毫秒,或者更小,一般都使用500毫秒的延迟事件。
2、多个APK集合
进行多个APK集合测试时,对于高频率使用的APK,长时间使用的APK,都要包含在所执行的应用程序中间。
3、APK的具体分类:
高频率使用的APK:
电话(phone),联系人(contacts),短信(message),图库(Gallery),设置(settings),文件管理(file manager),输入法(input method)
长时间使用的APK:
电话(phone),浏览器(browser),音乐播放器(music player),视频录制(video player),相机(camera),邮件(email),聊天软件(chat)
其它的APK:
日历(calendar),记事本(notepad),计算器(calculator),谷歌搜索(goolge search),收音机(FM Radio)
 
参考文档:
http://www.cnblogs.com/liu-ke/p/4353930.html#undefined
注意:
1、代码的执行环境是在dos命令行中
2、有装好adb,并有启动手机模拟器,或者连接手机

monkey之三:monkey测试测略(摘抄)的更多相关文章

  1. 手把手用Monkey写一个压测脚本

    版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 允许有条件转载,转载请附带底部二维码. 一.为什么需要一个测试脚本? 昨天讲解了Android Monkey命 ...

  2. monkey命令行测试

    一. 什么是Monkey monkey是google提供的一个用于稳定性与压力测试的命令行工具.monkey程序由android系统自带,位于/sdcard/system/framework/monk ...

  3. monkey之monkey简介

    1.Monkey 是什么 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序 ...

  4. Monkey Patch/Monkey Testing/Duck Typing/Duck Test

    Monkey Patch Monkey Testing Duck Typing Duck Test

  5. Android Testing学习01 介绍 测试测什么 测试的类型

    Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...

  6. Visual Studio 单元测试之三---压力测试

    原文:Visual Studio 单元测试之三---压力测试 我们都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio自带的Test也可以做些简单的压力测试,下面我们就介绍一 ...

  7. 【Monkey】Monkey稳定性测试常用命令

    Monkey稳定性测试常用命令: 1.adb shell monkey n 2.adb shell monkey -p  com.android.calculator2 1000 3.adb shel ...

  8. Monkey进行压力测试定位问题分析

    Monkey测试的log分析,我们可以通过几个关键词来判断测试是否通过.   分析log方法一(粗糙一点): 1)Monkey finished打开LOG,查看log的最下端,是否有类似以下字段:## ...

  9. 利用Monkey进行APP测试

    APP测试策略 功能测试 安装.卸载测试 升级测试(跨版本) 数据丢失 版本兼容 业务逻辑测试 UI测试 异常测试 适配测试 软件 兼容性测试 硬件 性能测试 效率测试 启动时间 响应时间 页面流畅度 ...

随机推荐

  1. java第二周周学习总结

    java运算符和循环 java运算符 一.for 语句 for 语句的基本结构如下所示:for(初始化表达式;判断表达式;递增(递减)表达式){    执行语句;   //一段代码} 初始化表达式:初 ...

  2. 关于repaint(重绘)和reflow( 回流)

    repaint就是重绘,reflow就是回流.repaint主要是针对某一个DOM元素进行的重绘,reflow则是回流,针对整个页面的重排 严重性: 在性能优先的前提下,性能消耗 reflow大于re ...

  3. linux下安装jdk

    第一步:查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带OpenJdk,用命令 Java -version ,会有下面的信息: Javaversio ...

  4. BZOJ4516: [Sdoi2016]生成魔咒

    果然SA比SAM+map快~加了fread目前rank1. 首先这是SAM裸题,然而SA求本质不同子串个数也很容易.考虑倒着建SA,这样没错加一个字符就变成加一个后缀,其他后缀都不变,那么i的答案就是 ...

  5. js事件流

    event:事件对象,当一个事件发生的时候,和当前这个对象发生的这个事件有关的一些详细的信息都会被临时保存在一个指定地方-event对象,供我们在需要调用.event对象必须是在一个事件调用的函数里 ...

  6. UP Board 串口使用心得

    前言 原创文章,转载引用务必注明链接. 本文使用Markdown写成,为获得更好的阅读体验和正常的图片.链接,请访问我的博客: http://www.cnblogs.com/sjqlwy/p/up_s ...

  7. eclipse maven项目错误

    eclipse maven项目错误:Failure to transfer org.codehaus.plexus:plexus-interpolation:jar:1.15 from http:// ...

  8. 搭建NFS服务器

    1:yum install -y nfs-utils-* portmap-* 2:NFS安装完毕,需要创建共享目录,共享目录在vi /etc/exports文件里面配置,可配置参数如下: /data/ ...

  9. NancyFX 简介

    Nancy是.NET 平台的微框架.在受到Ruby社区的Sinatra框架启发下,NancyFx框架提供一个.NET平台下的低门槛.易上手的可用于Web开发工具包. 请注意我说的是可用于Web开发,这 ...

  10. 2.2、Hibernate用注解方式实现一对多、多对多关系

    一.一对多关系 1.在上一篇日志中用.xml配置文件项目基础上,再往lib目录先添加一个包-hibernate-jpa-2.0-api-1.0.0.Final.jar 2.新建一个com.st.bea ...