zoukankan      html  css  js  c++  java
  • monkey测试结果分析

    Monkey测试结果分析
    一. 初步分析方法:

    Monkey测试出现错误后,一般的差错步骤为以下几步:

    1、 找到是monkey里面的哪个地方出错

    2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作

    3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

    一般的测试结果分析:

    1、 ANR问题:在日志中搜索“ANR”

    2、 崩溃问题:在日志中搜索“Exception”

    二. 详细分析monkey日志:

    将执行Monkey生成的log,从手机中导出并打开查看该log;在log的最开始都会显示Monkey执行的seed值、执行次数和测试的包名。

    1.首先我们需要查看Monkey测试中是否出现了ANR或者异常,具体方法如上述。

    2.然后我们要分析log中的具体信息,方法如下:

    ①查看log中第一个Switch,主要是查看Monkey执行的是那一个Activity,譬如下面的log中,执行的是com.tencent.smtt.SplashActivity,在下一个swtich之间的,如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。

    :Switch:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.tencent.smtt/.SplashActivity;end

    // Allowing start of Intent {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=com.tencent.smtt/.SplashActivity } in package com.tencent.smtt

    ②在下面的log中,Sending Pointer ACTION_DOWN和Sending Pointer ACTION_UP代表当前执行了一个单击的操作;

    Sleeping for 500 milliseconds这句log是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。

    SendKey(ACTION_DOWN) //KEYCODE_DPAD_DOWN 代表当前执行了一个点击下导航键的操作;

    Sending Pointer ACTION_MOVE 代表当前执行了一个滑动界面的操作。

    :Sending Pointer ACTION_DOWN x=47.0 y=438.0

    :Sending Pointer ACTION_UP x=47.0 y=438.0

    Sleeping for 500 milliseconds

    :SendKey (ACTION_DOWN): 20 //KEYCODE_DPAD_DOWN

    :SendKey (ACTION_UP): 20 //KEYCODE_DPAD_DOWN

    Sleeping for 500 milliseconds

    :Sending Pointer ACTION_MOVE x=-2.0 y=3.0

    :Sending Pointer ACTION_MOVE x=4.0 y=-3.0

    :Sending Pointer ACTION_MOVE x=-5.0 y=-3.0

    :Sending Pointer ACTION_MOVE x=3.0 y=4.0

    :Sending Pointer ACTION_MOVE x=-4.0 y=1.0

    :Sending Pointer ACTION_MOVE x=-1.0 y=-1.0

    :Sending Pointer ACTION_MOVE x=-2.0 y=-4.0

    ③如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;// Monkey finished代表执行完成。Monkey执行中断,在log的最后也能查看到当前已执行的次数。Monkey执行完成的log具体如下:

    Events injected: 6000

    :Dropped: keys=0 pointers=9 trackballs=0 flips=0

    ## Network stats: elapsed time=808384ms (0ms mobile, 808384ms wifi, 0msnot connected)

    // Monkey finished
    三、关于Monkey测试的停止条件

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

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

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

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

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


    ? info.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时发送的各种事件,如触摸事件的位置等等。

    ? error.txt:此文件在手机上的SDCARD中,主要记录了MONKEY测试时产生的一些ANR、强制关闭等异常。

    ? LOG文件:此文件在手机上的LOG文件夹中中,主要主要记录程序对MONKEY测试时的响应情况。

     
  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/zhangwei-qianqian/p/10893069.html
Copyright © 2011-2022 走看看