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

      

 

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







移动无线测试技能树
  • 常用IDE
    • Android
      • ADT
      • Android Studio
    • iOS
      • Xcode
    • Common
      • Atom
      • Sublime Text
      • Vim
  • 基础知识

    • Android
      • 掌握Android开发基础技能
    • iOS
      • 掌握iOS开发基础技能
    • web
      • 掌握web开发基础技能
    • api
      • 掌握api相关基础知识
    • 测试
      • 掌握基本的测试用例设计方法和思想
  • 常见应用模式

    • 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
  • 常用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
      • robolectric
      • Instrumentation
      • Mockito
      • RxJava
    • iOS
      • OCUnit
      • GHUnit
      • XCTest
      • OCMock
      • OCMockito
      • Expecta
      • OCHamcrest
  • 常用动态更新

    • 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
    • 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
      • Drozer
      • apktool
      • dex2jar
      • proguard
      • 加固
      • exported/permission
      • AndBug
      • androguard
      • Xposed
    • iOS
      • IDB
      • iRET
      • DVIA
      • LibiMobileDevice
      • otool
  • 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
    • 交互设计/可用性/可访问性知识
    • 快速的学习能力





0 0
原创粉丝点击