Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >LoadRunner性能测试面试题总结(附答案)

LoadRunner性能测试面试题总结(附答案)

作者头像
用户6367961
发布于 2022-03-14 08:49:58
发布于 2022-03-14 08:49:58
1.5K0
举报
文章被收录于专栏:自学测试之道自学测试之道

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

负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担

在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。

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

2.性能测试包含了哪些测试(至少举出3种)

包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试

3.简述性能测试的步骤

第一步:需求分析、计划测试,设计测试用例

第二步:测试设计和开发(测试脚本录制及调试,测试场景设计)

第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景)

第四步:测试结果分析,性能问题定位,测试报告评估

4.简述使用Loadrunner的步骤

制定性能测试计划-》使用Vuser录制调试脚本VuGen-》用Loadrunner Controller设置场景-》运行场景-》监视场景by Loadrunner online runtime等-》分析测试结果

5.什么时候可以开始执行性能测试?

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

6.LoadRunner由哪些部件组成?

Virtual User Generator-生成用于“Controlier”部署的Vusers

LoadRunner Controlier-产生压力和搜集测试结果数据

LoadRunner Analysis-通过图表分析工具来编译和显示测试结果

7.你使用LoadRunner的哪个部件来录制脚本?

使用Virtual User Generator录制测试脚本

8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?

LoadRunner的Controller组件。

9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?

在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;

  集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状态下的性能。

  设置集合点函数:lr_rendezvous("Meeting"); // Meeting是集合点名称

10.什么是场景?场景的重要性有哪些?如何设置场景?

场景用于模拟用户实际业务操作;

  LoadRunner中场景有手工场景和面向目标的场景。

  设置场景:选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配置负载生成器。

11.请解释一下如何录制web脚本?

利用Virtual User Generator录制测试脚本,录制步骤:

1、选择合适的协议-Web(Http/Html),

2、设置录制选项(HTML-based Script/URL-based Script)

3、开始录制

12.为什么要创建参数?如何创建参数?

A12:LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。

  【参数化】:使用指定数据源中的值来替换脚本录制生成的语句中的参数。

  【参数化好处】

  ● 减少脚本的大小

  ● 提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。

  【参数化步骤】

  ● 用参数替换Vuser脚本中的常量值

  ● 为参数设置属性和数据源

13.什么是关联?请解释一下自动关联和手动关联的不同。

A13:【关联的定义】简单的说:就是把脚本中某些写死(固定)的数据,转变成动态的数据,或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。

  【需要关联的前提条件】:

  客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下一次请求的一部分发出。

  【自动关联与手工关联的不同】:自动关联是在脚本录制过程中,VuGen会根据已经制定好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过Correlation Studio自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本,输入的数据要相同,利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据,再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。

14.你如何找出哪里需要关联?请给一些你所在项目的实例。

A14:

  1、录制两份相同业务流程的脚本,输入的数据要相同

  2、利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据

  3、通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。

通过录制两份脚本,进行对比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp需要进行关联。

15.你在哪里设置自动关联选项?

录制选项中进行设置

16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工管联)

A16:Web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。

  1.函数原型:

  int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);

  2.参数说明:

  ParamNam:存放动态数据的参数名称

  List of Attributes:其它属性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。

17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?

在脚本运行调试成功后应关闭日志。创建发送函数和消息日志时用标准日志,创建警告和其他信息是用扩展日志。

18.你如何调试LoadRunner脚本?

在VuGen设置断点breakpoints,然后使用单步跟踪Run Step by Step,输出调试日志

19你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。

Give me few functions you wrote in your previous project? - Before we create the User Defined functions we need to create the external

library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format:

__declspec (dllexport) char* <function name>(char*, char*)

lr_load_dll("user32.dll");

Examples of user defined functions are as follows:GetVersion, GetCurrentTime, GetPltform are some of the user defined functions used in my earlier project.

20.在运行设置下你能更改那些设置?

pacing: 每个虚拟用户脚本包括三个部分:vuser_init, Run (Actions), vuser_end. 当你运行脚本的时候你能通知,虚拟用户重复执行run部分,每一个重复做为一个iteration.

注意:vuser_init 和vuser_end 部分是不被重复的。

Think Time Settings: 虚拟用户think time仿效一个真实用户在活动中等待的时间,例如:当一个用户从服务器接受数据的时候,在响应前这个用户需要等待数秒来接受数据,这个被耽搁的时间就是think time。

Error Handling:你能指定一个虚拟用户在脚本执行期间如何处理错误,默认的,当一个虚拟用户发现一个错误的时候,它会随着下一次重复继续下去,你能使用这个设置来通知虚拟用户当发生错误的时候是否继续执行脚本。

Run Logic:迭代次数

21.你在不同的环境下如何设置迭代?

A21:在“Run Time Settings”中设置

22.你如何在负载测试模式下执行功能测试?

A22:在负载测试模式下,可以通过同时运行数个虚拟用户,通过增加虚拟用户数,确定服务器在多大的负载量下,仍然可以正常运行,我一般进行核心功能操作,验证核心功能运行是否正常。

23.什么是逐步递增?你如何来设置?

A23:虚拟用户数随着负载时间逐渐增加,可以帮助确定系统响应时间减慢的准确时间点。

  可以在“加压”选项卡中进行设置:如下图所示,将设置更改为:“每 30 秒启动 2 个 Vuser”

24.以线程方式运行的虚拟用户有哪些优点?

A24:以线程方式运行的虚拟用户,在默认情况下,Controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。

25.当你需要在出错时停止执行脚本,你怎么做?

取消运行设置中的“Continue on error”复选框。

  或者使用lr_abort函数。

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

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

27.说明一下如何在LR中配置系统计数器?

 A27:以windows资源监控为例,可右键点“添加度量”,输入系统IP、选择平台类型,确定即可,详细参加LR自带操作手册^_^。

  对于监控不同类型的操作系统,需要做一些准备工作,可参见监控操作系统资源部分。

28.你如何识别性能瓶颈?

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

  性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、web服务器监控、数据库服务器监控器和网络监控器;它们可以帮助分析导致响应时间增加的原因;性能度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等。

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

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

30.如何发现web服务器的相关问题?

A30:可以利用web资源监控器发现web服务器相关问题,在场景执行过程中,可以利用监控器分析web服务器吞吐量、每秒点击率、每秒HTTP响应数、每秒页面下载数,以及web服务器硬件资源使用情况等。

31.如何发现数据库的相关问题?

A31:可以通过数据库监控器和数据资源图发现数据库相关的问题,例如在运行Controller之前,可以指定需要度量的资源,之后可以根据监控的数据,分析数据库相关的问题

32.解释所有web录制配置?

A32:选择录制协议、设置录制选项、选择浏览器、选择存放路径、开始录制。

33.解释一下覆盖图和关联图的区别?

A33:覆盖图:合并两个图的内容,使用同一个X轴,合并图左Y轴显示当前图的值,合并图右Y轴显示被合并图的值。

  关联图:当前活动图的Y轴变为合并图的X轴,被合并图的Y轴变成合并图的Y轴。

34.你如何设计负载?标准是什么?

 A34:负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。主要基于两个重要的文档,任务分布图和事务信息,任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档;

  事务信息告诉我们事务名及优先级,在设计场景时可以参考。

35.Vuser_init中包括什么内容?

A35:Vuser_init中包含在脚本执行过程中只需执行一次的脚本。一般来说,所有需要初始化的都可以放在vuser_init里面,比如登录。

36. Vuser_end中包括什么内容?

 A36:vuser_end中一般包含退出的过程,比如退出系统,主要在脚本执行完成或停止时运行,在设置了迭代次数时,vuser_end和vuser_int均只执行一次。

37.什么是think time?think_time有什么用?

A37:思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。

  通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。

38.标准日志和扩展日志的区别是什么?

A38:标准日志:脚本执行过程中,将函数集及信息发送到日志文件

  扩展日志:可以将详细的脚本执行信息输出到日志文件中,可以选择以下三种扩展日志信息:

  ● 参数替换:脚本运行过程中,可以将参数及当前参数值输出到日志文件中

  ● 服务器返回的数据:将服务器返回给客户端的数据输出到日志文件中

  ● 高级跟踪:所有的虚拟用户信息和函数调用输出到日志文件中

39.解释以下函数及他们的不同之处。

A39:lr_debug_message:发送调试信息到输出窗口或业务监控日志文件中

  lr_output_message:发送日志信息到输出窗口或业务监控日志文件中

  lr_error_message:发送错误信息到输出窗口或业务监控日志文件中

  lrd_stmt:赋予一个SQL语句用于处理

  lrd_fetch:获取结果集中的下一行数据

40.什么是吞吐量?

 A40:客户端每秒从服务器接收到的数据,或系统服务器每秒能处理通过的交易数。一般随着虚拟用户数的增加,吞吐量也增加,说明网络带宽比较充足,反之,吐过随着虚拟用户数的增加,吞吐量比较平稳,呈直线状态,则说明网络带宽成为瓶颈,限制了数据传输。

41.场景设置有哪几种方法?

A41:面向目标的场景设置和手动场景

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
性能测试面试题
性能测试是一个较大的范围,实际上性能测试本身包含了性能、强度、压力、负载等多方面的测试内容。
找Bug
2022/07/22
4430
LoadRunner12工具介绍(连载1)
LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式,来确认和查找问题。LoadRunner能够对整个企业架构进行软件测试。企业使用LoadRunner能最大限度地缩短软件测试时间及优化性能和加速应用系统的发布周期。LoadRunner适用于各种体系架构的自动负载测试,能预测系统行为,并评估系统性能。
顾翔
2019/12/12
1.1K0
LoadRunner12工具介绍(连载1)
脚本创建相关
2、设置录制选项(HTML-based Script/URL-based Script)
张树臣
2019/07/31
9850
LoadRunner压力测试实例步骤
LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上
全栈程序员站长
2022/09/09
1.3K0
loadrunner12安装教程_word入门基础教程视频
  LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。   目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的LoadRunner能让企业保护自己的收人来源,无需购置额外硬件而最大限度地利用现有的IT资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。LoadRunner 是一.种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,为特殊环境提供特殊的解决方案。
全栈程序员站长
2022/11/04
7550
LoadRunner使用教程
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说LoadRunner使用教程,希望能够帮助大家进步!!!
Java架构师必看
2022/01/11
4.4K0
LoadRunner使用教程
Loadrunner11的使用图解,测试并发,性能等的具体步骤
每次开启电脑都需要破解一次Lr,汉化版的有问题,建议使用英文版的。我测试的环境是Windows7+IE8+LR11。(在Windows10上试过,谷歌和IE11都不能正常运行),以下我会具体来操作,最终获得并发的集合点图,和事务响应图。
Java帮帮
2018/09/29
2K0
Loadrunner11的使用图解,测试并发,性能等的具体步骤
性能测试术语
负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。
张树臣
2019/07/31
1.1K0
win10 loadrunner11_windows10重装系统步骤
一. 初识LoadRunner ( 点击链接跳转到LoadRunner的安装步骤 )
全栈程序员站长
2022/11/04
9350
软件性能测试知识汇总[通俗易懂]
软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性及资源经济性的要求。
全栈程序员站长
2022/09/19
1.9K0
软件性能测试知识汇总[通俗易懂]
LoadRunner11-遇到问题及解决办法
1、LoadRunner超时错误:在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。
Meccer
2021/07/27
1.6K0
LoadRunner11-遇到问题及解决办法
1、LoadRunner超时错误:在录制Web服务器端,如果超过120秒服务器协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同。 错误现象1:Action.c(16): Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)。 错误分析:对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到端还
Java学习123
2018/05/16
2.5K0
loadrunner性能测试步骤_loadrunner可以做接口测试吗
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。 1.1.软件资源下载 网盘链接:https://pan.baidu.com/s/1Km9_OsVI857PpVvHMNx82A 提取码:gtis 1.2.组件介绍 首先解释一下三者的区别和联系: VuGen(即Virtual User Generator)是最基本的部分,中文解释是“虚拟用户生成器”,通过模拟用户对程序进行的操作来产生相关代码,录制完成后存储在系统中,而这些代码也是后续进行各项测试的基础。 Controller:控制器用于组织,驱动,管理和监控负载测试。可以添加用户,查看运行时的信息吞吐量,位于测试的中间环节。 Analysis:分析是帮助您查看、分析和比较负载测试的结果。形成专业性的报告,用于汇报和展示数据,位于测试的收尾部分。
全栈程序员站长
2022/11/07
1.5K0
loadrunner性能测试步骤_loadrunner可以做接口测试吗
【软件测试】性能测试工具Loadrunner
LoadRunner是一款由美国赛门铁克(Micro Focus)公司开发的性能测试工具,用于测量一个系统或应用程序在各种负载条件下的性能表现,包括负载压力、响应时间、并发用户数和吞吐量等指标。它可以帮助测试人员模拟真实的用户行为,记录和分析系统的性能数据,找出性能瓶颈和问题,并提供丰富的图表和报告来展示测试结果和分析。
xxxflower
2023/10/16
1.5K0
【软件测试】性能测试工具Loadrunner
性能测试的流程及常用工具介绍
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
宜信技术学院
2019/09/12
1.4K0
使用LoadRunner进行并发测试、压力测试和负载测试
负载测试:找到系统最大的负载能力(通过给系统不断的施压达到饱和状态不能加压为止)
全栈程序员站长
2022/09/09
3.7K0
使用LoadRunner进行并发测试、压力测试和负载测试
使用LoadRunner进行压力测试
本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其中固定行为在loadrunner中是通过录制脚本定义的,多个用户同时访问的策略是在loadrunner的场景中定义的
全栈程序员站长
2022/09/07
1.2K0
使用LoadRunner进行压力测试
小试牛刀—完整实例带你探究LR性能测试(PartA)
通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。
晴空SunnySky
2023/10/07
1K0
loadrunner 场景设计-制定负载测试计划
你应该对硬件和软件组建,系统配置和典型的使用场景很熟悉。这些应用程序的分析保证你在使用loadrunner进行测试时,创建的测试环境可比较准确的反应应用程序环境和配置。
授客
2019/09/12
9130
loadrunner 场景设计-制定负载测试计划
逐步分析,Web项目性能测试实战
Hi,大家好。随着行业的快速发展,软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner,认为LR就等于性能测试。LR只是性能测试的一个工具,但性能测试不仅仅是LR,本文就给大家逐步开展Web端性能测试。
可可的测试小栈
2021/10/14
1.9K1
逐步分析,Web项目性能测试实战
相关推荐
性能测试面试题
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入架构与运维学习入门群
系统架构设计入门 运维体系构建指南
加入架构与运维工作实战群
高并发系统设计 运维自动化实践
换一批
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档