软件测试从业者适用性能面试题

2024-03-25 23:32

本文主要是介绍软件测试从业者适用性能面试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

185eb9718b59313394f657fd18789cff.png

1) 什么是性能测试?

答案:系统在一定的压力情况下,查看cpu,内存,磁盘,网络带宽,TPS、响应时间、并发用户数、等各项指标,通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求,就是在特定的运行条件下验证系统的能力状况。

2) 什么是负载测试?

答案:负载测试主要是考察软件系统在既定负载下的性能表现。就是站在用户的角度去观察一定条件下软件系统的性能表现。期望结果是用户的性能指标需求得到满足。性能指标一般体现为响应时间、并发量等。

3) 性能测试包含的方法有哪些(至少列举5种)?

答案:SEI 负载测试计划过程,RBI方法,性能下降曲线分析法,Loadrunner和segue提供的性能测试方法,PTGM模型。

4) 描述性能测试的步骤?

1、业务学习

2、需求分析

3、工作评估

4、设计模型

5、计划编写

6、脚本开发

7、测试环境准备

8、测试数据的准备

9、测试执行

10、缺陷管理

11、性能分析

12、性能调优

13、测试报告

5) 什么时候开始执行性能测试?

答案:功能测试已完成并稳定运行,性能测试环境已搭建

6) 软件性能测试的应用领域有哪些(至少列出三种)?

l 能力验证

l 能力规划

l 性能调优

l 缺陷发现

7) 请描述SEI软件性能测试过程?

答案:SEI 负载测试计划过程将目标、用户、用例、生产环境、测试环境和测试场景6个区域作为负载测试计划需要重点关注和考虑的内容,重点关注以下几个方面的内容:

  1. 生产环境和测试环境的不同

  2. 用户分析

  3. 用例

8) 请描述RBI软件性能测试过程?

答案:RBI方法是Empirix公司提出的一种用于快速识别系统性能瓶颈的方法,该方法基于以下一些事务:

1. 80%的系统性能瓶颈由吞吐量制约。

2. 并发用户数和吞吐量瓶颈之间存在关联。

3. 采用吞吐量测试能够更快速的定位问题。

RBI方法先访问“小页面”和“简单应用”,从应用服务器、网络等基础层次上去了解系统吞吐量表现;再选择不同场景、设定不同并发数,使吞吐量保持趋势增长,观察系统的性能表现。按照“自上而下”的方式进行分析,首先确定是并发还是吞吐量引发的性能表现限制,然后从网络、数据库、应用服务器、代码本身4个环境确定系统性能具体的瓶颈。

9) 请描述LR性能测试过程?

1. 计划测试: 测试需求收集、典型场景确定。

2. 测试设计: 测试用例设计。

3.创建VU脚本: 根据用例创建脚本。

4. 创建测试场景: 测试场景设计和设置,包括监控指标设定。

5. 运行测试场景: 执行测试场景,收集相应数据。

6. 分析结果: 结果分析和报告工作

10) 对于采用敏捷流程开发的项目,性能测试该如何开展?

答案:

  1. 每个迭代目标中包含明确的性能目标

  2. 建立不同层次的性能测试

  3. 完全或接近完全自动化的性能测试

  4. 使用测试驱动方法保证性能与优化性能

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

答案:2/5/10S,不同行业业务也有不同,非绝对。

在2秒之内给客户响应被用户认为是“非常有吸引力”的用户体验。

在5秒之内给客户响应被用户认为是“比较不错”的用户体验。

在10秒之内给客户响应被用户认为是“糟糕”的用户体验。

12) RBI软件性能测试过程认为,多少比例的性能瓶颈问题是由吞吐量导致的?

答案:80%

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

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

14) 请描述什么是吞吐量?

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

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

从网络角度看,吞吐量可以用:字节/秒来衡量

对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,它能够说明系统的负载能力

15) 一个web系统,用户从打开浏览器输入网址页面显示在浏览器中,这个过程当中,页面给用户总的响应时间通常可以细分为哪些?

答案:从客户端到服务端的请求时间(请求网络传输时间request),从服务端返回数据到客户端的时间(响应网络传输时间response),页面渲染时间(客户端浏览器加载页面的时间),处理器的处理时间(应用服务器+数据库服务器处理时间)。

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

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

对地铁这个系统而言,每个时间都有新来的人,也有走的人,大家做的事情基本都相同,乘地铁。假定某个时刻地铁大厅中有10000人,检票口候车的有100人,刚刚开走的地铁上乘有2000人,那此时对考察的系统(列车)而言,并发就是2000人,而如果考察的是检票处,则并发为100人,同样,如果考察的系统是地铁大厅,那此时的并发就是10000人。这种并发我们一般称之为“广义并发”。

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

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

答案:响应时间

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

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

19) 软件为什么会有性能问题?

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

20) 响应时间和吞吐量直接的关系是什么?

答案:

吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响应时间差不多在同时出现。

平均响应时间越短,系统吞吐量越大;平均响应时间越长,系统吞吐量越小;

21) 如何识别性能瓶颈?

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

首先,要先做一份现有系统的性能测试报告,如CPU消耗、内存消耗、磁盘I/O、网卡I/O、带宽、页面交换等,如果发现其中一项或多项达到瓶颈,那么就要考虑是硬件不够导致性能上不去,还是系统实现不合理导致满了;如果是硬件问题,那么就早考虑扩容;如果是资源都没到极限或确认系统实现有问题,那么就要针对性的对系统相应功能进行相应的拆解或者是监控函数级的耗时。

RBI+变量控制法

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

答案:cpu,内存,磁盘,网络

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

答案:cpu,内存,磁盘,网络

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

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

对于长时间运行的程序来说,内存泄漏会使程序占用的内存一直增加,最后就会出现内存耗尽而导致宕机,即使不宕机也会是系统的运行越来越慢,还有就是有些内存有其他资源,比如数据库连接,网络连接等等这些,如果在网上会出现阻塞。

25) 请解释什么是资源竞争,场景的资源竞争有哪些?

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

java多线程资源竞争

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

答案:能力评估

27) 如何设计系统负载策略?标准是什么?

答案:加压实行减半,标准是系统的性能基线,就是在系统的cpu、内存都不低于75%,响应时间小于3s时测出来的用户数和标准为参考基线。

28) 什么是think time ?它的作用是什么?

答案:思考时间是指用户在进行操作时,每个请求之间的间隔时间

在测试脚本中,思考时间体现为脚本中两个请求语句之间的间隔时间。

设置思考时间是为了更加真实的模拟用户操作。

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

答案①系统的响应时间;

  ②系统状态的相关信息,如:CPU、内存、应用服务器状态、JVM可用内存、数据库的状态等;

  ③系统的可扩展性,处理并发的能力;

  ④系统可能的最大容量,可能的性能瓶颈,通过更换哪些设备或是进行哪些扩展能够提高系统性能;

  ⑤长时间运行是否足够稳定,是否能够不间断的提供业务服务等;

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

答案(1)系统架构:架构设计是否合理;

  (2)数据库设计:数据库设计是否存在问题;

  (3)代码:代码是否存在性能方面的问题,系统中是否有不合理的内存使用方式;

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

31) 请描述压力测试和负载测试的区别?

答案:压力测试的预期结果就是系统出现问题,我们考察的是系统处理问题的能力。

负载测试是考察软件系统在既定负载下的性能表现。

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

32) 请描述什么时候性能平坦区?

答案:系统性能最优秀的区间,该区域可被用作基线。性能不断加压,没有什么变化。

33) 请描述什么是系统性能拐点?

答案:性能开始急剧下降的点。

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

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

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

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

36) 请描述功能测试、性能测试、自动化测试、接口测试他们之间的关联性?

答案:功能测试->接口测试 ->性能测试->自动化测试

接口测试也算是功能测试的一种

37) 你自认为你自己的优势在哪里,对性能测试有没有你自己的理解?

答案:jmeter linux监控 脚本编程

38) 你自认为你本人做性能测试工作的优势在哪里?

答案:主要是描述你的技术强 业务适应ne

39) 你找工作时,最重要的考虑因素是什么?

答案:是否有发展空间

40) 你在五年内的个人目标和职业目标分别是什么?

答案:个人目标就是不断的积累性能方面的知识,达到高级性能测试工程师

推荐阅读

性能测试之如何分析CPU异常曲线

阿里线上Bug排查命令&工具清单!必须收藏!

测试经理:"抓个包都不会?回家种地得了!"

这篇关于软件测试从业者适用性能面试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846608

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

PR曲线——一个更敏感的性能评估工具

在不均衡数据集的情况下,精确率-召回率(Precision-Recall, PR)曲线是一种非常有用的工具,因为它提供了比传统的ROC曲线更准确的性能评估。以下是PR曲线在不均衡数据情况下的一些作用: 关注少数类:在不均衡数据集中,少数类的样本数量远少于多数类。PR曲线通过关注少数类(通常是正类)的性能来弥补这一点,因为它直接评估模型在识别正类方面的能力。 精确率与召回率的平衡:精确率(Pr