一、分类

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. phpcms二次开发中无法获取SESSION的值

    今天在在phpcms开发留言板用到验证码,提交数据,后台无法$_SESSION['code']无法获取验证码值,也无法打印var_dump($_SESSION)值,我们只需要在文件头部添加如下代码: ...

  2. python-virtualenv(多个独立开发环境)

    1. 安装virtualenv$ sudo yum install python-virtualenv 2. 创建开发环境$ virtualenv env_name 3. 启用开发环境$ cd env ...

  3. JMeter 问题

    1.  JMeter 测试计划 测试计划 使用 JMeter 进行测试的起点,是其它 JMeter 测试元件的容器. 线程组 代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在S ...

  4. javascript 数字格式化

    对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.34 ...

  5. 【APP设计利器】Sketch 41 Mac中文破解版(含汉化插件)

    Sketch是一款拥有美观界面和强大功能适用于所有设计师的专业矢量绘图工具.它旨在为美术设计师创造出一款更优秀的作品,不是复制品,而是提升品.Sketch简约的设计是基于无限的规模和层次的绘图空间,免 ...

  6. Gradle Maven 依赖管理

    仓库管理简介 本质上说,仓库是一种存放依赖的容器,每一个项目都具备一个或多个仓库. Gradle支持以下仓库格式: Ivy仓库 Maven仓库 Flat directory仓库 我们来看一下,对于每一 ...

  7. BFC

    先看一下英文解释:Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cell ...

  8. C# WinForm 技巧:控件截图

    Point screenPoint = 控件.PointToScreen(new Point()); Rectangle rect = new Rectangle(screenPoint, chart ...

  9. hdu 4481 Time travel(高斯求期望)(转)

    (转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...

  10. 在Web工程中引入Jquery插件报错解决方案

    在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...