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过度绘制

 

 

 

 

 

 

   

   

  

 

posted @   Cranberries  阅读(2516)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示