本文主要介绍下App性能测试工具iTest_V4.7的使用。
1、监控Andorid系统(支持手机,平板,电视,车机等智能终端设备)以及应用app的cpu、内存、流量、电池、帧率、页面耗时等数据;
2、悬浮框实时显示被测应用或者整机的状态指标;
3、数据走势图展示统计结果;
4、数据自动保存至文本,可快速导入Excel;
5、支持多进程应用的性能监控,例如灵犀语音助手;支持单进程性能监控;支持自定义进程性能监控
6、支持性能监控告警;
7、支持手工测试和自动化测试,自动化测试时,可发送adbshell命令遥控iTest。
8、获取android底层的linux进程占用的cpu和内存。
9、支持查看设备基本信息、设备的动态信息
10、支持cpu模拟、内存模拟、弱网模拟等极限环境模拟
11、支持logcat日志本地获取
12、支持应用安装包离线分析
13、支持monkey
1、手工测试方式
图2悬浮窗权限
图3Assist服务启动
图4辅助功能权限
图5开启GPU
图7注册页面
3)选择被监控的应用
进入首页,先点击“添加”按钮,从跳入的监控应用界面中找到并点击被测应用,或在搜索框中输入应用的名称,或者只输入应用名称中的个别文字,即可筛选。
图8首页
图9监控应用页面
4)选择监控指标
Cpu:如果被测对象为整机,则数据表示为整机的cpu占用百分比;如果被测对象为应用,包含应用的CPU占用百分比与全局CPU占用百分比,对于单进程应用,该数据表示该应用的CPU占用情况;对于多进程应用,根据您设置的进程筛选规则,如果为根据包名筛选进程,该数据表示应用主进程的CPU占用情况,如果为根据uid筛选进程,该数据表示应用所有的进程cpu占用情况,如果为根据配置文件筛选进程,该数据表示配置的进程cpu占用情况,当发生进程切换时,iTest能够自动切换到新的进程数据。
内存:如果被测对象为整机,则数据表示为整机的内存占用情况和内存剩余情况;如果被测对象为应用,包含应用的内存占用与全局内存剩余情况,对于单进程应用,该数据表示该应用的内存占用情况;对于多进程应用,根据您设置的进程筛选规则,如果为根据包名筛选进程,该数据表示应用主进程的内存占用情况,如果为根据uid筛选进程,该数据表示应用所有的进程内存占用情况,如果为根据配置文件筛选进程,该数据表示配置的进程内存占用情况,当发生进程切换时,同cpu一样,iTest能够自动切换到新的进程数据。应用内存指标包括两部分,进程的PSS(ProportionalSetSize,即实际使用内存)内存、PrivateDirty(私有内存)内存。
网络:包含应用上下行速率与累计流量以及全局上下行速率与累计流量。属于应用维度数据,根据监控对象决定。点击右侧清零按钮可以清空累计数据。
电池:包含设备瞬时电流、电流均值以及电池的温度。属于全局维度数据。点击右侧清零按钮可以清空电流累计数据。
Cpu温度:该数据表示cpu的温度,属于全局维度数据,部分设备是以电池温度为准。
5)进程筛选设置
根据包名筛选通过包名获取到被监控应用的主进程,此时监控到的性能数据为应用主进程的性能数据
根据uid筛选
通过包名获取到主进程后得到了主进程的uid,通过uid筛选出应用的子进程信息,通过此种方式,可以监控到应用的所有进程性能数据
根据配置文件筛选
6)场景设置
在启动性能监控前,在图7中标记处输入场景标记。
图12场景标记
7)其他设置
点击首页左上角的菜单图标,可进入菜单,见图8。点击“设置”即可选择您要设置的参数。见图9。
图13菜单图
14设置界面
在图14中参数简介:
监控间隔:默认每隔1000毫秒记录一组数据;
显示悬浮框:悬浮框位于屏幕左上方,实时显示记录的数据,6.0以后系统需要将悬浮窗权限打开,进入iTest后,根据应用提示即可;
横屏显示:默认关闭,竖屏显示,
设置告警规则:触发告警条件,执行告警策略。
设置监控进程规则:默认根据uid进行筛选
8)启动监控/停止监控
点击“启动监控”按钮,测试开始,按钮自动变成“停止监控”;
点击“停止监控”按钮,测试停止,按钮自动变成“开始监控”。
9)查看数据走势图
在主页上,点击左上角的菜单按钮,或向右滑动屏幕进入菜单或者直接点击主页“趋势图”按钮,进入数据管理页面;
图15CPU图
图16内存图
10)数据管理
数据存在android的外置存储空间中(一般是指/sdcard目录)
例如:
/sdcard/AndroidPropertyTool4/handTest/cup_com_baidu_BaiduMap.txt//被测应用的cpu
/sdcard/AndroidPropertyTool/handTest/cpuSystem.txt//系统cpu
/sdcard/AndroidPropertyTool/handTest/pss_com_baidu_BaiduMap.txt//被测应用的privatedirty内存
/sdcard/AndroidPropertyTool/handTest/privateDirty_com_baidu_BaiduMap.txt/被测应用的pss
/sdcard/AndroidPropertyTool/handTest/pssSystemLeft.txt//系统剩余pss
/sdcard/AndroidPropertyTool/handTest/upflow_com_baidu_BaiduMap.txt//上行速率
/sdcard/AndroidPropertyTool/handTest/downflow_com_baidu_BaiduMap.txt//下行速率
/sdcard/AndroidPropertyTool/handTest/upflowSum_com_baidu_BaiduMap.txt//上线累计
/sdcard/AndroidPropertyTool/handTest/downflowSum_com_baidu_BaiduMap.txt//下行累计
/sdcard/AndroidPropertyTool/handTest/batteryAvg.txt//平均电流
/sdcard/AndroidPropertyTool/handTest/batteryTemperature.txt//电池温度
/sdcard/AndroidPropertyTool/handTest/batteryInstant.txt//瞬时电流
/sdcard/AndroidPropertyTool/handTest/fps.txt
/sdcard/AndroidPropertyTool/handTest/fpsJunkCount.txt
/sdcard/AndroidPropertyTool/handTest/fpsMaxJunk.txt
/sdcard/AndroidPropertyTool/handTest/fpsJunkPercent.txt
/sdcard/AndroidPropertyTool/handTest/cpuTemperature.txt
/sdcard/AndroidPropertyTool/handTest/response.txt
/sdcard/AndroidPropertyTool/handTest/refresh.txt
/sdcard/AndroidPropertyTool/handTest/uplaodSetting.json//上传功能的标记文件,可忽略
/sdcard/AndroidPropertyTool/handTest/upload.tmp//上传标记文件,可忽略
其中com_baidu_BaiduMap(百度地图)为被测试应用的包名。
备注:
/sdcard/AndroidPropertyTool4/handTest_2020-01-01-12-12-12-357
在“数据管理”界面,可上传、查看、删除所有数据:
图17数据管理界面
2、自动测试方式
1)启动首页
adbshellamstart-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHER–niflytek.testTech.propertytool/.activity.BootActivity
2)开启监控
依次执行如下两条命令,注意替换红字部分:
adbshellambroadcast-achangedir--essavedirhandTest(默认即是handTest目录,如不做修改,可忽略执行)
adbshellambroadcast-amonitorStart--esmonitorcpu,pss,net,battery,cpuTemp,fps,response--espkgcom.example.test--eiinterval1000
monitor:监控的指标,多指标情况下使用英文逗号分隔(cpu,pss,net,battery,cpuTemp,fps,response)
pkg:包名,可用英文的逗号分隔多个包名。
interval:间隔(毫秒)
3)结束监控
adbshellambroadcast-amonitorFinish
4)打开或者关闭悬浮窗,在开启监控前执行
adbshellambroadcast-aenableFloatWindow//开启
adbshellambroadcast-adisableFloatWindow//关闭
1、设备基本信息
从菜单中,点击“设备基本信息”,即可进入设备基本信息页面。点击导出按钮,设备基本信息可导出为txt文本。
图18展开的菜单图
19设备基本信息页面
2、设备动态信息
从菜单中,点击“设备动态信息”,即可进入设备动态信息页面。点击导出按钮,设备动态信息可导出为txt文本。
注意,由于数据是动态获取并显示的,在部分数据的获取上比较耗时,请等待若干秒。
图20设备动态信息页面
3、意见反馈
如果发现工具的bug,或有任何改进意见,请从菜单中点击“意见反馈”,进入意见反馈页面来告知我们。也可以根据“关于”页面中提供的联系方式联系我们。谢谢!
图21意见反馈页面
图22关于页面
4、工具箱
图23工具箱
5、发现
6、版本新增了发现功能,在这里你可以学习别人的玩法,也可以将自己的玩法发布供别人学习。
图24发现图
图25添加发现
1、常见问题
电池电流,因MTK平台不区分充放电,都为负数;高通平台小于0处于放电状态,大于0为充电状态
如果遇到监控cpu与top命令获取的不一样或者监控内存与dumpsysmeminfo命令获取的不一样,在小范围内的误差是正常的不影响性能结果,若误差较大的情况下,请使用其他监控工具做对比
由于流量监控功能不完善,导致耗电量统计时,无法统计UDP流量对应的耗电量。
iTest受系统休眠影响,可能会暂停记录数据,请测试之前正确设置手机参数