美文网首页
安卓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稳定性测试

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