史上最全,资深老鸟整理-性能测试面试题汇总

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、什么是负载测试?什么是性能测试?

负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担,在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。

负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

性能测试主要使用场景测试软件系统的性能是否满足生产性能的要求,包括负载测试,强度测试,数据库容量测试,基准测试以及竞争(并发,用户)测试

2、性能测试包含哪些测试?(至少举出三种)

负载测试、压力测试,稳定性测试,基准测试

3、简述性能测试步骤

第一步:需求分析、测试计划,设计测试用例
第二步:测试设计和开发(测试脚本录制及调试,测试场景设计)
第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景)
第四步:测试结果分析,性能问题定位,测试报告评估

4、什么时候可以开始执行性能测试?

功能测试通过,一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块

5、响应时间和吞吐量之间的关系是什么?

当系统吞吐量未达到系统处理极限时,系统性能不会衰减,交易平均响应时间一般也不会递增,当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待。

等待的时间会记录在响应时间中,故交易平均响应时间一般会递增

6、软件性能测试的应用领域有哪些?

能力验证:某系统能否在A条件下具有B能力

能力规划:如何使系统具有我们要求的性能能力或者某种可能发生的条件下,系统具有如何的性能能力?
性能调优、缺陷发现。

7、对于Web系统的响应时间,行业中被广泛认可的用户可以接受的时间是多少秒?

2/5/10S

8、在性能测试中,通常需要关注哪些性能指标?

响应时间、并发数、吞吐量、系统性能计数器、思考时间

9、请描述什么是吞吐量?

单位时间内系统处理用户的请求数。

从业务角度看,吞吐量可以用:请求数/秒、业务数/秒、人数/天或处理业务数/小时等单位来衡量

从网络角度看,吞吐量可以用:字节/秒来衡量
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,它能够说明系统的负载能力

10、TPS是什么意思?

单位时间内处理的事务数

11、TPS和QPS

当⼀次⽤户操作只包含⼀个请求接⼝时,TPS和QPS没有区别。当⽤户的⼀次操作包含了多个服务请求时

Qps基本类似于Tps,但是不同的是,对于⼀个页⾯的⼀次访问,形成⼀个Tps;

但⼀次页⾯请求,可能产⽣多次对服务器的请求,服务器对这些请求,就可计⼊“Qps”之中

12、请举例说明什么时候广义并发和严格并发?

广义并发:广义的并发实际上是在一个时间内操作事务的虚拟用户,是存在。

对地铁这个系统而言,每个时间都有新来的人,也有走的人,大家做的事情基本都相同,乘地铁。

假定某个时刻地铁大厅中有10000人,检票口候车的有100人,刚刚开走的地铁上乘有2000人,那此时对考察的系统(列车)而言,并发就是2000人,而如果考察的是检票处,则并发为100人。

同样,如果考察的系统是地铁大厅,那此时的并发就是10000人。这种并发我们一般称之为“广义并发”。

严格并发:是指大量用户在同一时刻在软件系统上做完全相同的功能操作或相同类型的功能操作。例如双十一的秒杀商品

13、一个web系统,用户最关注的性能指标是什么?

响应时间

14、一份性能测试计划,通常包含哪些内容?

测试目的,测试质量目标,测试环境,测试阶段和范围,测试策略,测试时间安排,测试用例

15、如何识别性能瓶颈?

找出最先出问题的点,即短板,再进行分析。

首先,要先做一份现有系统的性能测试报告,如CPU消耗、内存消耗、磁盘I/O、网卡I/O、带宽、页面交换等。

如果发现其中一项或多项达到瓶颈,那么就要考虑是硬件不够导致性能上不去,还是系统实现不合理导致满了;

如果是硬件问题,那么就早考虑扩容;

如果是资源都没到极限或确认系统实现有问题,那么就要针对性的对系统相应功能进行相应的拆解或者是监控函数级的耗时

16、性能测试过程中,需要监控OS的哪些资源?

cpu,内存,磁盘,网络

17、请解释什么是资源竞争?

多个用户都去用同一个东西,但这个东西被一人锁定,就产生了资源竞争
竞争锁

18、验证系统在100 TPS下,响应时间小于3s,对于这样的需求,应该采用哪种性能测试方法?

能力评估

19、从管理员角度视角,主要关注系统性能的哪些指标?

①系统的响应时间;
②系统状态的相关信息,如:CPU、内存、应用服务器状态、JVM可用内存、数据库的状态等;
③系统的可扩展性,处理并发的能力;
④系统可能的最大容量,可能的性能瓶颈,通过更换哪些设备或是进行哪些扩展能够提高系统性能;
⑤长时间运行是否足够稳定,是否能够不间断的提供业务服务等;

20、从开发工程师视角,主要关注系统性能哪些指标?

系统架构:架构设计是否合理;
数据库设计:数据库设计是否存在问题;
代码:代码是否存在性能方面的问题,系统中是否有不合理的内存使用方式;

设计与代码:系统中是否存在不合理的线程同步方式,系统中是否存在不合理的资源竞争

21、请描述压力测试和负载测试的区别?

压力测试的预期结果就是系统出现问题,我们考察的是系统处理问题的能力。
负载测试是考察软件系统在既定负载下的性能表现。

压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行

22、对于一个缺乏性能明确需求的项目,你是如何提取性能需求的?

与客户交流,查看历史日志,跟同类产品对比,根据以往的经验

23、一个完整的性能测试用例应该包含哪些内容?

测试用例编号,项目标题,测试标题,重要级别,预置条件,输入,操作步骤,输出,测试结果,测试者和时间

24、性能测试的步骤以及性能测试最难的地方是什么?

性能测试步骤:
准备工作,包括系统基础功能验证、测试团队组建、工具的选择、预先的业务场景分析。
测试计划。
测试脚本设计与开发
测试执行与管理。
测试分析

性能测试最难的地方:
性能测试模拟真实负载是比较困难的,性能测试很多情况下只能作为参考,用来发现明显的性能问题。如果要做到100的准确,还是要做线上的即时监控才行

25、如何进行性能测试,如何看它的性能?

性能需求分析:明确到底要不要做性能测试,明确被测系统特点、基本业务、关键业务、用户行为,性能测试范围,明确性能测试目标及性能指标,性能测试策略。

进行测试用例的设计、测试脚本开发与调试、测试环境和测试数据的准备。

利用jmeter工具进行性能测试。

得出测试数据,进行系统优化,完成测试报告。

如果利用jmeter测试工具,利用聚合报告可以看出它的性能,根据性能测试数据与测试性能指标进行比对,达到性能指标说明性能良好

26、APP性能测试的关注点?

响应
内存
cpu
FPS (app使用的流畅度)
GPU过度渲染
耗电
耗流

27、压力测试怎么测,测过最大的用户量多少?

需求分析
场景建模
测试数据准备
脚本开发&调试
脚本执行&记录监控
结果分析&瓶颈定位
调优&验证,最大用户量是5000

28、如何识别性能瓶颈?

性能瓶颈分为:硬件瓶颈和软件瓶颈

性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、web服务器监控、数据库服务器监控器和网络监控器;

他们可以帮助分析导致响应时间增加原因;性能度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等

29、如果web服务器、数据库以及网络都正常,问题会出在哪里?

问题可能出在系统本身或应用服务器、或为应用编写的代码中

30、你如何设计负载?标准是什么?

负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。
主要基于两个重要的文档,任务分布图和事务信息。

任务分布图告诉在负载时间段内,某一事务使用的用户数,高峰使用率及低峰使用率均来自该文档,事务信息告诉我们事务名及优先级,在设计场景可以参考

31、软件为什么会有性能问题?

软件在高负载访问下,业务逻辑比较复杂。软件是运行在环境当中的,不同的软硬件资源都会引起性能问题,还有软件本身的代码、数据库等引起的性能问题

32、请解释什么是内存泄露,内存泄露的危害有哪些?

内存泄漏是指对象不再被应用程序使用,但是垃圾回收器却不能回收它们,因为它们正在被引用。

对于长时间运行的程序来说,内存泄漏会使程序占用的内存一直增加,最后就会出现内存耗尽而导致宕机,即使不宕机也会是系统的运行越来越慢。

还有就是有些内存有其他资源,比如数据库连接,网络连接等等这些,如果在网上会出现阻塞。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

成功属于那些敢于梦想、勇于奋斗的人。让我们一起勇往直前,用实际行动去实现梦想,让人生因我们的奋斗而更加精彩!

奋斗是实现梦想的唯一途径,只有不断努力和拼搏,我们才能抵达成功的彼岸。让我们一起勇往直前,用汗水浇灌希望,让梦想照亮前行的道路!

人生就像一场旅行,只有不断前行,才能领略到不同的风景。让我们一起奋斗,用实际行动去实现梦想,让人生因我们的奋斗而更加精彩!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git 分支的创建与删除

一 创建本地分支 git checkout -b codetwo //创建本地分支 codetwo git branch newcode //创建本地分支newcode创建的分支如下图: 用checkout的方式创建,只是创建的同时还切换到了这个本地分支 二 创建远程分支 git branch newcode //创…

【开源】基于JAVA语言的木马文件检测系统

项目编号: S 041 ,文末获取源码。 \color{red}{项目编号:S041,文末获取源码。} 项目编号:S041,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 木马分类模块2.3 木…

一次整活,暴涨1100万播放!B站内容风向吹到哪了?

高能整活,千万曝光 “我准备打造一个钢铁的地下安全屋。” B站UP主手工耿近期整了一个大活,脑洞大到让B站用户不停地惊掉下巴。 UP主手工耿在B站拥有776.7万粉丝,一直以来以制造一些“看起来没用”的电焊工艺产品为内容看点,灵…

IO多路复用(新)

1.前景回顾 无论是阻塞IO还是非阻塞IO,用户应用在一阶段都需要调用recvfrom来获取数据,差别在于无数据时的处理方案: 如果调用recvfrom时,恰好内核没有数据,那么阻塞IO会使用户进程阻塞,非阻塞IO使CPU进行空…

C语言面试之旅:掌握基础,探索深度(面试实战之单片机——IO)

梦想和自由一样,都有代价,但都值得。 ----小新 引言 单片机是一种微控制器,它包含一个处理器、存储器、定时器和I/O端口等。I/O端口是单片机与外部设备进行通信的接口。通过I/O端口,外部设备可以输入和输出数据到单片机中。 在单…

华为对优秀项目经理的三点要求

大家好,我是老原。 一位优秀的项目经理应该肩负什么样的职责和使命? 华为轮值董事长徐直军在《致研发全体PL的一封信》中表示:Project Leader(项目经理)要从一个独立贡献者转变成为团队贡献者,项目经理带…

【从零认识ECS云服务器 | 快速上线个人网站】二、使用ECS云服务器

第二章 使用ECS 2.1 获取ECS 方式一:通过试用中心免费领取ECS实例 满足以下全部条件的阿里云用户,可免费试用云服务器ECS: 阿里云注册会员用户并完成阿里云企业认证或个人认证用户。申请用户是云服务器ECS产品的新用户,可以申…

电源滤波器如何检测?ATECLOUD-POWER电源自动测试软件如何助力?

电源滤波器常用来对电源中的纹波和干扰信号进行滤波,从而确保元器件不受损坏,是保证系统稳定性的重要方法。因此电源滤波器测试是非常重要的,通过检测来评估其质量、性能和稳定性,从而使电源滤波器可以稳定工作,进行滤…

UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

UniApp 运行到浏览器的时候,接口会跨域报错,这里通过两种方式解决,第一:修改Uniapp自带的manifest.json 源码视图并进行配置h5设置。第二:在项目根目录新建vue.config.js并配置代理。 二选一即可。 修改或调整配置文件…

[实践总结] Java中读取properties配置文件

读取此key.properties文件 代码实现 import java.io.IOException; import java.io.InputStream; import java.util.Properties;public class PropertyUtils {private static final Properties properties new Properties();static {try (InputStream resourceAsStream Prope…

React--引入第三方插件时,标签名是小写报错问题

报错信息 报错原因 1.组件名得大写 2.缺少 import 语句 解决方案 declare global{namespace JSX{interface IntrinsicElements {micro-app: any}} }

istio为什么能代替传统的SpringCloud 服务网格Istio概述

服务网格Istio概述 什么是服务网格(Service Mesh)?istio简介边车模式(Sidecar)为什么istio能代替传统SpringCloud?整体架构 首先奉上 istio官网 什么是服务网格(Service Mesh)? 服务网格详解 服务网格(Se…

SL4010升压恒压控制器芯片 2.5V启动 最大10A电流 支持300W大功率

SL4010是一款升压恒压控制器芯片,它具有2.5V启动、最大10A电流、支持300W大功率等特点。该芯片采用先进的控制技术,能够实现高效的电能转换,同时保持稳定的输出电压和电流。 SL4010芯片的主要功能是将输入的直流电压升高到所需的电压&#xf…

Http中post和get

get产生一个tcp数据包,服务器只响应一次,而post请求服务器会响应两次(第一次发送请求头响应100,再次响应返回200,成功

配置主机与外网时间服务器同步时间

目录 NTP服务简介 时间管理命令 第一步:更改当前主机所在地的时间 方法一:使用tzselect命令查询需要的时区 1、使用tzselect命令查询需要的时区 2、添加变量到 ~/.bash_profile 文件中,即追加类似的内容: 3、重新连接一个…

HashMap系列-放入元素的流程

1.put public class HashMap<K,V> extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable {//通过key生成hash后&#xff0c;调用putVal方法public V put(K key, V value) {return putVal(hash(key), key, value, false, true);} } 2.put…

【沐风老师】3DMAX切片工具插件安装使用方法详解

3DMAX切片工具安装使用方法 3DMAX切片工具&#xff0c;该工具沿世界坐标轴以规则的间隔对对象进行切片处理。例如&#xff0c;对于快速均匀细分复杂网格、顶点绘制或应用“弯曲”修改器非常有用。 【适用版本】 3dMax2016 - 2023&#xff08;不仅限于此范围&#xff09; 【安装…

【MATLAB源码-第96期】基于simulink的光伏逆变器仿真,光伏,boost,逆变器(IGBT)。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 光伏单元&#xff08;PV Cell&#xff09; 工作原理&#xff1a;光伏单元通过光电效应将太阳光转换为直流电。它们的输出取决于光照强度、单元温度和负载条件。Simulink建模&#xff1a;在Simulink中&#xff0c;光伏单元…

AHB 与 DMA

AHB&#xff08;先进高性能总线&#xff09; 随着深亚微米工艺技术日益成熟&#xff0c;集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法&#xff0c;发展到基于IP核复用的设计方法&#xff0c;并在SOC设计中得到了广泛应用。在基于IP核复用的SoC&#xff08;Syst…

【EI会议征稿中】第三届光学与机器视觉国际学术会议(ICOMV 2024)

第三届光学与机器视觉国际学术会议(ICOMV 2024) 2024 3rd International Conference on Optics and Machine Vision 第三届光学与机器视觉国际学术会议(ICOMV 2024)将于2024年1月19-21日在中国南昌举行。本次会议将围绕“光学”与"机器视觉”等研究领域展开讨论&#xf…