App性能测试

App性能测试java

  目前App测试招聘的愈来愈多,各类应用、游戏都逐步从pc端向App端迁移,薪水也是与日俱增,将来App应用的市场占有量将远远超越pc应用,可见这是一个很好的发展方向。废话很少说,下面直奔主题。App性能测试分客户端和服务端,服务端的性能能够经过接口或者web网页模拟用户输入进行测试,和普通的PC端性能测试方法同样;客户端性能须要借助一些专门的工具来测试,App性能的关注点主要有耗电量、耗流量、启动退出耗时、响应时延、流畅度、crash率、卡顿、cpu内存等,下面介绍下网上搜集的一些App测试工具:python

Androidandroid

痛点ios

工具名web

推荐缘由sql

工具类别缓存

落地优先级网络

落地成本tcp

卡顿工具

Chrome for android开源性能测试工具(surface_stats.py)

里面已经涵盖了FPS和janky采集的方法,用python写的命令行,简单直接地跟自动化测试结合。

发现

P0

 

卡上报(AnimationPerfMon.java)

在空间落地卡上报,跟处理crash同样,经过堆栈快速定位解决问题, 补充ANR的缺失

发现+定位

P0

 

听云/OneAPM

基于UIThread/主线程的监控,都有不错的卡顿的发现能力。可是由于没有获取堆栈,而只有简单的方法名和activity,因此对于复杂的软件定位稍微困难。

发现+定位(弱)

P1

 

Fresco

经过内存缓存的优化达到流畅的图片及列表展现性能

解决

P1

 

Realm

经过更优秀的I/O性能,下降APP对持久化数据读写的损耗,从而提高交互性能。可替代sqlite。

解决

P1

闪退

LeakCanary

高效率发现大部份内存泄漏致使的OOM。

发现+定位

P0

 

Bugly/听云/OneAPM/Testin

CRASH监控的能力大同小异,都能对数据上报的统计分析,清晰现网状况,用户痛点。但我会推荐腾讯的BUGLY, 由于ANR, CRASH都能提供比较足够的信息定位问题,另外,由于是腾讯的。

发现+定位+反馈上报

P0

 

Testin

兼容性/稳定性测试利器,关键是机器的量够!

发现+定位

P0

待机时间短

Chkbugreport

从用户手机中提取BUGREPORT。经过这个工具是能够分析简单的耗电问题,如sensor或摄像头没有关闭,wakelock的问题。

发现+定位

P0

           

 

iOS

 

痛点指标

工具名

推荐缘由

工具类别

落地优先级

落地成本

卡顿

FastImage

经过节省decode的耗时等方法,提高图片及图片列表的展现性能

解决

P1

 

Realm

经过更优秀的I/O性能,下降APP对持久化数据读写的损耗,从而提高交互性能。可替代coredata,userdefault,sqlite。

解决

P1

 

MGWatchdog

实现相似ANR的机制,主要是要跟上报结合

发现+定位

P0

闪退

Infer

解决因内存泄漏致使的内存耗尽致使的闪退。能扫描简单的循环引用致使的内存泄漏。

发现+定位

P0

 

Bugly/听云/OneAPM/Testin

CRASH监控的能力大同小异,都能对数据上报的统计分析,清晰现网状况,用户痛点。但我会推荐腾讯的BUGLY, 由于ANR, CRASH都能提供比较足够的信息定位问题,另外,由于是腾讯的。

发现+定位+反馈上报

P0

待机时间短

iOSDiagnostics

能够获取一些耗电的模块的信息,若是能够融合到数据上报中的话就更好了。

发现+定位

P0

 

通用

 

痛点指标

工具名

推荐缘由

工具类别

落地优先级

落地成本

流量大/速度慢

BPG(android,相似webp)

BPG(ios)

BPG是H265帧内压缩作图片压缩,webp是利用VP8帧内压缩作图片压缩。图片压缩对于图片应用来讲,除了能提高用户下载显示图片的速度,还能为企业节约带宽成本。

解决

P1

 

Pngquant

利用PNG8压缩PNG图片,颜色单一的图片,效果会很是明显。

解决

P0

 

Wireshark

实用的流量分析工具,包括export http object, I/O graph等等

发现+定位

P1

 

Emmagee

Android的性能测试组件,里面涵盖不少性能数据获取的方法,可参考使用。

发现

P1

 

HAR + PageSpeed

利用tcpdump在手机上获取的PCAP, 利用HAR转换PCAP,而后给pagespeed组件分析。

定位

P1

弱网兼容性差(ios通用)

ATC

Facebook弱网络模拟工具。好处是模拟丢包,抖动的时候比较稳定,并且还有HTTP API能够调用, 方便和自动化配合。

发现

P0

 

SPDY/QUIC

特别是QUIC, 就是为了网络抖动而设计的。

解决

P2

 

OKHTTP

推荐的HTTP组件。性能好,弱网兼容也不错。

解决

P1

相关文章
相关标签/搜索