App性能测试工具
来源:互联网 发布:淘宝手机批发 编辑:程序博客网 时间:2024/05/16 04:59
目前App测试招聘的越来越多,各种应用、游戏都逐步从pc端向App端迁移,薪水也是与日俱增,未来App应用的市场占有量将远远超越pc应用,可见这是一个很好的发展方向。废话不多说,下面直奔主题。App性能测试分客户端和服务端,服务端的性能可以通过接口或者web网页模拟用户输入进行测试,和普通的PC端性能测试方法一样;客户端性能需要借助一些专门的工具来测试,App性能的关注点主要有耗电量、耗流量、启动退出耗时、响应时延、流畅度、crash率、卡顿、cpu内存等,下面介绍下网上搜集的一些App测试工具:
Android
痛点
工具名
推荐原因
工具类别
落地优先级
落地成本
卡顿
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
中
痛点指标
工具名
推荐原因
工具类别
落地优先级
落地成本
卡顿
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
低
- 常用IDE
- Android
- ADT
- Android Studio
- iOS
- Xcode
- Common
- Atom
- Sublime Text
- Vim
- Android
基础知识
- Android
- 掌握Android开发基础技能
- 掌握Android开发基础技能
- iOS
- 掌握iOS开发基础技能
- web
- 掌握web开发基础技能
- api
- 掌握api相关基础知识
- 测试
- 掌握基本的测试用例设计方法和思想
- Android
常见应用模式
- Native
- Hybrid
- H5 App
- ReactNative
常用工具
- Android
- Android sdk manager
- adb
- ddms
- ant
- aapt
- emulator
- Genymotion
- hierarchyviewer
- monitor
- monkey
- monkeyrunner
- uiautomatorviewer
- iOS
- lldb
- iExplorer
- libimobiledevice 套件
- codesign
- instruments
- xcodebuild
- atos
- xcrun
- Android
常用UI Automation框架
- Android
- Instrumentation
- Athrun
- Robotium
- Monkey
- Monkeyrunner
- uiautomator
- Selendroid
- Calabash-Android
- monkeytalk
- Appium
- Espresso
- cafe
- iOS
- UIAutomation
- XCUITesting
- KIF
- Frank
- appium
- ios-driver
- Mechanic.js
- monkeytalk
- Calabash-iOS
- TuneupJs
- ynm3k
- Android
常用单元测试框架
- Android
- robolectric
- Instrumentation
- Mockito
- RxJava
- iOS
- OCUnit
- GHUnit
- XCTest
- OCMock
- OCMockito
- Expecta
- OCHamcrest
- Android
常用动态更新
- ReactNative
- waxpatch/wax
- ota
常用性能工具
- 抓包
- Charles
- fiddler
- burpsuite
- tcpdump
- anyproxy
- 弱网模拟
- iOS developer mode
- ATC
- Charles
- memory
- Android
- MAT
- ddms
- Memory Monitor
- Allocation Tracker
- LeakCanary
- dumpsys
- procrank
- top
- iOS
- Memory Leaks
- Android
- Scan
- Android
- findbugs
- lint
- infer
- CheckStyle
- PMD
- iOS
- scan-build
- oclint
- infer
- deployment -other
- Common
- 安捷伦
- tcpdump
- wireshark
- 高速(慢速)摄像机
- 埋点
- 腾讯GT
- 网易Emmagee
- Android
- gfxinfo
- dumpsys
- traceview
- systrace
- GameBench
- battery-historian
- iOS
- Core Animation(instruments)
- Network(instruments)
- TimeProfiler(instruments)
- Zombies(instruments)
- Android
- 抓包
安全
- Android
- Drozer
- apktool
- dex2jar
- proguard
- 加固
- exported/permission
- AndBug
- androguard
- Xposed
- iOS
- IDB
- iRET
- DVIA
- LibiMobileDevice
- otool
- Android
abtest
- AB Tester
- AppAdhocOptimizer
- Google Website Optimizer
- Visual Website Optimizer
常用灰度测试工具
- testflight
- 蒲公英
- fir
- pre
常用云测平台
- testin
- MQC
- MTC
常用持续集成平台/相关工具
- Jenkins
- Travis CI
- Android
- mvn
- gradle
- iOS
- xctool
- Cocoapods
多语言开发应用
- SL4A
- gomobile
多设备远程管理平台
- STF
软技能
- 知识管理/总结分享
- 沟通技巧/团队协作
- 需求管理/PM
- 交互设计/可用性/可访问性知识
- 快速的学习能力
- App性能测试工具
- App 性能测试工具
- app性能测试工具
- APP性能测试工具
- Android app 性能测试工具
- 移动app性能测试工具:GT
- Android App 性能测试工具GT
- app性能测试工具总结(7)
- android app性能监控工具,同时支持monkey测试
- 无工具的情况下测试APP性能
- 安卓app性能测试工具之-Emmagee
- APP性能测试工具Emmagee的使用总结
- 移动app性能测试工具:Emmagee使用介绍
- Emmagee app性能测试工具使用教程(转)
- 移动app性能测试工具:Emmagee使用介绍
- 手机app性能测试
- app 性能测试--弱网
- app性能测试--流量
- 虚拟机配置linux为静态ip-桥接模式
- 50个常用的sql语句
- c++ scalar 标量类型
- RetrofitUtils使用
- 保持textarea滚动条在文尾
- App性能测试工具
- Excel制作折线图与环形图嵌套的数据图表
- [原创]reading_during_writingd情况下,ram的输出情况
- BFC
- 【Fragment】生命周期
- 集合之LinkedList
- CSDN如何转载别人文章
- PHP判断数组是关联数组还是数值数组
- Becoming an Xperf Xpert Part 8: Long Service Load, Never Jump to Conclusions