美文网首页
安卓app稳定性测试

安卓app稳定性测试

作者: 简单小盆友 | 来源:发表于2018-08-23 16:43 被阅读0次

安卓app的稳定性测试:人们口中的monkey


monkey是一个作为安卓测试人员都知晓的测试方法,仅仅一条命令而已,但是这一条命令又能了解多少呢?下面我说下我对命令的了解:

monkey命令:

adb shell monkey -p 包名 -s 53412 --throttle 200 --pct-touch 35 --pct-motion 10 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --bugreport -v 100000

我测试时一般习惯用上面的命令,有人说monkey命令根本不需要这些,直接adb shell monkey -p 包名-v 1000就可以了,但是我觉得这样太过简单,我们不能保证我们的app是完全没有问题的,比如中间可能会出现FC、CRASH等各种问题,而在跑monkey期间,即使手机连着电脑,也可能会中断,所以我们不能指望在跑monkey的过程中用adb logcat来抓取log。这就是我选择上述命令的原因,它可以把问题log自动存储在手机中。

命令中参数介绍:

参数-p:用于约束限制,用此参数指定一个或者多个包,指定包之后,monkey将只允许系统启动指定的app。查看设备所有包名:adb shell cd data/data ls

参数-v:用户指定反馈信息级别,总共分为3个级别,-v说明缺省值,仅提供启动提示、测试完成和最终结果等少量信息;-v -v说明提供较为详细的日志,包括每个发送到activity的事件信息;-v -v -v说明最详细的日志,包括了测试中选中、未选中的activity信息;

参数-s:指定伪随机数生成器的seed值,如果seed值相同,则两次monkey测试所产生的时间序列也相同的。

参数--throttle <毫秒>:用户指定操作间的时延,单位是毫秒

参数--ignore-crashes:指定当应用程序崩溃时,monkey是否停止运行。如果使用此参数,即使应用程序崩溃,monkey依然会发送事件,直到事件计数完成。

参数--ignore-timeouts:指定当应用程序发生ANR错误时,是否停止运行。如果使用此参数,即使应用程序发生ANR错误,monkey依然会发送事件,直到事件计数完成。

参数--ignore-security-exceptions:用于指定当应用程序发生许可错误时,monkey是否停止运行。如果使用此参数,即使应用程序发生许可错误,monkey依然会发送事件,直到事件计数完成。

参数 --monitor-native-crashes:用于指定是否监视并报告应用程序发生崩溃的本地代码。

参数--pct-{+事件类别}{+事件类别百分比}:用于指定每种类别事件的数目百分比

monkey的log分析:

程序异常退出 : uncaused exception

程序强制关闭 :Force Closed (简称FC)  forcefinish、exception

程序无响应 : Application No Response (简称ANR) , 顺便,一般主线程超过5秒么有处理就会ANR

log主要有三大快组成:

1、系统基本信息,包括内存、CPU、进程队列、虚拟内存、垃圾回收等信息

2、事件信息,也是主要分析的信息

3、虚拟机信息,包括进程的,线程的跟踪信息,这是用来跟踪进程和线程具体点的好地方

观察log的基本步骤:

1、直接搜索关键词,快速定位到事件信息

2、定位关键事件信息后,如果信息不够明确的,再去搜索应用程序包的虚拟机信息,查看具体的进程和线程跟踪日志,来定位到代码。(“Dalvik Thread”快速定位到虚拟机信息)

结束monkey命令:

adb shell ps |find "monkey"

adb shell kill ID


以上是我对monkey测试的基本总结,如果有不对或者不足的感谢大家下方留言指点,虽然看似很简单,但是对于初学者真的很有帮助。

相关文章

  • 安卓app稳定性测试

    安卓app的稳定性测试:人们口中的monkey monkey是一个作为安卓测试人员都知晓的测试方法,仅仅一条命令而...

  • Android稳定性测试之monkey

    安卓app功能没有问题之后,经常使用adb提供的monkey来测试一个或者多个app在不同设备上的稳定性,把app...

  • android自动化测试实践

    目标:提高软件质量,减少测试成本 黑盒 测试app的稳定性,成本低不需要开发写用例 Maxim基于安卓原生的Mon...

  • 淘宝团队是如何进行稳定性测试的?

    稳定性测试有哪些好用的方法和工具?安卓绿色联盟的稳定性标准是如何制定的?淘宝团队如何进行稳定性测试?阿里巴巴高级测...

  • 使用monkey,实现安卓系统的App压力测试

    使用monkey,实现安卓系统的App压力测试 1:下载安卓ADB 下载platform-tools,https:...

  • 安卓APP测试

    安卓APP测试 签名检测 跳转到JDK目录下的bin目录 只有在使用直接客户的证书签名时,才认为安全。 Debug...

  • 安卓App稳定性之旅

    安卓App稳定性之旅--记Crash率 <=0.1% 实践 稳定性的意义 在移动应用性能方面,崩溃带来的影响是最为...

  • Jenkins持续集成体系建设

    目录 任务目标 安卓App构建、打包、部署与自动化测试 安卓App持续集成体系建设实战 一、任务目标 实战任务的故...

  • 【app测试-安卓】性能测试

    1. app的启动与停止 启动app的命令: adb shell am start -W -n packagena...

  • 转:app测试中坑及易忽略点

    app测试中坑及易忽略点 手机APP测试思路及测试要点 app测试中坑及易忽略点 1、安卓部分机型对于拍照的图片上...

网友评论

      本文标题:安卓app稳定性测试

      本文链接:https://www.haomeiwen.com/subject/wwdmiftx.html