python专项测试——性能测试


 经常关注的性能指标:

  • app启动的耗时;
  • cpu占比
  • 流量消耗
  • 电量消耗
  • 内存消耗
  • 流畅度
  • 过度渲染

一 启动耗时

1 启动方式分类:冷启动—进程首次启动并加载数据;

                      热启动—进程已经启动但在后台运行的情况下,再次启动

2 冷/热启动app命令:adb shell am start -W -n Package/activity ,会得到一个app启动的耗时,可以作为参考;

   冷启动后停止app命令: adb shell am force-stop Package

   热启动后停止app命令: adb shell input keyevent 3 

   获取一个应用的包名?

   输入命令:adb logcat | grep START , 启动对应应用,查找 "cmp=……" 字段,包含package/activity

3 自动化脚本的实现:

  method 1: 获取命令执行时间,作为启动时间参考值

  method 2:  在命令前后加上时间戳,以差值作为参考值

  具体脚本见PyCharm中。

4 分析:和竞品对比;和本产品的不同版本进行对比

二 CPU占比


1 命令查看app的CPU占用: adb shell  dumpsys cpuinfo | grep package

2 自动化脚本实现: 多次运行取平均值

   见PyCharm

3 分析:查看值是否恒定;是否是在当前系统支持下的一个合理范围内;

 

三 流量消耗

获取流量命令:

   先获取进程ID——adb shell ps | grep packagename

   再获取进程流量——adb shell cat  /proc/pid/net/dev

   Receive: app接收的数据

   Transmit: app发出的请求的数据   

   总流量=  Receive + Transmit ,即为当前app消耗的流量的总值

   对app进行一些测试操作,再次执行获取流量的命令,然后和和上次统计的流量作差,差值即为测试期间app消耗的流量

2 脚本见Pycharm

3 分析:竞品;不同版本

 

四:电量


1 获取电量的命令:adb shell dumpsys battery

   查看其中的level值,执行一些操作后,在此查看该值,作差。

2 手机与电脑连接,一般默认处于充电状态,切换到非充电状态的命令:adb shell dumpsys battery set status 1 

3 脚本测试时间建议:0.5h ~1h上

五:内存

1 获取内存的命令: adb shell  top

  需要取2个值:VSS——Virtual Set Size   虚拟耗用内存

                     RSS——Resident Set Size 实际使用物理内存

2 脚本

3 虚存和实存独立分析

六: FPS&过度渲染

1 FPS:frames per second

   过度渲染:屏幕上的某个像素在同一帧的时间内被绘制了多少次

2 FPS监控方法:GPU呈现模式分析

3 过度渲染监控 :显示GPU过度绘制

 

 

 

 

 

 

   

   

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM