三、Monkey测试的日志分析
【APP测试前瞻】
当前移动互联网已经过了草创时期,各家公司都在抢占市场和用户;那么,就看哪一家做的更精致(交互做的更好,崩溃出现的更少)。
Android用户也许会经常碰到以下的问题:
1.稳定性问题 —— ANR /Crash等问题;ANR(Application Not Responding)是指当Android系统监测到应用程序在5秒内没有响应输入的事件或广播在10秒内没有执行完毕时抛出无响应提示。Crash是指当应用程序出现错误时导致程序异常停止或退出的情况。
2.性能问题 —— 应用启动慢(首次/非首次启动应用,进入应用特别慢),CPU不足/内存泄露(应用使用过程中,越来越卡),应用耗电快(应用后台开着,手机很快没电)等问题。
注:卡顿与ANR的问题。卡顿简单的来说,就是手机没有及时响应、页面延迟,出现丢帧的现象,或者点击无响应。绝大多数的卡顿,稍等片刻系统就会恢复正常,但假如超过5S,就可能会引发手机ANR警告。
APP测试涉及各个方面,而稳定性和性能测试一般在功能测试完成后开展。如何应用自动化测试场景,如图1所示:
图1 自动化测试应用场景
自动化框架的选择
1.autoMonkey框架:Android平台一般都会考虑使用系统自带的Monkey工具进行测试,此工具既易上手也实用,但运用起来有非常多的讲究和技巧,简单的Monkey工具不一定能完成使命,在测试中也需要花费心思去对Monkey进行封装改造(还可以修改原生的Monkey),以满足测试需求。
2.MBT(Model based testing):基于模型的测试。建模过程,通常是指对被测系统的某些方面的描述,以及对被测系统预期行为的抽象描述。FSM(有限状态机)用途最广泛,一般用于黑盒测试的建模。MBT与Monkey测试理论的结合,即放一只“猴子”在FSM模型中随机漫游,开展充分的稳定性测试。
本文是针对APP完成首轮功能测试后,使用autoMonkey框架进行稳定性和性能测试,从而提高产品的稳定性和留存率。知识结构分为四个部分,如图2所示:
图2 autoMo