当前位置: 首页 > news >正文

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

为什么要做App性能测试?

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

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

怎么做App性能测试?

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

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

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

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

下面几款开源工具:

1、TraceView

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

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

2、Emmagee

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

  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。

  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受

  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛

  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙

  5. 可以免费学习!划重点!开源的!!!

  6. qq群号:455787643【暗号:csdn999】

3、GT

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

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

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

4、soloPi

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

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

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

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

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

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

1、启动耗时

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

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

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

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

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

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

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

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

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

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 即插即用篇 | YOLOv8 引入组装式Transformer模块AssembleFormer | arXiv 2024
  • vue-router路由
  • c++ boost : 保留最新文件其余删除
  • C语言蓝桥杯:语言基础
  • 小程序的右侧抽屉开关动画手写效果
  • javascript如何打印九九乘法表
  • Computer Exercise
  • 笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel与内核进程
  • C语言知识体系思维导图
  • 【828华为云征文|手把手教你如何用华为云Flexus X实例部署之前爆火的“人生重启“游戏】
  • EP8 我的页面布局
  • Win10系统Legacy转UEFI
  • 红海云 × 紫光同芯 | 数字化驱动芯片领军企业人力资源管理新升级
  • Vue项目异常:has no default export.Vetur(1192)
  • 基于Flink的流式计算可视化开发实践之配置->任务生成->任务部署过程
  • #Java异常处理
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2018一半小结一波
  • classpath对获取配置文件的影响
  • Date型的使用
  • extjs4学习之配置
  • mysql中InnoDB引擎中页的概念
  • Redis在Web项目中的应用与实践
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue 动态创建 component
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • win10下安装mysql5.7
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 简单数学运算程序(不定期更新)
  • 京东美团研发面经
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 使用common-codec进行md5加密
  • 思维导图—你不知道的JavaScript中卷
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 中文输入法与React文本输入框的问题与解决方案
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • ![CDATA[ ]] 是什么东东
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #define
  • #Java第九次作业--输入输出流和文件操作
  • (02)Hive SQL编译成MapReduce任务的过程
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (ibm)Java 语言的 XPath API
  • (LeetCode 49)Anagrams
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (接口自动化)Python3操作MySQL数据库
  • (七)glDrawArry绘制
  • (实测可用)(3)Git的使用——RT Thread Stdio添加的软件包,github与gitee冲突造成无法上传文件到gitee
  • (四) 虚拟摄像头vivi体验
  • (四)鸿鹄云架构一服务注册中心
  • (四)进入MySQL 【事务】
  • (一)appium-desktop定位元素原理
  • (转)shell调试方法