面试题:如何测试App性能?

为什么要做App性能测试?

如果APP总是出现卡顿或网络延迟的情况,降低了用户的好感,用户可能会抛弃该App,换同类型的其他应用。如果APP的性能较好,用户体验高,使用起来丝滑顺畅,那该应用的用户粘性也必然会提高。

面试题:如何测试App性能?

那我们该如何做App性能测试,以及该关注哪些指标呢?

怎么做App性能测试?

目前,基本上都使用现有的工具来进行性能测试,比如 Android studio 中有自带工具。

也有其他公司开源的一些 性能测试的工具,主要还是分为两种,一种是自研的,一种是外部提供的开源/收费的。

自研:一般每家公司都会有都会有自研的收集性能数据的平台,当然有些是购买的外部的服务,经过二次开发之后再供使用。

开源:各大公司都有一些开源的软件免费供大家使用。

下面几款开源工具:

1、TraceView

TraceView 是Android平台配备一个性能分析的工具,用于分析计算性能,跟踪方法耗时导致的卡顿问题。它使用图形化的方式把结果呈现出来,直观的反应出代码的执行时间、执行次数。

如何使用:通过Android studio自带的traceview查看即可(Android profiler)。开发人员使用此工具的比较多,测试人员一般使用其他的开源App。

2、Emmagee

网易开发的一个Android性能监测工具,它可以可以监控单个应用性能, 并且支持用户自定义配置监控的采样频率以及性能的实时显示,最终会生成一份性能统计文件。

开源地址:https://github.com/NetEase/Emmagee  ,在该地址可以下载到Emmagee 的安装包以及相关使用说明,只支持Android

3、GT

GT(随身调)是腾 讯开源的,它支持iOS和Android两个手机平台。

GT Android版是腾讯 MIG 专项测试组自行研发的 Android APP 随身调测平台,它是直接运行在手机上的“集成调测环境”(ITE, Integrated Test Environment)。

利用GT,仅凭一部手机,无需连接电脑,即可对APP进行快速的性能测试(CPU、内存、流量、电量、帧率/流畅度等等)、开发日志的查看、Crash日志查看、网络数据包的抓取、APP内部参数的调试、真机代码耗时统计等。

开源地址:https://github.com/Tencent/GT 

4、soloPi

支付宝开源的Android自动化工具,主要有录制回放、性能测试、一机多控三项主要功能。

录制回放:SoloPi拥有录制操作的能力,用户只需要通过SoloPi执行用例步骤,SoloPi就能够将用户的操作记录下来,并且支持在各个设备上进行回放,这一切都能够在手机上独立完成。

性能测试: SoloPi能够记录待测应用的各项指标,你可以在悬浮窗中观察实时更新的数据,也可以对性能数据进行录制,在录制结束后查看图表;同时,Soloπ还支持性能加压,能够对CPU、内存进行限制,复现应用在性能较差、网络环境不佳场景下的表现。

一机多控:SoloPi支持通过操作一台主机设备来控制多台从机设备,不需要在各个设备上分别进行重复冗杂的兼容性测试,能够极大提升兼容性测试的效率。

开源地址:https://github.com/alipay/SoloPi/wiki/Performance

市面上常见的性能测试工具就这几款,可以根据自己的需求选择。笔者最近常用SoloPi。

APP性能测试关注哪些指标?

1、启动耗时

App启动耗费的时间是我们一个重要的时间,其中又分为热启动和冷启动等。

测试启动时间比较依赖人为判断,一般我们是通过录屏,然后使用分帧的工具对 启动时屏幕渲染的过程做一个精细化的耗时分析。

优点:能真实反馈App的耗时;无侵入,离线分析,可对竞品进行精细化分析

缺点:判断时间比较依赖人肉眼判断,自动化工具无法判断。

2、单位时间耗电量、单位时间网络流量消耗

3、移动终端相关资源的利用率:不仅仅服务器端的CPU、内存、磁盘I/O、网路是性能测试关注的重要内容,移动端的CPU、内存也是我们需要关注的内容之一。

  • cpu    主要关注运行时cpu占有率和后台情况下的cpu占有率;
  • 内存    进入某个业务场景下的的内存增量, 和 在多链路执行国购的 内存总消耗。

4、业务响应时间、帧率(fps):由于人类的特殊结构,当看画面的帧率高于24的时候,就会认为是连贯的。fps越高,画面越流畅。

  • FPS    分为滑动时的FPS,如果涉及视频/动画/直播,还要该业务运行时的FPS。

以上,对APP性能测试做了个简单的介绍,了解了常见的工具以及性能指标,后续要学习的就是如何设计APP性能测试用例、APP性能测试的执行以及报告的编写等等~

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/138491.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于水基湍流优化的BP神经网络(分类应用) - 附代码

基于水基湍流优化的BP神经网络(分类应用) - 附代码 文章目录 基于水基湍流优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.水基湍流优化BP神经网络3.1 BP神经网络参数设置3.2 水基湍流算法应用 4.测试结果…

UR构型的奇异点

关节5与关节4平行时,发生腕部奇异关节234共面时,发生肘部奇异关节56交点在关节12轴线组成的平面内时,发生肩部奇异 下面这段视频说明了UR构型机器人奇点的三种类型。 参考链接: https://www.mecademic.com/academic_articles/si…

Linux文件管理(上)

一、VIM编辑器 1、vi概述 vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。 2、vim编辑器 Vim(Vi improved)是vi编辑器…

The given SOAPAction http__xxxxx_xx does not match an operation

这是在客户端调用服务端接口时报出的错误,主要是客户端在调用时设置了SOAPAction,参考如下: 解决方案 在注解WebMethod() 中加上action注解,设置上一模一样的SOAPAction即可,如下: WebMethod(action &qu…

模型量化笔记--对称量化和非对称量化

1–量化映射 量化映射的通用公式为: r S ( q − Z ) r S(q - Z) rS(q−Z) 其中r表示量化前数据的真实值,S表示缩放因子,q表示量化后的数值,Z表示零点 2–非对称量化 非对称量化需要一个偏移量Z来完成零点的映射,即量化前的零…

opensl学习——base16编码解码、base64编码解码、ASCII码表、扩展ASCII码

文章目录 ASCII表概述base家族简单说明 Hex(十六进制)编码、Base32编码、Base64编码、base256编码base16编码与解码base64编码概述转换过程不足 3 字节处理方法例子一,不足3字节,只有一个字节例子二,不足3字节,只有两个字节 base64示例代码1代码分析 acl…

Redis常用数据类型、Redis常用命令

Redis常用数据类型、Redis常用命令: Redis常用数据类型:1. 字符串String 类型2. 哈希hash 类型3. 列表list 类型4. 集合set 类型5. 有序集合sorted set / zset 类型 Redis常用命令:1. 字符串操作命令2. 哈希操作命令3. 列表操作命令4. 集合操…

基于JAYA优化的BP神经网络(分类应用) - 附代码

基于JAYA优化的BP神经网络(分类应用) - 附代码 文章目录 基于JAYA优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.JAYA优化BP神经网络3.1 BP神经网络参数设置3.2 JAYA算法应用 4.测试结果:5.M…

BUUCTF学习(5): 命令执行Ping

1、介绍 2、解题 127.0.0.1|cat /flag 结束

基于梯度优化的BP神经网络(分类应用) - 附代码

基于梯度优化的BP神经网络(分类应用) - 附代码 文章目录 基于梯度优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.梯度优化BP神经网络3.1 BP神经网络参数设置3.2 梯度算法应用 4.测试结果:5.M…

Godot C# 扩展方法持续更新

前言 为了简化Godot 的编写&#xff0c;我会将我的扩展方法写在这里面。 更新日期(2023年10月15日) Nuget 包安装 扩展方法 public static class GD_Extension{/// <summary>/// 假数据生成&#xff0c;详情请看Bogus官方文档/// </summary>public static Faker…

离线 notepad++ 添加到右键菜单

复制下面代码&#xff0c;修改文件后缀名为&#xff1a;reg Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NotePad] "Notepad" "Icon""D:\\Notepad\\notepad.exe,0"[HKEY_CLASSES_ROOT\*\shell\NotePad\Command] "D:\…