Android性能测试,跟pc性能测试一样分为客户端及服务器,但在客户端上的性能测试分为2类,对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量等。但针对rom版本的性能测试,一般关注功耗。
一、不同版本的性能测试
1、rom版本的性能测试
rom版本一般就关注功耗测试,不过rom版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安捷伦电源仪进行。
2、应用的性能测试
应用的性能测试,对于启动时间、内存、CPU测试大家一般都使用外部提供的第三方工具来辅助测试,如GT、安测试等、这些工具的原理都是基于调用Android底层的一些api来获取到测试所用到的值,当然我们也可以采用其他方法,如使用Android本身提供的一套adb即可完成上述测试。
对于GPU、功耗、等测试来说,用第三方工具测试得到的数值一般都不是很准确,这个时候我们需要引入硬件来进行测试了,GPU可以采用高速相机来进行测试,功耗可以使用万用表或安捷伦电源仪来进行测试(ps:有硬件动手能力的可以DIY一个小板进行)。
3、Android的性能测试
该本分内容为今天主要详述的内容,具体分析见下文。
二、关于Android的性能测试
1、启动时间
首先,我们来说说启动时间。关于应用的启动时间的测试,分为三类:
①首次启动–应用首次启动所花费的时间
②非首次启动–应用非首次启动所花费的时间
③应用界面切换–应用界面内切换所花费的时间那么如何来做启动时间的测试呢,一般我们分为2类,一类为使用软件来测试,一类为使用硬件来测试,首先我们说说软件测试的方法,可能大部分人都比较通晓使用Android提供的DisplayManager来获取activity的启动时间。
步骤:
③使用Android提供的procrank。这里我们详解一下procrank方法(批处理)。
首先,去google获取procrank、procmem、libpagemap.so三个文件;然后push文件,执行;最后,剩下的就是整理测试数据了。
2.使用top命令
e、用excel打开文件计算得到帧率
→ 硬件方法
这里需要引入高速相机,打开高速相机,开启摄像模式,录制人滑动或者扫动被测应用的视频,再通过人工或者程序数帧的方法对结果进行计算得到帧率。
③屏幕滑动平滑度测试
方法如同帧率测试,唯一的差异就是最后的结果计算公式的差异。GPU的测试目前业界使用的均为硬件来进行,软件测试的数据相较硬件差异较大,对于帧率及帧方差的测试标准而言,需对待不同机型设定不同的标准。
4、功耗测试
1)功耗测试类别
功耗测试主要从以下几个方面入手进行测试:
a、测试手机安装目标APK前后待机功耗无明显差异。
b、常见使用场景中能够正常进入待机,待机电流在正常范围内。
c、长时间连续使用应用无异常耗电现象。
2)测试方法
①软件测试
A、第三方工具:如金山电池管家之类的;
B、自写工具:这里一般会使用3种方法:
第一种,基于Android提供的PowerManager.WakeLock来进行;
第二种,比较复杂一点,功耗的计算=CPU消耗+Wakelock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗;
第三种,通过adbshelldumpsysbattery来获取。
②硬件测试
在这里,我们一般使用万用表或者功耗仪进行测试。使用功耗仪测试的时候,需要制作假电池来进行的,有些不能拔插电池的手机,还需要焊接才能进行功耗测试。
5、流量测试
性能测试的——流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注 速、弱 之类的测试。
1)流量测试,同样需要引入几个名词:中等负荷、高负荷。
中等负荷:应用正常操作
高负荷:应用极限操作
2)测试项包括:
a、应用首次启动流量提示;
b、应用后台连续运行2小时的流量值;
c、应用高负荷运行的流量峰值;
d、应用中等负荷运行时的流量均值;
3)流量测试一般都是用软件来进行的,这里我们一般分为2类:
a、采用市场提供的第三方工具来进行测试,如流量宝之类的;
b、自研工具进行测试。
今年金九银十我花一个月的时间收录整理了一套知识体系,如果有想法深入的系统化的去学习的,可以点击传送门,我会把我收录整理的资料都送给大家,帮助大家更快的进阶。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92065 人正在系统学习中 相关资源:基于java的GUI图形化界面的汽车油耗软件-Java代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!