【系统稳定性 - 测试】2.2 谈谈Monkey老化测试场景的ANR问题分析

Monkey测试用于Android应用程序的压力测试,随机事件可能导致ANR或应用崩溃。本文探讨了多组Monkey测试同时进行时的内存问题,Monkey机制导致的系统卡顿问题,以及焦点窗口问题,这些问题都可能触发ANR。建议调整事件间时延以减少ANR的发生。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Monkey 测试,就像一只猴子在屏幕上随即点击测试。Andoird通过 Monkey 向系统发送伪随机的用户事件流(点击、滑动、 Application 切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试,检测程序 多久的时间会发生异常。monkey 测试为了测试软件的稳定性而生,在有些公司称之为老化测试。

Monkey测试是随机的,不可自定义;但频率可控,测试过程中可能会导致的不必要的应用 crash 或者 ANR。

一,同时进行两组或多组Monkey测试同时进行

这种情况下会导致事件触发过快,事件处理速度异常通常会导致 SystemServe 的 ION 内存占用高。这种问题在大分辨率的设备会很容易导致内存异常。可以通过dumpsys pid_xxx查看进程的详细内存布局;

二,Monkey机制问题

如果 monkey 测试过程中由于其他应用 crash 或者 ANR,系统触发异常处理机制,打印 Log,处理 crash 进程等操作,会使得系统瞬间非常卡顿。这样通过 Monkey 向系统发送伪随 机的用户事件流,由于系统卡顿,可能会导致例如,AMS 广播队列阻塞,time tick 广播未能 及时分发完成等情况,导致被测试应用出现 crash 或者 ANR 情况。

如下场景:

D KeyguardUpdateMonitor: received

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高桐@BILL

分享快乐,快乐分享...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值