android性能测试封装工具----ctrace4android,附性能测试的3个例子

在python3上重新封装了一个android用来性能测试获取指标的工具,以前写的比较杂乱,我自己都不想用 汗… 所以现在重新封装一个,相当于重写,也结合这一年来做性能加了一些新特性 :) 姑且是终结版了?

主页

https://github.com/CloudHuan/ctrace4android

运行环境:

Python3 + window10

支持机型:

小米、aosp系统(华为还在调,不同厂商获取数据方式竟然不一样,安卓就是有点麻烦…)

支持测试类型:

流畅度:

通过adb的方式操作屏幕,支持上下滑动,然后取gfx数据,对输出的ms进行转换,计算低于60fps的点个数,嗯,多一个帮你计算的过程

流量总量:

现在会记录的时候会打印出当前的activity,其他没啥

内存 && CPU:

工作中发现,其实这两个一般会在一起分析的,所以弄到一块了,内存获取平均内存,并和heapsize做百分比计算,方便查看;cpu统计包名应用在单位时间内的cpu时间片。

耗电:

读取linux文件系统的电流值强度,因为报告你写强度消耗不怎么直观,所以多了一个100%电量到用完的时间估算。

其他测试:

还是用第三方工具吧,这个没办法集成。

使用和例子

所有测试项(除了电流)都会在output目录生成csv统计文件,以便深入分析。
这里写图片描述
一级目录每一个文件对应着一个测试项,win10下支持双击直接运行,结果获取可以通过屏幕和csv文件获取

关于包名:

可以直接运行initPackageName.py自动获取,也可以自己填。

应用宝性能测试简单实例:

环境:nexus 5x android7.0
应用宝版本:6.7.6

简介

应用宝是一款市场类应用,主要功能在与软件/游戏的下载,以及一些资讯类的信息展示。

对于界面,重点关注的是流畅度,耗时还有流量,次重点是内存和内存泄漏

对于下载,重点关注内存CPU,耗时和流量

现在我们选择几个例子测试一下上面所说的几个点,为了省事我们只列举两个例子,其他的详细测试方法看下后续有没有空可以考虑测试一下应用宝。

例子1:
流畅度
这里写图片描述

我们测试应用宝发现页的流畅度,运行scroll_trace.py,出现如下界面:

这里写图片描述

输入1,界面开始滑动,我们滑动10s然后点击停止。

这里写图片描述

打印出来的是几个数值,这是获取到的帧率低于60fps的计数,可以看到每次滑动的128帧数据有10个左右的帧是在60fps之下的,整体性能良好。接着可以打开自动生成的csv文件,生成图标查看曲线图。分析可以发现在头尾部分会有掉帧的情况,中间部分平稳,分析的知,数据拉取采用分页拉取,在末尾的时候会去请求网络数据,所以会有轻微掉帧现象,可以理解,如果发现整体都是很低的话,说明你的应用情况就比较差了。

这里写图片描述

例子2:
接下来我们测试一下下载的流量,搜索一个比较小的应用,看下下载应用的流量和界面展示的流量是否一致。

这里写图片描述

可以看到这个小锁是23kb,打开traffic_trace.py开始记录数据

这里写图片描述

想减的话差值是82.33,嗯相差的比较大,这里就是一个优化点了,我们可以考虑分析逻辑、抓包看下是不是哪里不对,比方说是不是有上报的请求,或者重复的请求等等,这里就不深入了,因为主要是工具的使用嘛,有空再深入分析一下。

例子3:
下载文件内存和cpu是怎么样的,好我们下载一个大型游戏,王者农药

这里写图片描述

打开mem&cpu_trace.py开始统计,为了得到更准确的数据,记得先把后台杀干净。
作为对比先记录几十秒不开始下载的性能数据,然后点击开始下载看下性能数据。

这里写图片描述

我们发现了应用宝在下载和前台的时候内存控制的不错,均在45%左右,但是cpu…静置在前台也有30%左右的cpu消耗,一旦开始下载达到了90%以上,我好奇的是应用宝在前台没有下载操作的时候,到底做了啥事,占用这么高,我们把应用宝切到后台,发现

这里写图片描述

竟然全部降为0了,那么结论就有了,应用宝在使用的时候cpu比较高,会导致耗电有点高,但是比较良心的是,切入后台就休眠了,这点值得点赞。

总结:

好了,有使用有例子,这个工具以后还会慢慢完善的,适合自己的工具才是最好的,工具使用不难,难的是怎么做业务的性能测试,比如上面我们发现了前台cpu占用过高,这里就是一个优化点,因为不是应用宝项目的测试同学,不了解业务,我就不分析了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值