博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Monkey测试结果分析
阅读量:5057 次
发布时间:2019-06-12

本文共 2205 字,大约阅读时间需要 7 分钟。

一. 初步分析方法:
 
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测试才算它是一个稳定性足够的程序。

转载于:https://www.cnblogs.com/ydnice/p/5788066.html

你可能感兴趣的文章
了解数据库技术
查看>>
任务八:响应式网格(栅格化)布局
查看>>
Msysgit中文乱码解决方法
查看>>
jquery总结
查看>>
python添加pip本地源
查看>>
python
查看>>
git tag推送小分析
查看>>
数论及其应用——素数问题
查看>>
MTK Socket学习——HTTP请求
查看>>
svn .externals 属性
查看>>
Java复制文件
查看>>
Swift 4 经典数据结构 Data Struct大全
查看>>
sql语句大全(db2、oracle、mysql、sql server)
查看>>
Robot Framework环境搭建步骤
查看>>
AttributeError: module 'pip' has no attribute 'main'
查看>>
python3.X中简单错误处理,和Python2区别
查看>>
防止你的iPhone程序遭盗版(入门篇)
查看>>
cocos2d查看OpenGL当前所绑定的纹理
查看>>
详解用em替换px
查看>>
win10家庭版启用远程桌面
查看>>