zoukankan      html  css  js  c++  java
  • monkey测试===Monkey测试结果分析(系列三)转

    Monkey测试结果分析

    一. 初步分析方法:

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

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

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

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

    一般的测试结果分析:

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

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

    二. 详细分析monkey日志:

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

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

    然后我们要分析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测试的og分析,我们可以通过几个关键词来判断测试是否通过。

    1)Monkey finished
    打开LOG,查看log的最下端,是否有类似以下字段:
    ## Network stats: elapsed time=5123ms (5123ms mobile, 0ms wifi, 0ms not connected)
    // Monkey finished
    这个字段表明本次的Monkey没有异常,测试通过。

    2)CRASH


    同样,在得到LOG后,搜索”CRASH”字段,如果搜索到有结果,则表明有进程出现问题,测试不通过。
    // CRASH: com.onekchi.downloadmanager (pid 12919)

    3)ANR
    在Log中搜素该字段,如果有搜索有结果,则表示测试过程中,测试对象出现了无响应的现象,因此测试不通过。--throttle <毫秒>值建议为500

    4)无法搜索到上述信息
    出现这种情况,一般都是外界原因而非程序本身原因。比如电脑异常测试中断,需要重新测试。


    作者:玄武湖
    链接:https://www.zhihu.com/question/26028428/answer/122778307
    来源:知乎
  • 相关阅读:
    你好毒
    Sketchup创建屋顶插件
    sketchup实体开洞插件holeonsolid
    SolidWork支架模型
    让WebForm异步起来
    正则表达式点滴(2)
    异步调用之精简方式
    浅谈C#中常见的委托
    基于异步方式的语法着色器
    利用WPF的ListView进行大数据量异步加载
  • 原文地址:https://www.cnblogs.com/botoo/p/7906180.html
Copyright © 2011-2022 走看看