App性能测试

目前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

python测试app性能_App性能测试相关推荐

  1. python测试app性能_App性能测试工具MobilePerformance

    一. 环境搭建 安装Android SDK 1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了. 安装SDK 1.安装Android SDK: 2.安装完毕后 ...

  2. 面试百问:如何测试App性能?

    APP性能测试几乎是客户端面试必问. 为什么要做App性能测试 如果APP总是出现卡顿或网络延迟的情况,降低了用户的好感,用户可能会抛弃该App,换同类型的其他应用.如果APP的性能较好,用户体验高, ...

  3. python测试代码性能_使用python timeit 模块检测代码性能

    使用Python 通常在乎的是它的开发效率,而不是运行性能. 但如果通过很简单的方法可以测试出n种不同的写法之间的性能差异,这个过程本身也是一种乐趣. python 自带了timeit 模块,可以在代 ...

  4. 测试电视性能软件,性能测试一 (基础测试)_平板电视_液晶电视评测-中关村在线...

    ●性能测试一(基础测试) 首先将三星UA55ES8000智能电视电视连接测试平台,采用测试软件对产品的显示性能进行测试,以检测这款电视的分辨率兼容性.面板显示效果.动态图像表现能力. ● 分辨率测试 ...

  5. linux 测试内存性能,Linux性能测试指标评估

    Linux性能测试指标评估 一.影响Linux服务器性能的因素 1. 操作系统级 · CPU · 内存 · 磁盘I/O带宽 · 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 其 ...

  6. python测试电脑性能的代码_python编程测试电脑开启最大线程数实例代码

    本文实例代码主要实现python编程测试电脑开启最大线程数,具体实现代码如下. #!/usr/bin/env python #coding=gbk import threading import ti ...

  7. appium+python测试app使用相对坐标定位元素

    我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指 ...

  8. 移动app测试的多样性_app移动端接口性能测试

    13. APP测试和WEB测试有什么区别? 1. 从技术上来说: * 测试类型 :WEB测试有功能测试.性能测试.安全性测试.GUI测试. APP测试除了有WEB测试的类型还增加专项测试,特性测试,适 ...

  9. python读取oracle数据库性能_用python对oracle进行简单性能测试

    一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...

  10. pythonapp自动化_Android App持续集成性能测试:使用Python实现UI自动化

    本帖最后由 Android_Robot 于 2016-10-26 15:12 编辑 本篇内容主要为大家提供的是Android App持续集成性能测试:使用Python实现UI自动化.感兴趣的同学可以参 ...

最新文章

  1. c 多线程运行混乱_一篇文章读懂 Python 多线程
  2. 001考试类小程序设计方案简要需求分析和数据库简要设计
  3. python图片保存_python读取和保存图片5种方法对比
  4. 【原创】使用yahoo雅虎js库(YUI)建立无刷新的N级树(可添加删除节点)
  5. python anaconda安装redis_Linux下安装python,redis
  6. 西瓜书-感知机与BP算法
  7. Apollo ROS安装教程
  8. Pygame实现小球躲避
  9. unity有限状态机和模糊状态机(怪物AI、自动寻路)
  10. 前端导出excel,复杂表头,合并单元格,自定义样式
  11. 私人影院微信小程序源码,采用腾讯小程序云开发,包括影院动态,最新影讯,房间预约,后台预约管理,导出预约表格Excel数据等功能
  12. 土木工程与计算机专业考研学校排名,土木工程专业考研学校排名
  13. linux服务器安装anaconda,然后远程使用jupyter
  14. 前端小demo_day02_聚光灯(CSS)实现
  15. 缓存穿透、雪崩、击穿的区分
  16. linux越狱80x24,用Cydia Impactor 免越狱安装未签名APP方法[日常] | 贝贝吧
  17. 第二个项目做完了,总结一下~~
  18. 多个绝对值相加求最大值问题_多个绝对值相加求最值问题
  19. 网易云API Golang版开发历程
  20. 默纳克服务器显示乱码,默纳克服务器如何查故障

热门文章

  1. 机器人学导论 一、空间变换(1)位姿,变换
  2. 关于Kav7的离线升级
  3. MFC TeeChart 用法整理二
  4. visio 2003 怎么样画括号
  5. html实现“加入收藏”代码
  6. smarty手册 分离php和html
  7. FireFox如何使用扩展
  8. 卸载计算机flash,Flash Player卸载器(Flash Player Uninstaller)
  9. Python3 如何反编译EXE
  10. 数据分析---统计学基础知识