前言
美团点评测试团队负责App的质量保证工作,日常除了App的功能测试以外,还会重点关注App的性能测试。现在大家对手机越来越依赖,而上面各App的耗电量,直接影响了手机的待机时间,是用户非常关心的一点。本文主要通过一个典型案例,介绍App性能测试中的电量测试,并总结了我们由此引发的一些思考。
一、案例分析
短视频作为已被市场验证的新内容传播载体,能有效增加用户停留时长。大众点评App从9.3版本开始推出短视频相关内容,在各页面新增了短视频模块。在短视频功能测试中,我们发现如果在视频列表页中播放视频,手机很快就会发烫。针对这种现象,我们马上拉取数据进行了分析,测试数据表明,视频列表页耗电量竟然是详情页的11倍。这是怎么回事儿呢?
1. 测试对象
短视频主要包括三个核心页面:视频列表页、视频详情页、作者页,本次的测试对象就是这三个页面。
2. 测试过程
测试机型:华为Mate 9 Android 7.0
电池容量:4000mAh
播放的视频时长:1min15s
测试场景设计:WiFi环境下,打开App,播放视频,通过点击“重新播放”,连续播放10次
对比场景:停在App首页20min,手机不灭屏
注意:测试过程不充电,每次测试环境一致
3. 测试结果
如下是Battery Historian测试结果部分截图:
视频列表页
视频详情页
对测试结果数据进行汇总整理:
消耗电量:系统总电量的占比
从测试结果可以看到,短视频列表页耗电量特别高,是视频详情页的11倍。
4. 问题定位
视频列表页消耗电量过高,从测试数据可以很明显的看出来,视频列表页CPU占用时间高很多。从播放器布局来看,列表页和作者页比视频详情页只是多出了动画音符。如下图,红框中圈出的视频左下角的音符。
电量消耗差异这么大,是否跟动画音符有关呢。为了排除这个问题,重新编译了一个去掉动画音符的APK进行测试。测试结果:
从测试结果来看,CPU和耗电量很明显都下降了很多,因此确定是动画音符引起的。打开GPU视图更新的开关,查看三个页面的绘制情况。打开视频列表页,可以看到,动画音符每波动一次,会导致整个页面都在不停的绘制。如下是视频列表页绘制的情况:
从动图可以很明显看出该页面绘制十分异常,动画音符每波动一次,会导致整个页面都重新绘制一遍。
所以,到这里就明白了问题的原因,因为页面上动画音符的实现方式有问题,动画音符波动时,导致整个页面会跟着一起不停的重新绘制。而页面的重复绘制,会使App CPU占用比正常情况下高出很多,进而导致耗电量高。
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。