一、分类

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利用JDK调用并执行js源码

    前言: 不同开发语言之间具有通用性,更具有协作调用的可能.有时候对于一些场景会有调用js的需求,因此下面展示了一个java利用自身JDK调用js函数的demo,供感兴趣的朋友参考. js函数文件 ex ...

  2. 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第六章:使用定性数据解答"为什么"的谜团 当我走进一家超市,我不希望员工会认出我或重新为我布置商店. 然而, ...

  3. 封装js的部分兼容性

    //获取标签的内容(兼容所有浏览器)function getInnerText(element) { //能力检测(先判断如果这个能力有这个) if(typeof element.innerText ...

  4. C#设计模式

    自从上次记录完“重构之道”以后,查询设计模式挺麻烦的.就打算把原先写的设计模式系列合并一下. 设计原则 使用设计模式的根本原因就是适应需求变化,提高代码的复用率,使程序更具有扩展性和可维护性. SOL ...

  5. android studio关联genymotion模拟器,未显示设备

    如以下截图所示,在搭建android studio+genymotion时,遇到android studio关联genymotion时,显示不出模拟器设备,请问有没有遇到此现象的朋友,分享下解决方法, ...

  6. MSSQLServer中组织或分类表的设计及其递归查询

    开篇:项目中用到上下级从属关系的太多太多了,如:组织.分类.行政区域,这里不再一一介绍,遇到这种的如何去进行数据库表的设计及其应用的,个人对往期项目中所涉及到的进行了一些总结. 数据库表设计:表字段一 ...

  7. BOM操作

    BOM操作 //浏览器对象模型 opener=window.open(页面的url,打开方式) opener.document.body.style.background="red" ...

  8. svn提交时提示 Aborting commit: remains in conflict 解决办法

    出现在rename一个目录时,再提交时一直报错 Aborting commit: remains in conflict 使用右键菜单 svn - resolve 即可解决.用cleanup之类的都没 ...

  9. Codeforces Round 319 # div.1 & 2 解题报告

    Div. 2 Multiplication Table (577A) 题意: 给定n行n列的方阵,第i行第j列的数就是i*j,问有多少个格子上的数恰为x. 1<=n<=10^5, 1< ...

  10. 多Form界面控件状态变化问题分析

    假定有frmA,frmB,frmC三个界面,当frmA中触发显示frmC与frmB触发显示frmC时显示界面不同,或者让frmC上的某个按钮不可用,此时应该在如何来控制frmC的显示.是采用在frmC ...