开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

查看: 361|回复: 0

Monkey测试的策略和分析

[复制链接]  [移动端链接]
4四处流浪
320/500
排名
11976
昨日变化
8

89

主题

100

帖子

320

积分

Rank: 4

UID
142658
好友
0
蛮牛币
812
威望
0
注册时间
2016-3-21
在线时间
81 小时
最后登录
2017-8-22
发表于 2016-12-5 15:49:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x

Monkey测试针对不同的对象和不同的目的采用不同的测试方案,首先测试的对象、目的及类型如下:

测试的类型分为:应用程序的稳定性测试和压力测试

测试对象分为:单一apkapk集合

测试的目的分为:解决问题的测试(忽略异常的测试)和验收测试(不忽略异常的测试)


对于应用程序的稳定性测试有两中情况

在针对单个apk是,对不忽略异常的,在进行单个apk的验收测试时,则使用单一apk且不忽略异常的命令执行。对忽略异常的,在进行单个apk的解决问题的测试时,则使用单一apk且忽略异常的命令执行,这样可以在一次执行的过程中发现应用程序中的多个问题。

而针对多个apk时,对不忽略异常,这里就直接举个列子

例如:monkey –pkg-whitelist-file /data/whitelist.txt–throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &

对忽略异常的如下

例如:monkey –pkg-whitelist-file /data/whitelist.txt–throttle 1000 -s 100–ignore-crashes –ignore-timeouts–ignore-security-exceptions–ignore-native-carshes –monitor-native-crashes-v -v -v 15000 >/mnt/sdcard/monkey_test.txt &


在应用程序的压力/健壮性测试时,其主要是缩短monkey测试中事件与事件之间的延迟时间,验证在快速的事件响应的过程中,程序是否能正常运行。这种压力/健壮性测试主要是针对单一apk来执行;我们可以将–throttle的值设定为500或者更小,一般都使用500毫秒的延迟事件。

在进行apk的集合测试时,对于高频率使用的apk、长时间使用的apk都要包含在执行的应用程序中间。

APK分类具体:

高频率使用的apk如:PhoneContactsMessageSettingsFile ManagerGalleryInput Method

长时间使用的apk如:PhoneBrowserMusic playerCameraVideo playerEmailChat

其他的apk如:CalendarNotepadCalculatorFM RadioGoogle Search


再说说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中查找问题的所在。


以上希望对做app测试的同学有帮助。

TestBird - 手游和App自动化测试平台


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表