app性能测试的过程_app性能测试过程中内存泄露的表现

hacker|
153

文章目录:

手机上的app性能测试怎么测?

您好,方法

提到APP的性能测试这个概念比较笼统,因为APP的性能测试分为服务器端的性能和手机端的性能测试。下面,我们先从服务器端的性能测试开始说起,服务器端的性能测试可以通过LoadRunner或Jmeter工具进行测试,为方便起见,可以以Jmeter工具为例子说一下App服务器端的性能测试流程。

首先,确定app的性能测试功能点,一般会选择使用比较频繁的功能做性能测试比如查询,提交数据。

然后,根据该功能点的接口测试需求,或使用fiddler抓包,在jmeter上构造向服务器发送的请求数据,配置好相关的设置,并做好服务器的监控。(以我们实际项目为基准,本项目是搭建在linux上的,用的是nmon工具做监控),

最后运行测试,测试完之后,收集CPU,内存等信息,集合聚合报告的内容,分析性能测试结果。

至于手机端的性能测试流程则比较简单,首先需要在服务器上提前安装监控工具(iTest/GT),接着启动监控工具,监控被测应用.

接着需要清空先前的logcat日志记录,清空日志的命令是:adb logcat -c.

接着来获取logcat日志:adb logcat -v time E:\share\logcat.log.

如何做App的性能测试

再接着使用monkey运行被测应用:

adb shell monkey -p your.package.name -v 500 E:\share\monkey.log

(获取app的包名和activity名称:

adb logcat -v time | findstr START

脚本中,cmp= 后面的值就是 包名)

(ctrl+c 终止命令)

最后根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发进行定位。

软件测试报告性能如何测试

  一个想要留住用户的APP,不仅要内容输出新颖,功能也要齐全,但有一个必要的前提是APP在使用过程中不卡顿或加载缓慢.在这种情况下,这会导致更差的用户体验,直接使用或不使用该应用程序。在这种情况下,需要进行应用程序性能测试。

    想要做好app性能测试,还需要遵守相关程序,才能万无一失。那么app性能测试的流程是怎样的,你对app性能测试了解多少呢?下面我来告诉你。

一、APP性能测试是什么意思?

    APP性能测试通常分为服务端性能测试和移动端性能测试。通过各种测试工具,对APP性能进行测试评估,发现存在的缺陷,保证软件安装安装后的正常使用。

二、APP性能测试的重点是什么?

    1.资源消耗;分别测试空闲状态、中等规格和满状态下的资源消耗。

    2.内存:一般APP应用不会占用太多手机内存资源。可以测试不同强度下应用内存和系统内存的变化,以及应用的整体流畅度等。

    3、电量使用:首先了解手机在正常情况下的电池使用时间。关闭所有应用后,再启动待测APP,看看耗电增加了多少,取差值。

    4、网络流量消耗;测试第一次启动时的流量值和运行一段时间后的流量值。

    5.响应速度/时间;分别测试APP首次/非首次启动、有网/无网的加载时间。

    6.兼容性测试;不同手机版本的兼容性测试。

三、常见APP性能测试方法

    APP性能测试的方法有很多种。有些指标可以人工计算,有些性能测试必须借助软件测试工具进行。测试人员一方面可以使用手机内置的测试工具进行应用测试,另一方面可以使用Jmeter等自动化测试工具进行测试。

四、如何做好APP性能测试?

    APP性能测试也是APP测试的一部分。测试人员需要具备良好的测试技术能力。同时,测试环境、网络带宽等硬件条件也是做好APP性能测试的基础。为了做好APP性能测试,建议企业可以通过第三方测试机构进行APP测试。

APP性能测试(1):FPS测试

adb 计算帧率:

adb 计算帧率:

帧率:FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。30FPS是一般录像的常用帧数,30FPS在快速动作的时候会感觉不流畅。60FPS是一般游戏的常用帧数。

绝大部分时间两者(Android和IOS)都能保持60FPS左右的满帧率。但都会有偶尔的掉帧。并且Android上要比IOS上严重很多。掉帧导致卡顿,用户必然会感觉到掉帧那一刻的不流畅。

FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅一般来说,Android设备的屏幕刷新率为 60帧/s ,要保持画面流畅不卡顿,要求每一帧的时间不超过 1000/60=16.6ms ,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。

FPS 通常作为衡量应用是否流畅的标准。

FPS 即 Frames per Second(每秒显示的帧数),用于测量显示帧数的度量。帧数为 0 说明页面处于静止,只要页面动起来,这个帧数就会有变化,然后再趋于静止,页面滚动起来帧数整体呈现 “非对称” 抛物线走势。接下来看一张图直观感受一下:

通过上图我们能看出 FPS 值的大小对画面流畅度的影响,每一帧都是静止的图像,快速连续地显示帧便形成了运动的假象,因此高帧率可以得到更流畅、更逼真的动画。

帧延迟的高低可以通过帧时间(Frame Time)来判定。我们参考显示器的 60Hz 刷新率进行计算,它意味着每秒刷新 60 帧,每帧大约用时 16.7 毫秒。画面中每帧生成时间如果与 16.7 毫秒很接近,那么全程画面的帧数就很稳定,更接近理想的 60 帧每秒。

如果每帧生成时间高于 16.7 毫秒,也就意味着渲染这一场景所花费的时间比其他帧更多,造成画面跟不上,进而带来显示卡顿。

手机的 CPU 处理速率、屏幕尺寸、内存及显存的大小都影响着 APP 帧率的大小,这些因素在一定程度上约束着准备数据和数据传到屏幕的时间。再者,GUI 软件架构在一定程度上也影响着应用帧率的大小。

在同等机器环境下,除去 CPU、屏幕尺寸及系统 GUI 等固有数据传输耗时,要提升应用 FPS 就要减少视图渲染的时间。

1、尽量不要在刷新时做耗时操作,例如准备数据,创建图片,图片变换等,数据和图片都应该在之前就加载到内存中,图片变换用 canvas 的变换来实现。

2、同一个界面中多个动画重叠出现时,尽量将动画的刷新过程统一刷新,避免频繁的 invalidate,尤其是多个动画有时序上的关系时更应该统一。

3、尽量使用带有参数的 invalidate 来刷新,这样可以减少很多运算量。

APP也需要关注FPS、Jank及卡顿率。只是需要区分使用场景,如:

只需关注FPS,理论FPS应该为0,否则,说明有冗余刷新,容易引起手机发热及耗电。

只需关注FPS,FPS处于合适值即可,无需高频刷新。

需要关注FPS、Jank及卡顿率。手机交互灵敏度就是来源于此,Android系统才出黄油计划Jank。一般滑动状态下,帧率越高越好,Jank越小越好。

需要关注FPS、Jank及卡顿率,视频卡顿直接影响用户。视频一般帧率18-24帧,Jank=0。比如微信播放视频、视频播放器等。

注:

引用来源

5条大神的评论

  • avatar
    访客 2023-01-03 下午 07:08:59

    起来,这个帧数就会有变化,然后再趋于静止,页面滚动起来帧数整体呈现 “非对称” 抛物线走势。接下来看一张图直观感受一下: 通过上图我们能看出 FPS 值的大小对画面流畅度的影响

  • avatar
    访客 2023-01-04 上午 02:58:58

    ,因为APP的性能测试分为服务器端的性能和手机端的性能测试。下面,我们先从服务器端的性能测试开始说起,服务器端的性能测试可以通过LoadRunner或Jmeter工具进行测试,为方便起

  • avatar
    访客 2023-01-03 下午 04:19:33

    一。 3、尽量使用带有参数的 invalidate 来刷新,这样可以减少很多运算量。 APP也需要关注FPS、Jank及卡顿率。只是需要区分使用场景,如: 只需关注FPS,

  • avatar
    访客 2023-01-03 下午 07:20:51

    频一般帧率18-24帧,Jank=0。比如微信播放视频、视频播放器等。 注: 引用来源

  • avatar
    访客 2023-01-03 下午 08:25:31

    。60FPS是一般游戏的常用帧数。 绝大部分时间两者(Android和IOS)都能保持60FPS左右的满帧率。但都会有偶尔的掉帧。并且Android上要比IOS上

发表评论