背景
随着产品测试流程的不断完善,可以被稳定复现的问题被遗留到线上的情况越来越少,反而那些概率性问题的数量却逐渐升高,为此我们必须提供一种类似服务器压测那样的方案来发现移动端产品的概率性问题。
可能在Android端提到压力测试,大家一般都会想到Monkey,除了Monkey之外今天主要是推荐另外一个工具 — SoloPi,它是蚂蚁金服开源的一个无线化、非侵入式的Android自动化工具,如下图:
性能加压
SoloPi提供了环境加压的功能,可以提供CPU与内存加压,不过由于Android系统的调度,CPU与内存加压均存在一定限制,当应用处于后台状态时,CPU加压占比会遭到一定程度的限制,而内存加压过大可能导致SoloPi被系统进行回收。
内存加压
通过JNI申请大内存,来模拟内存高占用情况。
CPU加压
通过模拟多核、高CPU占用场景,来影响调度策略,提高多线程并发问题的复现几率。