android端性能测试总结

写下这边博客的背景:最近一直在做公司新产品android的性能测试,于是想把自己学习到的东西总结下来跟大家一起分享和讨论学习。欢迎补充~
1,测试背景:
随着安卓APP的不断发展,为了更好的有用户体验,防止用户流失,app软件的性能问题也开始被关注起来,比如:内存,CPU,FPS,耗电,响应时间等各个指标的测试。(我想大家应该都有过这样的体验,因为一个app打开响应或者加载的时间很慢而吐槽)
2,测试场景设计
并不是所有的模块都需要做性能测试的,我们可以主要重视一下如下的场景,比如:存在连续动画,视频播放,视频录制,独立线程渲染,图像识别,存在连续执行的任务这样的场景,当然,我们也可以询问开发同学,新增模块是否有新增的数据库字段等等。
测试场景的设计主要是根据不同的性能测试指标进行设计,存在单个场景和多个场景,下面我会稍微具体一点讲述。
3,测试标准
测试机型:四核CPU机型,这里我们尽量选择中等偏下的机型进行测试。
测试指标要求:根据各个公司的要求不一样。参考:pss:500-100M,JavaHeap:80M左右,CPU<60%,FPS:60左右
4,测试工具以及指标的详细介绍
android系统的几种场景状态:
1,空闲状态:指打开应用后,点击Home键让应用后台运行,此时应用处于的状态叫做空闲;
2,中等规格和满规格状态:中等规格和满规格指的是应用的操作时间的间隔隔长短不一,中等规格时间较长,满规格时间较短。
内存
(1)内存:为了让应用不占用过多的资源且及时释放内存,保障整个系统的稳定性。
内存测试中的问题现象:内存抖动,大内存对象被分配,内存不断增长,频繁GC
(2)内存测试步骤:
内存泄漏自测:检查在退出业务页面后,页面是否及时释放;切换账号,是否及时释放;
内存增量测试:进入业务前记录数据,进入业务场景记录,退出业务记录
(2)内存数据的获取:PSS,Java Heap
两种方式:方式一:adb shell dumpsys meminfo|findstr 包名.peak获取peak进程的pss值
方式二:使用android studio里面的profiler,启动项目可以查看对应的memory变化以及javaheap的值
CPU
方式一:1, top 命令
adb shell top | grep 进程名 - linux命令行
adb shell top | findstr 进程名 - windows命令行
方式二:Android Studio Profiler
a) 点击View->Tool Windows->Android Profiler(也可以点击工具栏中Profiler)
b) 选择设备和进程,搜集CPU使用率
FPS(以下这个方法可执行,因为我用的是公司内部的工具,后期发现开源工具再进行共享补充)
捕获app帧率(android流畅度FPS测试):
1、打开手机开发者选项,勾选GPU显示配置文件(系统会记录保留每个界面最后128帧图像绘制的相关时间信息)
2、adb shell dumpsys gfxinfo com.xxx.xxx > zinfo.txt
3、结果数据分析
Profile data in ms部分:
Draw: 创建显示列表的时间(DisplayList),所有View对象OnDraw方法占用的时间
Process: Android 2D渲染引擎执行显示列表所花的时间,View越多时间越长
Execute:将一帧图像交给合成器(compsitor)的时间,较小
响应时间(这里测的是QQ,所以很短几乎没有)
方法一:adb命令获取,在前面的博文常用的adb命令中对adb shell也有些许介绍。
1)获取app包名和类名
adb shell dumpsys activity|findstr mFocusedActivity
2)获取启动时间
adb shell am start -W –n /
在这里插入图片描述
5,测试结果分析形成测试报告
通过对测试结果的分析形成测试报告:
测试报告包含以下几个部分:
(1),测试app信息:包括测试软件名字,具体需求,测试包版本号;
(2),测试工具具体是什么;
(3),测试的场景设计主要是什么样的,设计相关场景,每个场景最好执行5次左右;
(4),测试结论:eg:1),cpu测试未见明显异常,2),内存测试部分场景高达80%以上,耗电量较高,请开发关注等;
(5),测试数据:包含测试机型、测试人员、每个测试场景对应的截图或者excel统计(根据具体工具),供开发人员查看;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值