Android 性能测试_Monkey 实践【转】

参考资料:
1. Monkey测试策略:https://testerhome.com/topics/597 
2. Android Monkey测试详细介绍:http://www.jikexueyuan.com/course/1619.html
3. Monkey总结:https://testerhome.com/topics/3517

测试步骤

思路
1. 目前做的是银行APP,另下载安装3个第三方手机银行的APP以方便对比
2. 将四个APP的包名添加到白名单,同时测试这四个APP
3. 运行Monkey,将日志记录到手机中
4. 测试过程中记录APP占用内存和CPU的变化
5. 测试完毕后查看Monkey日志,将内存和CPU数据用图表来分析。

疑问:
1. 此APP是需要登录的,测试过程中退出账号后无法再进入程序内部,不知道其他公司是如何避免的?
答:经咨询,目前常用两种做法:1. 让开发将退出按键给屏蔽掉 2.点击登录不检测账号和密码

  1. 针对不同APP都有什么策略还不是很清楚,比如延时、事件数量、事件比例 等设置成多少合适?

一、运行Monkey

  1. 将白名单push到手机
    adb push E:\01_AutomationTest\01_Monkey\05_NbBank\whitelist.txt data/local/tmp/
  1. 运行Monkey
adb shell
monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 15000 > /mnt/sdcard/monkey_test.txt &

根据sandman的建议,优化命令:

adb shell
monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt --throttle 500 -s 100 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v -v -v 15000   1> /mnt/sdcard/monkey_test.txt 2>&1 &

2>&1的语法参考Linux的解释:http://blog.csdn.net/ithomer/article/details/9288353

二、内存检测

内存检测用批处理脚本记录,约5秒记录一次:

@echo off &color 0a&setlocal enabledelayedexpansion&title %~n0
::@mode con lines=18 cols=50

set package1=com.nbbank
set package2=cn.com.spdb.mobilebank.per
set package3=com.chinamworld.bocmbci
set package4=com.cmbchina.ccd.pluto.cmbActivity

adb shell dumpsys meminfo %package1% | findstr "Pss" > ./meminfo_1.txt
adb shell dumpsys meminfo %package1% | findstr "Pss" > ./meminfo_2.txt
adb shell dumpsys meminfo %package1% | findstr "Pss" > ./meminfo_3.txt
adb shell dumpsys meminfo %package1% | findstr "Pss" > ./meminfo_4.txt

:start
adb shell dumpsys meminfo %package1% | findstr "TOTAL" >> ./meminfo_1.txt
adb shell dumpsys meminfo %package2% | findstr "TOTAL" >> ./meminfo_2.txt
adb shell dumpsys meminfo %package3% | findstr "TOTAL" >> ./meminfo_3.txt
adb shell dumpsys meminfo %package4% | findstr "TOTAL" >> ./meminfo_4.txt

echo.
echo.
ping -n 5 127.1>nul
goto start

三、记录CPU百分比

@echo off &color 0a&setlocal enabledelayedexpansion&title %~n0
::@mode con lines=18 cols=50

set package1=com.nbbank
set package2=cn.com.spdb.mobilebank.per
set package3=com.chinamworld.bocmbci
set package4=com.cmbchina.ccd.pluto.cmbActivity

adb shell top -n 1 | findstr "PID" > ./cupInfo_1.txt
adb shell top -n 1 | findstr "PID" > ./cupInfo_2.txt
adb shell top -n 1 | findstr "PID" > ./cupInfo_3.txt
adb shell top -n 1 | findstr "PID" > ./cupInfo_4.txt
:start
adb shell top -n 1 | findstr %package1% >> ./cupInfo_1.txt
adb shell top -n 1 | findstr %package2% >> ./cupInfo_2.txt
adb shell top -n 1 | findstr %package3% >> ./cupInfo_3.txt
adb shell top -n 1 | findstr %package4% >> ./cupInfo_4.txt

echo.
echo.
ping -n 5 127.1>nul
goto start

注意:
命令adb shell top -n 1 | findstr %package1% 返回三行信息,暂未处理:

C:\Users\Stphen>adb shell top -n 1 | findstr com.nbbank
25353  0   1% S    23 543128K  66260K  bg u0_a193  com.nbbank
25385  1   0% S     3  11480K   1368K  fg u0_a193  com.nbbank
25383  0   0% S     3  11692K   4180K  fg u0_a193  com.nbbank

四、结果分析

  • Crash、ANR、Force close暂时没发现,以后补上
  • 将记录的内存数据插到Excel表中对比查看

  • 将记录的CPU数据插到Excel表中对比查看

时间: 2024-12-22 16:23:06

Android 性能测试_Monkey 实践【转】的相关文章

Android性能测试--内存

前言: 近阶段都在探索android性能测试方面的东西,其中一个很重要的指标就是内存.对于内存,主要是一些gc是不是及时,或者说一些引用有没有及时释放,有没有导致oom或者内存持续增加导致卡顿,有没有大规模的内存抖动.近期项目由于个别模块大改,所以也就想把性能测试的东西在实际项目中实践进去,本文就是针对实践过程进行一下分享. Memory Monitor: 1.1内测实时显示监控 Memory Monitor是android studio自带的一个非常好用的一个检测内存变化的工具,他能实时监控针

Android软件安全开发实践(下)

Android开发是当前最火的话题之一,但很少有人讨论这个领域的安全问题.本系列将分两期,探讨Android开发中常见的安全隐患和解决方案.第一期将从数据存储.网络通信.密码和认证策略这三个角度,带你走上Android软件安全开发实践之旅. 过去两年,研究人员已发现Android上的流行软件普遍存在安全缺陷或安全漏洞.漏洞频发的原因可能有很多,例如以下几种. 与一切都是集中管理的iOS相比,Android提供了一种开放的环境,在获得了灵活性.可以满足各种定制需求的同时,也损失了部分安全性. 开发

《Android 性能测试初探》

移动测试站点推荐: https://testerhome.com/ 专项相关帖子推荐: <Android 性能测试初探>合集 移动无线应用专项测试浅谈 公开课: [腾讯课堂]Testerhome 公开课 测试工具 : 场次工具: GT http://gt.tencent.com/download.html Emmagee

Android 性能测试初探(五)

书接上文 Android 性能测试初探之 GPU(四) 前文说了的一些性能测试项大家可能都听说,接下来我们聊聊大家不常关注的测试项- 功耗 . 功耗测试主要从以下几个方面入手进行测试 测试手机安装目标APK前后待机功耗无明显差异 常见使用场景中能够正常进入待机,待机电流在正常范围内. 长时间连续使用应用无异常耗电现象 功耗测试的方法分为两类,一类为软件测试,一类为硬件测试 我们先说说软件测试,这里我们会聊聊一些DIY的思路,软件测试一般分为2类, 第一种采用市场上提供的第三方工具,如金山电池管家

一个快速、完善的Android开发框架整合实践(QuickAndroid)

https://github.com/alafighting/QuickAndroid QuickAndroid 一个快速.完善的Android开发框架整合实践 QA项目简介 本框架QuickAndroid(以下简称:QA)尚处于开发阶段. 本项目的宗旨是:整合一个快速.完善的Android开发框架. 编译工具使用:Eclipse + ADT + Android SDK: 编译环境是Android 5.0(21),最低支持Android 2.2(8): 项目编码采用:UTF-8,源码带有中文注释

Android 性能测试——Memory Monitor 工具

Android 性能测试--Memory Monitor 工具 Memory Monitor能做什么? 实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的Crash是否是因为超出了内存 Memory Monitor使用准备 开发者选项可用 USB调试开启 备注:Android Studio的Enable ADB Integration勾选(Tools/Android下). Memory Monitor面板 首先执行adb devices来确保设备可用,然后启动

Android 性能测试初探(六)

书接前文 Android 性能测试初探之功耗(五) 本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速.弱网之类的测试,但本系列文章都不去一一探讨了 流量测试,同样需要引入几个名词 中等负荷:应用正常操作 高负荷:应用极限操作 流量测试包括以下测试项: 应用首次启动流量提示 应用后台连续运行 2 小时的流量值 应用高负荷运行的流量峰值 应用中等负荷运行时的流量均值 流量测试一般都是用软件来进行的,这里我们一般分为2类: 采用市场提供的第三方

Android 性能测试 【转自渺小】

Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间.内存.CPU.GPU.功耗.流量等. 但针对 rom 版本的性能测试,一般关注功耗. 先说说应用的性能测试,对于启动时间.内存.cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT.安测试等.这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当

Android性能测试初探,合集粘贴版,转自Testerhome,卡斯著

Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试 一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间.内存.CPU.GPU.功耗.流量等. 但针对 rom 版本的性能测试,一般关注功耗. 先说说应用的性能测试,对于启动时间.内存.cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT.安测试等.这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当