目录
一、App 压力测试
二、Monkey 的介绍
三、ADB 的介绍
四、Monkey、MonkeyScript、MonkeyRunner 的区别
五、MonkeyRunner APIs 的主要接口作用
六、Monkey 压力测试结果分析
(1)压力测试的价值
①提高软件产品的稳定性
多用户使用产品,在数据比例下,会存在部分用户在使用产品的过程中,发现软件崩溃闪退、软件无响应、响应超时等不稳定的现象,因此需要进行压力测试,提高软件产品的稳定性。
②提高软件产品的留存率
当用户使用产品过程中,发现产品响应时间过长、闪退、无响应等现象,如果该 App 是必用的,比如支付宝、微信、QQ,那影响不大,等待新版本更新即可;但是如果是一些新上线可替换的新产品,那么不稳定性将会是其致命伤,因为会导致用户直接卸载删除,永远拉入黑名单,不管后期优化如何都会因为固有的糟糕现象给与差评,流失用户。
(2)开展压力测试的时间
①首轮功能测试通过后
首轮功能测试通过,基本上主要流程已跑通,一个流程业务线下来,不会出现太多致命的 bug,导致压力测试卡顿无法进行,此时进行压力测试比较顺畅,可以看看功能测试通过后系统的稳定性。
②下班后的夜间进行
一般一个 Android App ,进行整个 App 或一个功能的业务主流程压力测试,其模拟的人工操作次数可能成千上万次,而这个过程由开机的电脑和测试机写好指令脚本,即可自动化进行测试。
因此,一方面把压力测试放在下班后夜间时间,测试员可以直接下班,不会耽误正常工作,又可以节约公司“加班”成本,因为一般压力测试时间都会很长,而且电脑最好不进行其他操作,也就是压力测试时,测试员最好不要进行工作操作电脑。
另一方面,这个压力过程除了模拟手机人工操作的 App 前端页面显示外,还有对后端接口的调用,如果在日间工作中进行压力测试,那么接口的请求调用,就不单单设置的压力测试产生的请求,还有研发测试操作的接口请求,并不精准,会大于压力测试设置的压力,所以放在夜间也可以无干扰地进行压力测试。
Monkey 主要用于 Android 自动进行的压力测试,是发送伪随机用户事件的一个压力测试小工具, 主要目的就是为了测试 App 的稳定性。
ADB :Android Debug Bridge (Android 调试桥)。
Monkey 本身存在于 Android 系统里,可用 USB 线硬连接电脑主机和手机真机,而电脑端安装的 ADB 即可和手机端的 Monkey 进行软连接,通过 ADB shell 命令进行 Android App 的 bug 调试。
ANR:可能出现以下截图的提示弹框,其中有 2个 按钮【Force close:关闭(直接退出程序);Wait:等待(继续等待响应)】