• 什么是Monkey,以及Monkey异常


    什么是Monkey测试

    Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试
    Monkey 测试是为了测试软件的稳定性、健壮性
    Monkey 程序需要通过 adb 来运行

    Monkey测试操作步骤

    安装并配置好 adb 环境,并通过 adb 连接好设备;
    获取被测应用的包名;
    执行 Monkey 命令进行测试

    Monkey支持的事件

    Monkey支持11种事件,主要是以下5种…
    Touch触摸事件-即点击:由屏幕中的一个down-up事件,即在屏幕某处按下并抬起的操作
    Trackball滚动球事件-即轨迹:由一个或多个随机的移动事件组成,有时会伴随着点击事件
    motion滑动事件:由屏幕上某处一个down事件、一系列随机的移动事件和一个up事件组成
    nav基本导航事件:由方向输入设备的上下左右按键所触发的事件组成
    majornav主要导航事件:通常会导致UI界面中的动作事件,如5-way键盘的中间键,回退 按键、菜单按键

    Monkey测试的特点

    Monkey 测试,所有的事件都是随机产生的,不带人的主观性
    1、测试的对象仅为应用程序包,有一定的局限性
    2、Monky测试使用的事件数据流是随机的,不能进行自定义
    3、可对MonkeyTest的对象,事件数量,类型,频率等进行设置

    Monkey基本语法

    $ adb shell monkey [options]
    如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送500个伪随机事件

    $ adb shell monkey -p your.package.name -v 500
    使用android自动化测试工具monkey启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法:

    Monkey异常

    算术异常类:ArithmeticExecption
    空指针异常类:NullPointerException
    类型强制转换异常:ClassCastException
    数组负下标异常:NegativeArrayException
    数组下标越界异常:ArrayIndexOutOfBoundsException
    违背安全原则异常:SecturityException
    文件已结束异常:EOFException
    文件未找到异常:FileNotFoundException
    字符串转换为数字异常:NumberFormatException
    操作数据库异常:SQLException
    输入输出异常:IOException
    违法访问错误:IllegalAccessError
    内存不足错误:OutOfMemoryError
    堆栈溢出错误:StackOverflowError

    1、 Null指针异常
    空指针异常主要是有NullPointerException异常提示,在Monkey测试过程中,该信息一般记录在plog.log (locat中也有该信息)中

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

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

    4、 操作无响应异常
    操作无响应的问题,主要表现在Monkey运行过程中,出现某功能无响应,提示是否“强制关闭“或“等待“,同时会打印出相应的log信息

    5、 其他异常
    Restart System异常(系统重新启动),即log信息的最后几行会看到Restart System的打印信息,说明手机被自动的重启或断掉,有几个方面的原因
    a、 运行过程中,存在异常手机被自动重启
    b、 手机在运行过程中,进入设置中的恢复出场设置,导致手机重启
    c、 其他原因,如果手机后盖移动等

    Monkey测试结果分析

    初步分析
    Monkey测试出现错误后,一般的查错步骤为以下几步
    1、找到是monkey里面的哪个地方出错
    2、查看Monkey里面出错前的一些事件动作,并手动执行该动作
    3、若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样–复现

    测试结果分析
    1、 ANR问题:在日志中搜索“ANR”
    2、崩溃问题:在日志中搜索“Exception” Force Close

  • 相关阅读:
    springboot+nodejs+vue工程师售后服务评价管理系统
    谷歌研究科学家:ChatGPT秘密武器的演进与局限
    【SkyWalking】SkyWalking是如何实现跨进程传播链路数据?
    Web 应用防火墙:Modsecurity 和核心规则集
    实战派 | Java项目中玩转Redis6.0客户端缓存!
    故障预警 vs 故障分类:哪个更有意义,哪个更具挑战性?
    Java枚举详解
    B_QuRT_User_Guide(28)
    力扣-9-回文数
    Java中运算符一些注意事项
  • 原文地址:https://blog.csdn.net/HONGTester/article/details/127769816