app专项测试

本节为你们讲述app的专项测试——客户端性能测试。这个我也作了蛮久的了。在这里修改了一下本篇随笔。网络

首先咱们了解一下什么是客户端的性能测试。性能测试相比你们都已经耳熟能详了,这个app的客户端性能测试估计仍是有部分同窗不甚了解。app

客户端性能测试,主要就是针对app在设备上运行时的内存、CPU、GPU、流量、耗电等进行一系列的测试。主要目的就是为了提高产品的竞争力,同时也能够检测出app的内存泄漏、优化点等问题。固然了,这只是个人我的理解了。工具

肯定测试的介入时机,这个我通常是在上线验收测试以前进行的。倒不是说我这个时机就是对的,实在是资源匮乏,人手不足,只有我一我的进行测试,我只能排在这个时间段进行测试。由于在不少公司,实际上这项测试都只是走走过场,并无发挥它实际的做用。性能

我以为真正的介入时机应该实在开始执行测试的时候,与功能测试并行。由于优化是个漫长的过程,因此越早介入越好,首先可以更加完善的针对这些目标进行测试,其次也可以给予开发人员充足的时间进行优化。学习

而后就是咱们的测试范围,这个测试范围呢,我我的以为主要仍是须要针对产品的核心功能进行。每一个产品都有本身的核心功能,用户使用的最频繁的,与用户交互最多的功能模块。开发工具

那么咱们要检测哪些数据呢?又要如何去监测呢?测试

咱们要检测的数据以下:优化

Ø内存占用插件

Ø CPU占用code

Ø电量消耗

Ø流量消耗

Ø帧数

使用工具

 

说到工具,如今工具备不少,大部分仍是会使用, emmagee和  GT,还有 Itest等一些工具去监测产品在真机上运行时的各项数据。固然,还有一些是程序嵌入的可视化插件去监测。虽然这些监测的工具,所获得的数据并非那么精确,可是咱们仍是可以经过屡次对比,使偏差最小化,从而得出结论。

不过目前笔者仍是习惯使用开发工具去监测这些数据,感受会比第三方的工具稍微精确一点。安卓的话就用 Android Studio,iOS就用 Xcode。一般监测时长为 2小时左右。

咱们来看一下 Android Studio和 Xcode的监测的数据截图

Android Studio

这里并非 CPU、GPU、内存、网络一块儿显示的,而是分开显示在不一样的栏,须要本身去点击进行选择查看的。它全部的东西都是呈现为这种走势图的看起来很清晰。

Xcode

相比较而言,这里就是集中在一块儿显示全部的数据了,不过若是看那种走势图的话,也是分开的哦。

结果分析

和服务端的性能测试同样,客户端的性能测试的重点一样是结果的数据分析。

在测试的时候,根据每一个操做,每一个场景,对应的数据进行深刻的分析。我这个操做引起的数据变化,为何会这样变化?这样的数据变化会不会存在什么隐患?若是我是用户,这个点这样我会是什么感受?这些数据,会对用户形成什么影响,而后还要根据用户在使用产品时的行为,进行分析,持续进行优化。

可能在大多数的公司都对这个属于一个过场式的东西,笔者本身也不多深刻分析过这一起。但愿有经验的同窗,可以分享出来你们一块儿学习哈。

 

测试的过程当中,可能会遇到一些数据的异常,那么咱们就须要去分析出现这些异常的缘由了。我曾经遇到过,CPU的占用,一会儿飙升甚至超过了  100%。以下图:

  

那么为何会出现这种状况呢?我当时请教了大企鹅的测试朋友。他给出的结论是,出现这种状况只有两种缘由。其中一个我记不太清楚了,可是我当时的分析结果是由于FPS的卡顿形成的。因为 FPS的卡顿,致使进程短期内出现卡死的现象,CPU占用会瞬间飙升。

好的,如今咱们来讲说优化的问题。我所接触到,了解的优化的方法在这里分享给你们:

资源压缩:图片,配置文件等,进行压缩,尽可能删除一些没必要要的文件。减小安装包包体大小。

分包:因为整包的包体太大,采用分包的方法,使用动态加载的方式,让玩家在初次下载的时候,不会由于看到包体内存望而却步。固然也有缺点,我的感受缺点就是,动态加载的时候,会有点卡卡的。

固然了,上面的两种方法都是对安装包的优化方式。

还有包括网络协议的选择,链接方式的选择(长链接/短链接),协议和链接方式的选择会直接的影响到咱们产品的流量的消耗以及响应时间。

笔者目前接触到的也就是这么多了,欢迎你们留言讨论。不过我感受,经过客户端的性能测试,应该也是能够去作代码的优化的,固然这只是一个思路,之后有机会再向各位分享。

相关文章
相关标签/搜索