现在App普遍可以运行在后台,在用户切换到的时候唤醒到前台,一方面可以避免不必要的冷启动时间,另一方面可以持续接收服务端的推送。前后台运行时间加起来可以长达几十小时,甚至几百小时,所以对于App长时间使用的稳定性有了更高的要求,需要App稳定性测试来避免长时间运行下的偶发闪退、内存泄露、性能变差等等。通常App稳定性测试采用Monkey类的工具来长时间全自动遍历App,并捕获期间发生的稳定性问题。综合各个Monkey方案的稳定性、可配置性、执行效率等多方面考虑,首选Maxim作为Monkey遍历工具,通过Appetizer管理和配置Maxim提高方案试错效率。稳定性测试方案有以下重点,本文将一一解答:

基础知识

Google 原生Monkey 是一个命令行工具,可以全自动随机点击屏幕,用来测试App稳定性等。Maxim 是 @zhangzhao_lenovo 修改自 monkey的高级版本,支持 Android 5.0-9.0、操作非常高速 (10-15事件/秒),稳定性高,可配置。 AppetizerIO提供了对Maxim的深度集成,使得配置更方便,配置管理更简单。从Appetizer导航 -> 自动化测试 -> Maxim,最基本配置选好测试设备和测试APK即可开始测试。Maxim提供的配置有:

如何配置Maxim提高遍历效率

由于Monkey本质上是无脑交互,在实际使用中,很容易由于进入了一些App场景后在里面转悠几十分钟都出不来,大大影响了遍历效率。以下经验和大家分享:

  1. 不要从全新安装的App安装开始遍历 很多人的方案开头就是自动adb安装App,其实这样效果很差,因为全新安装后会出现大量的低频新手教程、登录、权限弹框等影响Maxim。而稳定性测试本质上是模拟老用户长时间使用App的情况,所以应当已经完全登录,新手流程已经全部过掉的情况下再开始Maxim。具体实施的时候有几种选择:a. 手工安装app,登录,过掉已知的新手教程 b. 始终不清除稳定性测试设备上app的数据,较新的开发版App可以更新安装保持数据 c. 如果b不容易实现,可以试试 adb backup 和 adb restore 保存和复原 App数据