一个app做的好不好,不仅仅只反应在功能上。被测的app在中低端机上的性能表现也很重要。比如:一个很好玩的游戏或应用,只能在高端机上流畅运行,在中低端机上卡的不行,也不会取得好的口碑。
目前大家可能比较困惑的一个问题,多高的cpu,内存,耗电量,流量,FPS才算是符合发布的值呢?这里可以告诉大家,可以参考精品游戏的一些数值,将自己研发的app与业内精品的app数据做对比。
关于app的性能测试,我们比较关注那些:
- 关注资源消耗(cpu、内存、流量、功耗)
- 启动耗时(冷启、热启),(这个也是很多云测时用到的一个指标)
- 主要页面加载时间
- 内存泄漏、抖动、卡顿、页面渲染(FPS)
今天我也只总结资源消耗这块,先谈谈cpu
1.cpu
cpu检测我们要分3种情况:
1.在空闲时间的消耗,基本没大应用使用cpu
2.在运行一些应用的情况下,cpu已占50%的情况下,观察应用程序占用cpu的情况
3.在高负荷的情况下看CPU的表现,我定义这个高负荷,cpu占用应是在80%以上
1.1 如何查看cpu的使用值
使用命令:adb shell dumpsys cpuinfo apk包名
从上图我们可以看出:6.4%是针对这个CPU的占用率是6.4%,标红的地方5.2%占用率是用户使用的,1.1是内核的占用率,这个数只是针对1核来说,
问题:现在手机都是多核的了,那这样的值也不会太准确,那怎么做?
经验:一般这种取值的,我在测试的时候,会多采集几次,求平均值
上面数据太多了,我们还可以可以用下面这个命令,和top命令,获取单个数据
2.内存篇
内存的方式和cpu类似,我们通过多次采集,得出内存值,看内存是否异常,那如何获取内存值
3.流量
大神说可以使用adb shell cat/proc/“+PID+”/net/dev 的命令来查看流量数
但是我觉得这样不准确,我获取流量的方式是通过抓包的方式,在一个操作内,看流量中的消耗,可以借助wireshork这个工具来帮忙
大概以上是他提到的内容和自己的理解
总结:
做性能测试的方式有两种:1.竞品分析 2.版本对比 这是现在很多公司使用的一种方式
在说一句:腾讯的GT还是很好用的,网上可以下载,可以试试
那么问题来了,怎么才能做好app的测试???
非功能、功能,客户端性能,适配兼容性测试,弱网测试,耗电测试,协议及安全测试,最后是app服务器性能
这里知乎有一篇概要可参考:https://www.zhihu.com/question/22195880