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

首先测试的对象、目的及类型如下:

  • 测试的类型

    • 应用程序的稳定性测试
    • 应用程序的压力测试
  • 测试对象

    • 单一 apk
    • apk 集合
  • 测试的目的

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

应用程序的稳定性测试

针对单个apk

  • 不忽略异常

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

例如:

monkey -p com.android.mms --throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &

  • 忽略异常

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

例如:

monkey -p com.android.mms --throttle 1000 -s 100--ignore-crashes --ignore-timeouts --ignore-security-exceptions--ignore-native-crashes --monitor-native-crashes -v -v -v 15000 >/mnt/sdcard/monkey_test.txt &

针对多个 apk

  • 不忽略异常

例如:

monkey --pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 -v -v -v 15000 > /mnt/sdcard/monkey_test.txt &

  • 忽略异常

例如:

monkey --pkg-whitelist-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 > /mnt/sdcard/monkey_test.txt &

应用程序的压力/健壮性测试

应用程序的压力/健壮性测试,其主要是缩短 monkey 测试中事件与事件之间的延迟时间,验证在快速的事件响应的过程中,程序是否能正常运行。这种压力/健壮性测试主要是针对单一 apk 来执行;我们可以将 --throttle 的值设定为 500 或者更小,一般都使用 500 毫秒的延迟事件。

在进行 apk 的集合测试时,对于高频率使用的 apk、长时间使用的 apk 都要包含在执行的应用程序中间。

APK分类具体:

  • 高频率使用的 apk 如:Phone、Contacts、Message、Settings、File Manager、Gallery、Input Method
  • 长时间使用的 apk 如:Phone、Browser、Music player、Camera、Video player、Email、Chat
  • 其他的 apk 如:Calendar、Notepad、Calculator、FM Radio、Google Search

Android Monkey 测试策略【转】的更多相关文章

  1. Android Monkey测试

    Monkey测试1——Monkey的使用 原文地址: http://www.douban.com/note/257029872/ (转自豆瓣,版权属于豆瓣及豆瓣网友,如有冒犯请见谅并联系我们) Mon ...

  2. Android monkey介绍

    Android monkey介绍 原文地址 1 简略 monkey是android下自动化测试比较重要的的一个工具,该工具可以运行在host端或者设备(模拟器或真实设备).它会向系统发送随机事件流(即 ...

  3. 如何停止Android Monkey脚本

    如何停止Android Monkey脚本 最近用monkey来包apk的性能测试,发现一旦monkey跑起来以后,即使将数据线和PC断开,monkey脚本还是会继续运行下去.结果找到了一个办法去停止它 ...

  4. Android Monkey压力测试环境搭建及使用

    Android Monkey压力测试学习笔记 步骤:下载SDK -> 解压进入SDK Manager下载系统 -> 配置环境变量 -> 创建虚拟设备或连接真机 -> 进入命令模 ...

  5. [原创]Android Monkey 在线日志分析工具开发

    [原创]Android Monkey 在线日志分析工具开发 在移动App测试过程中,Monkey测试是我们发现潜在问题的一种非常有效手段,但是Android原生的Monkey有其天然的不足,数据不能有 ...

  6. [原创]Android Monkey测试工具使用介绍

    [原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...

  7. 【转】Android Monkey 命令行可用的全部选项

    常规 事件 约束限制 调试 原文参见:http://www.douban.com/note/257030384/ 常规 –help 列出简单的用法. -v 命令行的每一个 -v 将增加反馈信息的级别. ...

  8. Monkey测试2——Monkey测试策略

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

  9. monkey测试===Monkey测试策略(系列二)转

    Monkey的测试策略 一. 分类 Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象.目的及类型如下: 测试的类型分为:应用程序的稳定性测试和压力测试 测试对象分为:单一a ...

随机推荐

  1. Java 集合:HashSet 与 ArrayList

    Set 集合是无序不可以重复的的.List 集合是有序可以重复的. Java 集合:HashSet 与 hashCode.equals 博客里面已经说到这个问题,但是解释的还是不够清楚. 看一个小例子 ...

  2. android 轮播图

    轮播图是很常用的一个效果 核心功能已经实现 没有什么特殊需求 自己没事研究的 所以封装的不太好 一些地方还比较糙 为想要研究轮播图的同学提供个参考 目前测试图片为mipmap中的图片 没有写从网络加载 ...

  3. node.JS中配置http-server

    http-server 是一个简单的HTTP服务器, 基于 nodeJs,在nodejs命令行中配置http服务器. 项目结构:

  4. OpenGL的状态机理解

    OpenGL是一种状态机模式,比如你用glEnable打开一个状态,在以后的绘图中将一直保留并应用这个状态,除非你调用glDisable及同类函数来改变该状态或程序退出.例如当前颜色是一个状态变量,可 ...

  5. cocos2d基本类介绍 director/scene/layer/sprite

    [核心类]     导演Director.场景Scene.布景层Layer.精灵Sprite的概念请移步:     导演控制场景,场景控制图层,图层控制精灵,精灵控制动作.     相互之间的关系框架 ...

  6. LintCode ---- 刷题总结

    对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始).如果不存在,则返回 -1. 基本:两重for循 ...

  7. C#笔记(一)常量

    常量必须在声明时初始化 常量的值必须能在编译时用于计算.因此,不能用从一个变量中提取的值来初始化常量. 常量总是静态的.但注意,不必(实际上,是不允许)在常量声明中包含修饰符static .

  8. Win32窗口

    #include <Windows.h> #include <CommCtrl.h> #pragma comment(lib, "comctl32.lib" ...

  9. asp.net 如何引用dll

    这要看你引用dll文件是什么文件,是单纯的类库还是外部或自定义控件dll文件. 如果是类库dll文件,引用的步骤是这样的:在解决方案管理器中,选中要添加引用的项目或网站-右击-添加引用-选择要添加的d ...

  10. swift 经典代码收集 和 赏析

    代码1:protocol PickableEnum { var displayName: String { get } var permanentID: String { get } static v ...