性能测试面试题:如何测试App性能?(面试必问)

news2024/11/15 21:45:17

为什么要做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.coloradmin.cn/o/671299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx入门?看这一篇就够了

Nginx?看这一篇就够了 前言Nginx介绍没有好用的?那就自己做一个!Nginx的发展历程Nginx的特性(为什么要用Nginx) 异步事件驱动同步事件驱动同步事件驱动的问题 异步事件驱动异步非阻塞与同步非阻塞并发和并行I/O多路复用…

【数据关联】基于Patch的对应特征关联,关联当前帧->参考帧,帧间追踪

帧间追踪与数据关联 1. WarpPixelWise(求当前帧特征点位置)1.1 函数功能1.2 函数输入输出1.3 算法步骤 2. GetWarpMatrixAffine(计算 当前帧->参考帧 仿射变换矩阵)2.1 函数功能2.2 函数输入输出2.3 算法步骤 3. GetWarpMatrixAffine(计算 当前帧->参考帧 仿射变换矩阵)3…

modbus TCP协议讲解及实操

具体讲解 前言正文modbus tcp主机请求数据基本讲解Modbus Poll工具简单使用讲解 modbus tcp从机响应数据Modbus Slave工具简单使用讲解 前言 关于modbus tcp从0到1的讲解,案例结合讲解,详细了解整个modbus的可以参考这个:详解Modbus通信协议…

【吃透网络安全】2023软考网络管理员考点网络安全(一)安全基础篇

涉及知识点 软考网络管理员,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈,这边提供个快捷入口! 第一节 网络管理员考点网络安全(1&#…

【广州华锐互动】钢厂轧钢事故3D虚拟体验还原真实事故场景

由于钢厂生产过程中涉及到高温、高压、高负荷等危险因素,一旦出现操作不当、设备故障等问题,就可能导致严重的事故。因此,对于钢厂员工来说,接受事故教育、了解安全知识非常重要,可以提高他们的安全意识,避…

大数据行业对学历要求高么

《2020中国大数据产业发展白皮书》显示,2019年中国大数据产业规模达5397亿元,同比增长23.1%,随后稳定增长,预计到2022年将突破万亿元。 根据LinkedIn、赛迪智库、拉勾网等机构的统计结果,大数据时代下的数据人才总体缺…

【软考程序员学习笔记】——程序设计语言

目录 🍊一、常见的程序设计语言 🍊二、程序设计语言组成 🍊三、后缀表达式 🍊四、传值调用和传址调用 🍊五、语言处理程序 🍊六、解释程序 🍊七、链接程序 🍊八、编译程序 &…

国产替代FT232RL-USB到UART桥接控制器 GP232RNL

GP232RNL是一款高度集成的USB到UART桥接控制器,提供了一种简单的解决方案,可以使用最少的元器件和PCB空间,将RS232接口转换为USB接口。GP232RNL包括一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带有完整的调制解调器控制信号的异…

Java GUI开发的几个小工具:apk/aab签名,验证签名,aab转apk

平时经常给apk/aab签名,验证签名,aab转apk等操作,每次输入命令行十分繁琐。于是利用JAVA GUI简单开发了几个jar包界面化工具,提供给大家一起使用。 工具功能JarSignerTool.jar为apk/aab签名ApkSignerTool.jar为apk签名AppSignVer…

Cloud Studio 浏览器插件来啦

当谈到Cloud Studio浏览器插件的优势时,最显著的就是它的便捷性。通过安装Cloud Studio浏览器插件,用户可以在浏览器中直接打开Cloud Studio的开发环境,无需切换到其他应用程序,从而提高了开发效率。 另一个优势是插件对于Github…

Logstash入门简介

目录 Logstash简介介绍用途部署安装测试配置详解输入过滤输出 读取自定义日志日志结构编写配置文件输出到Elasticsearch Logstash简介 介绍 Logstash是一个开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到…

了解一下EPC模式和它的优势

目录 什么是EPCEPC的优势有哪些?BT、BOT、EPC分别是什么模式?总结 什么是EPC EPC是Engineering(工程):代表设计、采购和施工总承包。Procurement(采购):代表采购和物资管理。Constru…

Stable Diffusion提示词总结

提示词基本语法 一、提示词类别 1、内容型提示词 人物及主体特征 服饰穿搭 white dress 发型发色 blonde hair,long hair 五官特征 small eye,big mouth 面部表情 smiling 肢体动作 stretching arms beautiful detailed eyes 美丽细致的眼睛 highl…

数字化如何推动快消品企业实现营销变革

近几年,不确定性在各行各业上演。尤其伴随新一代信息技术的快速发展,消费者的需求和购买渠道也在不断变化。这就要求企业需要通过对消费者潜在需求进行更加深度的挖掘,为消费者提供“更佳的体验”,从而释放消费能力。 在这样的大背…

HTTP协议中的GET和POST接口测试的区别

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言HTTP协议基础GET请…

CVPR2023中的数据集工作(共46篇)

本文搜集了CVPR2023中所有的以数据集发布为主的工作,共搜集到46篇。所有标题都附带文章超链接,请君享用~ An Image Quality Assessment Dataset for PortraitsLOGO: A Long-Form Video Dataset for Group Action Quality AssessmentTowards …

C++学习 数据类型

数据类型存在的意义: 给变量分配合适的内存空间,避免资源浪费。 整型: 整型变量表示的是整数类型的数据 long类型 在 windows 中4字节 linux 中 32位4字节 64位8字节,占用空间的不同,可以表示的取值范围就越广&…

hello TypeScript

在上一章节中我们介绍了typescript的产生背景,和使用typescript开发需要环境和工具,这一节我们就来感受一下typescript吧 一、第一个typescript程序,‘hello ts’ 1. 安装TypeScript编译器 在开始编译TypeScript文件之前,需要先…

LeetCode算法题---两数相加(二)

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

Python嵌套列表处理「有问必答系列1」

1. 提问🙋 teacher,如果想把列表里的子列表,拆出来,让他们变成一个列表,可以用什么[可怜] 解答 如果你有一个列表包含子列表,你可以使用Python的extend()函数或列表推导式来实现。下面是两种方法的例子&a…