zoukankan      html  css  js  c++  java
  • Monkey界面版测试工具

    一、前言

    1.什么是Monkey

    顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。 猴子什么都不懂, 只知道乱敲

    2.使用场景

    通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常

    为什么要开展app压力测试?
    (1)、为了提高产品的稳定性;
    (2)、为了提高产品的留存率;

    那什么时候进行压力测试呢?
    首轮功能测试通过以后,等产品稳定,没有太多的 bug 的时候,一般会用 monkey 去测试待测应用的稳定性,健壮性
    (是否会发生闪退,崩溃,无响应)和整机测试

    3.所需环境

    1. adb
    2. jdk
      具体安装这里就不再赘述

    4.具体使用方式及日志分析

    这里我也不做搬运工了
    贴几个自己感觉不错的教程

    5.关于Monkey测试的停止条件

    Monkey Test执行过程中在下列三种情况下会自动停止:

    1.如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。

    2.如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。

    3.如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

    通过多次并且不同设定下的Monkey测试才算它是一个稳定性足够的程序

    二、界面版工具

    1.界面版优势:

    • 无需命令输入,简单易操作,极大提高工作效率;
    • 可根据原生 monkey seed 值或者时间来控制执行次数或者运行时间;

    2.界面展示

    Monkey-GUI

    3.使用方式

    1.打开exe运行程序
    2.选择设备
    3.自行设置事件次数seed值延迟时间、及事件比例
    4.输入要测试的包名
    5.开始执行
    6.查看日志

    4.用chkbugreport把日志转换成html报告

    ChkBugReport介绍

    ChkBugReport是一个开源工具,它可以把你得到的bugreprot解析成适合阅读的html文件。导出的html文件包含了根据bugreport数据得出的图表和分析结论。

    使用

    1.把日志转换为ChkBugReport可解析的格式
    adb shell bugreport > log/bugreport.txt 转换过程比较慢,耐心等待,报错不用管

    2.解析日志并转换为html报告
    java -jar chkbugreport.jar log/bugreport.txt

    3.打开logugreport_outindex.html即可

    monkey_report

    4.报告释义

    • system log:系统日志
    • Log level distribution:日志级别分布
    • kernel log:内核日志
    • event log:事件日志
    • raw data:原始数据

    目前ChkBugReport可以从bugreport数据中抽取出如下信息:

    1、Stacktraces
    ChkBugReport可以从bugreport中解析出输出bugreport的最后时刻、导致ANR时刻甚至更多时刻的堆栈信息。在例子中你可以看到进程的优先级和策略都已标示出来,堆栈中耗时的部分颜色是黑红,一些违反Strict Mode的部分(比如主线程中使用数据库)颜色标记为亮红。如果这个线程死锁,在报告的Errors将会出现。

    2、Logs
    这部分是对system、main和kernel日志的分析,在这里你可以看到每个进程内存使用图、那个程序产生的log最多、Activity的启动耗时、数据库操作耗时统计、对象被锁定时间、AIDL调用时间、Activity和Service的生命周期及其在内存中使用频率等等,详见

    3、Packages
    ChkBugReport解析bugreport中存储的packages.xml并展示一系列的packages、user ids和 permissions。参见

    4、Processes
    操作app过程中产生的系统事件日志、内存使用信息等等,参见

    5、Battery statistics
    电池使用统计信息,参见

    6、CPU Frequency statistics
    CPU频率统计信息,参见

    7、Raw data
    被分割成小段的原始数据

  • 相关阅读:
    JavaScript相关知识
    JQ定义
    将博客搬至CSDN
    javascript权威指南笔记(第6章 对象)
    高性能javascript(第一章 加载和运行)
    javascript高级程序设计笔记(第4章 变量、作用域和内存问题)
    浏览器加载渲染HTML、DOM、CSS、 javascript、image、flash、iframe、src属性等资源的顺序总结
    mac 快捷键
    javascript的执行顺序
    javascript高级程序设计笔记(第1章~第3章)
  • 原文地址:https://www.cnblogs.com/qvchuang/p/monkey.html
Copyright © 2011-2022 走看看