移动性能测试初探

说实在的我是不想现在说太多,这样我觉得我这个书写的意义就不大了。索性不出版了...

  我上周帮助公司也做了一下app的性能测试,整个过程历时一天半,当然仅仅是针对测试,燃烧了我大半小宇宙。

  首先现在移动应用的性能测试一般分成三种测试的方向,或许说是找基线的方向:

  1. 先对于竞品进行测试,从而进行对比

  2. 经过测试,团队讨论得出一个大家认可的数据,从而变成基线

  3. 在系统,应用等限制中找到一个基线,打比方说比如某些应用的画面需要60fps的帧率进行平滑的渲染等

  而无论是哪种得到数据并非非常容易,性能测试往往与应用逻辑,架构,业务牢牢的绑定。

  Android和ios的内存泄漏也许是很多人关心的一个方面。在此之前当然我们应该先进行静态的代码扫描,find bugs,lint,code Analysis等。内存泄漏其实并非一定有什么基线,在我看来每个不同类型的应用其基线可能都是不同的,然后内存泄漏现在常用的方法如下:

  1. 对应用进行”Cause GC”操作,查看object data的走势,如该数值持续上涨说明有内存泄漏的可能。

  2. Android获取hprof文件。其一,在进行压测之后获取hprof使用MAT进行分析。其二,可以在某些重要业务场景前后分别去Dump HPROF,从而对比前后某些对象是否有重复引用等

  3. ios的话要请教中国ios之父了...我目前还是只是用instruments自带的一些工具在业务场景中进行查看。

  4. dumpsys也不失为一个比较简单的方法,但是就是比较难定位问题在哪里

  当然我之前也一直推崇的systemtrace以及gnxinfo也是很不错的性能测试工具。其运用在自己要测试的场景中就能够得出很精准的数据,包括应用的启动,包括绘制函数方法的耗时等,报告如下:

  其他也有电量,流量等,这类其实现在现成的测试app也有。我们自己要去写个也不是什么难事,比如写一个很傻的activity,然后启动几个监控的service就可以了。通过系统api都是能够获取到我们想要的数据的,当然百度等公司还是会用万用表来进行电量测试,我表示我肯定做不到。部门代码如下:

  当然我上周在做的时候,顺便让我们测试的同学把关键业务做了下,然后生成的code coverage报告也让开发协助测试增加了很多有用的测试用例。这也是我觉得真心不错的一个发展方向。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-07-29 03:37:09

移动性能测试初探的相关文章

DockOne微信分享(六十六): Docker网络方案初探

本文讲的是DockOne微信分享(六十六): Docker网络方案初探[编者的话]这次主要跟大家聊聊Docker的网络方案,首先是现有容器网络方案介绍, 接下来重点讲解Calico的特性及技术点,作为引申和对比再介绍下Contiv的特性,最后给出对比测试结果. 随着容器的火热发展,数人云越来越多的客户对容器网络特性要求也开始越来越高,比如: 一容器一IP: 多主机容器互联: 网络隔离: ACL: 对接SDN等等. 这次主要跟大家聊聊Docker的网络方案,首先是现有容器网络方案介绍, 接下来重点

引爆A6X强劲实力 iPad4性能测试

引爆A6X强劲实力iPad 4在11月2日随着iPad mini一起公开发售,而它可谓是在众多争议中出现的.尤其对于上一代The New iPad用户而言,iPad 4的出现无疑是给他们泼了一盆冷水.毕竟The New iPad的发布到现在仅仅只有八个月,就遭到新产品的淘汰,用户当然会有很大 意见.而iPad 4这次的升级真的是那么急迫和重要吗?下面小编就通过实测初探iPad 4的性能,看看这次的硬件升级是否那么必要.iPad 4从外观上来看和The New iPad简直就是孪生兄弟,估计大部分

性能测试知多少---系统架构分析

有些事儿一旦放一放就难再拾起来,突然发现<性能测试知多少>这个系列两月没更新,关键时我都不知道啥时候放下的,总容易被各种技术所吸引走,如饥似渴的想学更多的东西,这几天一直有朋友问我为啥不写了,我才意识,事情要一样一样做,我现在要把这个系列完成.   之前有对性能需求进行过分析,那篇主要从项目业务.背景等角度如何抽丝剥茧的将项目的需求抽离出来.在我们进行需求的时候也需要对被测项目的架构有一定的认识,如果不了解被测系统的架构,那么在后期的性能分析与调优阶段将无从下手.   简单系统架构介绍    

mysql服务器性能测试怎么做

问题描述 mysql服务器性能测试怎么做 本人新搭建好一个mysql服务器,它的性能和处理能力该怎样来测试呢?包括用哪个工具,关注哪些性能参数? 解决方案 有很多这样的工具,比如说 mysqlslap Super-smack MySQL Benchmark loadrunner 但是不是说用工具就能准确度量出你的服务器性能了,因为工具仅仅是工具,压力测试仅仅是模拟测试. 真实场景下业务是多种多样的,用户的真实访问,真实的数据和查询请求不是简单靠工具能模拟出来的,dba的经验在这里非常关键. 解决

【闲说】性能测试

版权声明:本文为本作者原创文章,转载请注明出处.感谢 码梦为生| 刘锟洋 的投稿 性能测试是一件看起来不简单,操作起来确更困难的事情,我认为,每认真做一次性能测试,一定会有不同收获,而每次性能测试暴露的问题,现象都不是仅仅涉及Java,tomcat这么简单,简单说就是光会写代码是无法做好性能测试的. 那么,就趁着这次性能测试的机会,重新梳理下对linux,网络IO等基本功的认识已经就性能瓶颈的定位分享下自己的心得. 背景: 本次性能测试的目的是测试使用公司内部RPC框架开发的一套接口的性能,目的

graphviz dot初探

graphviz dot初探 简介 现在文档都用markdown保存到github.gitlab这种代码仓库.markdown遇到最大的问题就是对图片的引用, 直接用工具绘制的图片可以引用,但是这样没法像md文件那样在git仓库中进行版本管理,而且既然文档用了描述语言, 引用图片源文件能用描述语言就更好了. dot是graphviz的一种描述语言,可以通过graphviz提供的命令行工具生成图片文件. 安装 用gentoo(prefix)安装graphviz直接emerge即可,除了默认的选项,

PHP归档phar性能测试

PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java 技术的 JAR 归档,它允许使用单个文件打包应用程序,这个文件中包含运行应用程序所需的所有东西.该文件不同于单个可执行文件,后者通常由编程语言生成,比如 C,因为该文件实际上是一个归档文件而非编译过的应用程序.因此 JAR 文件实际上包含组成应用程序的文件,但是考虑到安全性,不对这些文件进行仔细区分.Phar 扩展正是基于类似的理念,但是在设计时主要针对 PHP 的 Web 环境.同样,与 JAR 归档不同的是,Phar 归

性能测试知多少---性能需求分析

需求分析是个繁杂过程,它并非我们想象的那么简单,而性能测试需求除了要对系统的业务非常了解,还需要有深厚性能测试知识.才能够挖掘分析出真正的性能需求.   如何获得有效的需求   1.客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融.电信.银行.医疗器械等:他们一般对系统的性能要求非常高,对性能也非常了解.提出需求也比较明确. 曾经有一个银行项目,已经到最后的性能测试极端,因为数据库设计不合理,导致性能出现很大的问题,最终不得不把整合项目 作废,对于这样的项目,

把《c++ primer》读薄(4-2 c和c++的数组 和 指针初探)

督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1.我们知道,将一个数组赋给另一个数组,就是将一个数组的元素逐个赋值给另一数组的对应元素,相应的,将一个vector 赋给另一个vector,也是将一个vector 的元素逐个赋值给另一vector 的对应元素: //将一个vector 赋值给另一vector,使用迭代器访问vector 中的元素 vector<int> ivec(10, 20); vector<int> ivec1; for (vecto