monkey测试结果分析

一、monkey测试log 分析方式

1、monkey命令cmd页面可以直观的查看那块报错

 监控 crash 与 ANR

 adb shell am monitor

2、使用 adb logcat -d > D:\logcat.txt 命令导出log,在LOG中搜索报错的关键字

二、monkey常见的几种错误

1、空指针异常(Null Pointer Exception)

ystem.err: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.startsWith(java.lang.String)' on a null object reference
05-14 08:15:40.541 23818 23901 W System.err: at com.xunlei.downloadlib.XLUtil.getNetWorkCarrier(XLUtil.java:727)

2、进程出现异常(android.process.acore)

CRASH: android.process.acore (pid 1339)

3、debug异常

注:debug异常主要是由于应用程序本身的错误导致的异常。在Monkey测试过程中,该信息同样记录在plog.log (locat中也有该信息)中。一般情况下,出现的该问题,很可能在手动测试时也可以测试到。

(1)、程序进入debug (com.android.browser该进程进入debug)

CRASH: com.android.browser (pid 5683)

(2)、传递的参数非法或被多次调用时出现的异常(IllegalStateException)

// Long Msg: java.lang.IllegalStateException: Connection is not open

4、低内存异常

低内存异常一般情况下,主要表现在出现OutOfMemoryError异常或者提示Out of memory,其后果同样表现为抛出OutOfMemoryError异常或者是通过kill process来杀掉部分进程以释放内存空间,当然如果被kill点关键的进程的话,也就可能导致部分应用会自动的退出。出现该情况时,主要是在进行频繁的进行大量的操作导致的,所以使用手动的方式也是可能进行重现的。

(1)、进程出现异常(com.android.elastos.backup)

// CRASH: com.android.elastos.backup (pid 1581)

(2)、OutOfMemoryError 异常

该异常一般多频繁的操作(即多次调用某个函数,存在申请变量空间未释放)导致的

// Long Msg: java.lang.OutOfMemoryError: bitmap size exceeds VM budget

5、操作无响应异常

(1)、进程无响应(com.android.soundrecorder)

// NOT RESPONDING: com.android.soundrecorder (pid 1931)

ANR in process: com.android.soundrecorder (last in com.android.soundrecorder)

(2)、TimerOut异常

该异常一般出现时一般都会又keyDispatchingTimedOut提示

Annotation: keyDispatchingTimedOut

CPU usage:

Load: 8.24 / 8.41 / 8.25

6、其他异常

(1)、系统重新启动(Restart System)

(2)、RuntimeException等异常, 同样的会在plog.log中可以看到相应的打印信息,

java.lang.RuntimeException该问题多出现在操作无响应之后,或者是某应用的服务无法启动或连接时,需要具体问题具体的分析

(3)、StaleDataException、readException等异常,在plog.log中可以看到相应的打印信息

android.database.StaleDataException,该信息说明android的数据库操作出现异常,需要具体问题具体的分析

转载于:https://www.cnblogs.com/mxmm/p/10861933.html

测试准备: Monkey压力测试时除了添加测试APP,还可另外添加2-3个第三方app进行对比测试。 1.在D盘新建一个txt文件,添加APP包名,命名为whitelist.txt 2.用cmd命令把whitelist.txt文件push到手机 adb push d:\whitelist.txt /data/local/tmp/ 3.压力测试指令monkey -p 包名 [参数] -v (-v -v) 执行次数 >导出log文件 l 对白名单包进行测试 l monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000 1> /mnt/sdcard/monkey_test.txt 2>&1 & 黑名单:不测试的应用 白名单:只测试这部分应用 注意:不能同时设置黑名单和白名单 设置黑名单: --pkg-blacklist-file PACKAGE_BLACKLIST_FILE 设置白名单: --pkg-whitelist-file PACKAGE_WHITELIST_FILE l 对单独的APP进行测试 l monkey-p com.hst.che --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 1000 >/mnt/sdcard/monkey1.txt 说明: --throttle(毫秒)事件之间插入的固定延迟。通过这个选项可以减缓Monkey的执行速度。如果不指定,Monkey将尽可能快的产生并执行事件。 -s 用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。 --ignore-crashes 忽略程序崩溃。设置此选项后,Monkey会执行完所有的事件,不会因crash而停止。 --ignore-timeouts 忽略程序无响应。设置此选项后,Monkey会执行完所有的事件,不会因ANR而停止。 --ignore-security-exceptions 忽略证书或认证异常。设置此选项后,Monkey会执行完所有的事件,不会因认证或证书异常而停止。 --ignore-native-crashes 监视系统中本地代码发生的崩溃 --monitor-native-crashes 忽略本地代码导致的崩溃。设置忽略后,Monkey将执行完所有的事件,不会因此停止。 -v -v –v 提供最详细的设置信息 4.导出log到电脑:pull /mnt/sdcard/monkey.txt d:monkey.txt 分析log l 日志开头:显示本次测试seed值,执行次数,测试包, l 日志结尾: 如果Monkey测试顺利执行完成,在log的最后,会打印出当前执行事件的次数和所花费的时间;Monkey finished代表执行完成。 (如果Monkey执行中断,在log的最后也能查看到当前已执行的次数。) l 日志内容分析 一般测试结果分析-搜索关键字: 1.程序无响应,ANR问题:在日志中搜索“ANR” 2.崩溃问题:在日志中搜索“CRASH” 3.其他问题:在日志中搜索”Exception” 详细分析monkey日志 Switch--查看log中的Switch,主要是查看Monkey执行的是那一个Activity,两个swtich之间如果出现了崩溃或其他异常,可以在该Activity中查找问题的所在。 Sleeping--Sleeping for 500 milliseconds这是执行Monkey测试时,throttle设定的间隔时间,每出现一次,就代表一个事件。 重现问题 Monkey测试出现错误后,一般的查错步骤为以下几步: 1.找到是monkey里面的哪个地方出错 2.查看Monkey里面出错前的一些事件动作,并手动执行该动作 3.若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值