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