80名Loadrunner面试问题与解答

 

1)LoadRunner支持哪些协议?

从LoadRunner 9.5开始,支持以下协议。这将随着未来的发布而增加。面试官并不是在寻找除了少数人之外的所有人(比如5-7协议)。

应用程序部署解决方案:适用于Citrix协议。
客户端/服务器:用于DB2 CLI,DNS,MS SQL,ODBC,Oracle(2层),Sybase 
Ctlib,Sybase Dblib和Windows套接字协议。
自定义:适用于C模板,Visual Basic模板,Java模板,
Javascript和VBScript类型脚本。
分布式组件:用于COM / DCOM,Corba-Java和Rmi -Java协议。
电子商务:适用于FTP,LDAP,Palm,Web(HTTP / HTML),Web服务和双Web / Winsocket协议。
Enterprise Java Bean:用于EJB 测试和Rmi-Java协议。
ERP / CRM:对于Baan,Oracle NCA,Peoplesoft-Tuxedo,Peoplesoft 8,
SAPGUI,SAP-Web和Siebel(Siebel-DB2CLI,Siebel-MSSQL,Siebel-Web和Siebel-Oracle)协议。
遗留:用于终端仿真(RTE)。
邮件服务:Internet邮件(IMAP),MS Exchange(MAPI),POP3和SMTP。
中间件:Jacada和Tuxedo(6,7)协议。
流媒体:适用于MediaPlayer和RealPlayer协议。

2)您在LoadRunner中使用了哪些组件?

Vuser生成器 - 用于生成脚本

控制器 - 用于创建和执行方案

分析器 - 分析结果。

代理是主机和控制器之间的接口。

4)开发Vuser脚本的过程是什么?

开发vuser脚本有四个步骤。
1 - 记录Vuser脚本。
2 - 播放/增强录制的vuser脚本。
3-定义各种运行时设置并进行检查

4-将脚本合并到LoadRunner方案中

扫描二维码关注公众号,回复: 2650393 查看本文章

5)负载测试需要多少个VUser?

这基本上是一个棘手的问题。

所需的VUser数量取决于您的待测系统,网络配置,硬件设置,内存,操作系统,性能测试的软件应用程序目标。Vuser不能有任何通用值。

6)将Vuser作为进程和线程运行有什么区别?哪种运行Vuser更有利?

当Vuser作为进程运行时,会为每个Vuser将相同的驱动程序加载到内存中。这将占用大量内存,并将限制您可以在单个生成器上运行的Vuser数。

当Vuser作为线程运行时,只有一个驱动程序实例由给定数量的Vuser共享。您可以使用多线程模式在单个生成器上运行多个Vuser。

7)“Vuser-init”的意义是什么?

Vuser-init在运行实际应用程序之前记录也称为初始化操作的预操作。

8)什么是扩展日志?

扩展日志将存储信息,例如高级跟踪返回的数据,参数替换以及许多其他信息,具体取决于您在运行时设置中选择的选项。

9)为什么要创建参数?

要创建参数,您将替换脚本中的硬编码值并将其替换为参数。这允许单个Vuser运行多次,并在每次运行时使用不同的数据。它有助于刺激更多真实的服务器需求,因为它可以防止服务器缓存结果。

10)您如何将脚本划分为多个动作?为什么?

我将根据功能将脚本划分为Actions。例如,一次登录到应用程序的操作,另一个用于预订的操作,等等。

操作可以提高代码的可重用性,减少维护时间,从而降低成本。

11)如何在LoadRunner中设置Vuser的数量?

您可以在创建方案时设置控制器部分中的Vuser数。控制器部分还提供了许多其他高级选项,如加速,降低Vuser。

12)什么是显示器?

监视器用于“监视”性能瓶颈。它们用于Load Runner的Controller部分

13)LoadRunner中有哪些类型的检查点?

LoadRunner提供两种类型的检查点

a)图像检查点:此检查点将在运行时验证页面上是否存在图像

b)文本检查点:此检查点将在运行时验证页面上是否存在文本字符串

上述两个检查点都可以在Vugen中添加。

 

14)在性能测试期间,我们在硬件,软件,网络和内存瓶颈方面可能遇到什么样的问题?

其他可能的问题可能是 -

1.缺乏硬件

2.内存泄漏

3.网络相关问题。

4.应用程序/软件错误

15)您对改进绩效指标的建议是什么?

建议对网络,数据库和应用程序以及Web服务器进行微调。

在网络中,级别尝试优化延迟和带宽。

在数据库级别,通过运行分析器来验证所有索引和序列。您还可以优化数据库查询。

在App服务器级别,运行分析器以查找应用程序中的内存泄漏

在Web服务器级别,您可以使用监视器并优化服务器的吞吐量和其他相关指标。

16)什么是Rendezvous点?

Rendezvous点是Synchronization / Wait point。集合点指示Vuser在测试执行期间等待多个Vuser到达某个点,以便它们可以同时执行任务。

这样做的意义在于仅模拟场景的特定部分的一些重负载并测试应用程序的行为。

17)什么是相关性?

关联用于获取每次运行测试脚本时唯一的数据(例如:会话ID)。录制时,这些动态值在脚本中是硬编码的,导致脚本在播放期间失败。关联是一种技术,其中动态值不会在脚本中进行硬编码,而是在运行时提取以避免失败。

18)什么是手动相关?

它的相关技术使用函数Web_reg_save_param()来识别脚本中的动态值。重放脚本以验证关联是否成功完成非常重要。

19)您如何识别性能瓶颈? -

可以使用监视器检测性能瓶颈。

这些监视器可能是应用程序服务器监视器,Web服务器监视器,数据库服

它们有助于找出我们场景中的问题区域,这会导致响应时间增加。

所做的测量通常是性能响应时间,吞吐量,命中/秒,网络延迟图等

20)哪个函数用于结束嵌套事务?

该函数是 - lr_end_sub_transaction

21)LoadRunner中的事务和事务实例有什么区别?

事务用于衡量某些语句执行之间的时间

事务实例用于性能分析

22)当脚本运行时,我们发现一些可能需要关联的值?是否可以对这些值进行手动关联?

没有。脚本运行时无法进行关联,但是一旦脚本停止,您就可以进行更改。

23)Load Runner中的经过时间是多少?

经过的时间表示自当前事件发布以来已经过了多长时间,并且对于不同的屏幕进行了不同的测量,如下所示 -

在场景状态窗口中 - 经历的时间是从您点击“开始场景”或“初始化/运行Vuser?”的那一刻开始计算的。按钮。

在“Vuser”窗口中,从Vuser进入“运行”状态开始计算经过时间。

24)缓存是否会对负载测试结果产生负面影响?

是。缓存有负面影响。缓存是一个临时内存,用于存储您的浏览历史记录 当您访问SECOND时间的页面时,加载页面所需的时间将少于第一次访问加载页面所需的时间,因为加载页面所需的大部分信息都是从缓存而不是服务器中获取的。这将影响测试中的响应时间。因此,建议关闭缓存。

25)Overlay图和Correlate图有什么区别?

叠加图:它将覆盖共享共同x轴的两个图的内容

关联图它将两个图的Y轴相互绘制。

26)lr_error_message和lr_debug _message有什么区别?

lr_error_message - 向LoadRunner Controller的“输出”窗口发送错误消息

lr_debug _message - 将调试消息发送到LoadRunner Controller的“输出”窗口

27)负载,性能测试有什么区别?

性能测试的目的是检查应用程序是否在规定的时间限制内(例如2秒)加载/更新。它使用响应时间,每秒请求等指标。它是在生产 - 如负载条件下进行的。

负载测试的目的是检查系统的可扩展性。例如,找出特定规范内系统支持的最大用户数。

28)您已创建了多个自动关联规则。团队中的新测试人员正准备在他的工作站上的同一个应用程序上记录一组脚本。您可以做些什么来为测试人员提供关联规则?

我会将自动关联规则导出到.cor文件,然后让新的团队成员将.cor文件导入到他的自动关联规则中

29)您想模仿航空公司的呼叫中心。所有代表都在早上登录,执行业务流程并在晚上注销。在一天内,代表将创建40个航班预订,修改10个航班预订和搜索20个航班预订。如果不首先执行搜索,代表将无法执行修改。你会如何设计运行逻辑?

创建 - 67%搜索 - 16%Block0 - 17%搜索修改

30)你应该在哪里添加web_reg_save_param函数到脚本?

在检索动态值的步骤之前

31)您希望将脚本中的每个步骤作为Controller中的事务进行测量,而不是在VuGen中的重放日志中显示。你怎么能做到这一点?

这可以通过在运行时设置中启用自动事务来完成。

32)哪个Web协议记录级别生成web_submit_form函数?

基于HTML的录制生成此功能。

33)什么是负载测试?

负载测试用于测试应用程序是否能够很好地处理来自大量并发用户和事务的负载。它还用于确定它是否可以处理高峰使用期。

34)什么是负载转轮?

Load Runner是HP的性能测试工具。该工具支持所有方面,如负载,压力,耐力,数据量和尖峰测试。

35)LoadRunner的所有组件是什么?

以下是LoadRunner的组件

  • 虚拟用户生成器
  • 控制器和代理程序
  • LoadRunner分析和监控
  • LoadRunner联机丛书

36)LoadRunner的哪个组件用于记录脚本?

虚拟用户生成器(VuGen)组件用于记录脚本,它使您能够为各种应用程序类型和通信协议开发Vuser脚本。

37)什么是会合点?

集合点被引入Vuser脚本以模拟服务器上的更多用户。集合点指示Vuser在测试执行期间等待,以便同时执行任务。

例如,在银行应用程序中,为100多个用户插入Rendezvous点以同时存款。

38)什么是场景?

场景只不过是每个测试会话发生的事件。

例如,场景定义

  • 用户数量
  • 要采取的行动
  • 虚拟机系统

39)我们如何调试LoadRunner脚本?

VuGen包含两个调试Vuser脚本的选项。

  • 运行Step by Step命令和
  • 断点。

我们还可以使用lr_set_debug_message函数在脚本中手动设置消息类。

40)我们如何在负载下执行功能测试?

可以通过同时运行多个Vuser来测试负载下的功能。通过增加Vuser,有必要确定服务器可以承受多少负载。

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

吞吐量显示Vuser在一秒钟内从服务器接收的数据量(以字节为单位)。当与事务响应时间进行比较时,吞吐量和响应时间会减少。

峰值吞吐量和最高响应时间大约同时发生。

42)vuser_init和vuser_end操作包含哪些内容?

Vuser_init操作包含登录服务器的过程,Vuser_end部分包含注销过程。

43)标准日志和扩展日志有什么区别?

标准日志将函数和消息的子集发送到输出日志,函数子集取决于Vuser类型。

扩展日志将详细的脚本执行消息发送到输出日志。它主要用于调试时用户需要有关参数替换的信息。

44)在面向目标的负载运行者场景中,所有类型的目标是什么?

Load Runner为您提供五种不同类型的目标:

  • 并发Vuser数
  • 每秒点击次数
  • 每秒的交易次数
  • 每分钟的页数
  • 交易响应时间

45)在Web vuser脚本中捕获动态值的功能是什么?

Web_reg_save_param是将动态数据信息保存到参数的函数。

46)什么是Load Runner测试过程?

以下是LoadRunner中的测试过程:

  • 计划负载测试
  • 创建Vuser脚本
  • 定义场景
  • 运行场景
  • 分析结果

47)什么是远程命令启动器?

远程命令启动器使控制器能够启动主机中的应用程序。

48)我们如何开发数据库vuser脚本?

可以通过使用load vuser脚本生成器进行记录或使用Load runner vuser脚本模板来开发Vuser脚本。

49)如何加载负载转轮代理?

运行方案时,LoadRunner控制器会指示远程代理程序调度程序启动LoadRunner代理程序。控制器指示LoadRunner代理初始化,运行,暂停和停止vuser。

50)命中/秒和请求/秒之间有什么区别?

每秒点击次数表示服务器在一秒钟内从vuser接收的点击次数。

每秒请求数是vuser将从服务器请求的请求数。

51)负载转轮有哪些优点?

以下是Load Runner的优点:

  • 减少人为干预
  • 减少系统的要求
  • 有助于更好地利用时间和金钱
  • 有效利用自动化
  • 单点执行

52)场景中的vuser是什么?

vuser是可以模拟真实用户的虚拟用户。代替真实用户的操作客户端软件的虚拟用户,例如IE使用HTTP协议向IIS或Apache Web服务器发送请求。

53)我们如何在LoadRunner中编写用户定义的函数?

使用应该创建包含该功能的外部库。然后必须将此库添加到VuGen的bin目录中。然后,可以将用户定义的函数指定为参数。

54)可以对运行时设置进行哪些更改?

可以进行四种运行时设置:

  • 起搏:这包含迭代计数。
  • 日志:日志记录可以设置为标准或禁用。
  • 思考时间:能够将思考时间设置为被忽略或替换。
  • 常规:允许为进程或多线程设置Vuser。

55)我们如何找到与数据库相关的问题?

监视器和数据资源图可用于查找与数据库相关的问题。LoadRunner允许测试人员指定在运行控制器之前需要测量的资源。

56)LoadRunner中有多少种类型的图表?

有五种类型的图表:

  • 网络延迟时间图 - 显示请求和响应之间经过的时间
  • 两个事务响应时间图 - 一个用于加载的转换响应时间图,另一个用于百分位数
  • 点击/秒图表 - 显示应用程序流量
  • 页面下载/第二个图表 - 显示每秒下载页面的速率

57)如何识别性能瓶颈?

监视器可用于检测性能瓶颈。这些包括网络,Web服务器,应用程序服务器和数据库服务器监视器。

这些监视器可用于定位导致响应时间和吞吐量增加,网络延迟,性能响应时间,命中/秒等情况的故障点。

58)什么是加速以及如何设置?

加速逐渐增加服务器上的负载,并可以通过逐渐增加Vuser的数量来模拟。可以在“方案计划选项”中找到此功能。

59)如何进行相关性?

可以通过两种方式执行相关:

  • 使用扫描功能搜索相关性并从结果中选择一个值。
  • 记录一对脚本,然后将它们相互比较。

60)自动关联选项设置在哪里?

自动关联在相关选项卡上的录制选项区域中设置。可以为完整脚本启用关联,并可以定义关联规则。

通过查看输出窗口,扫描相关性以及选择将使用的值,可以在数据库上执行自动关联。

61)将Vuser脚本作为线程运行有什么好处?

将Vuser脚本作为线程运行的优点是允许将更多Vuser用于一个负载生成器。作为进程运行Vuser脚本会占用大量内存,因为所有加载的脚本都使用相同的驱动程序。

这限制了可以在一个生成器上运行的Vuser脚本的数量。

62)Overlay图和Correlate图有什么区别?

叠加图:

叠加图具有一个X轴和2个Y轴。合并图表上的左Y轴显示当前图形的值,右Y轴显示合并图形的Y轴值。

关联图表:

有两个图形,活动图形的Y轴成为合并图形的X轴。合并的图形的Y轴变为合并图形的Y轴。

63)Vuser脚本的三个部分是什么,每个部分的目的是什么?

以下是Vuser脚本的三个部分,它们如下:

  • Vuser_init - 用于记录登录。
  • 操作 - 用于记录业务流程。
  • Vuser_end - 用于记录注销。

64)从数据文件中选择数据时有哪四种选择方法?

以下是四种选择方法:

  • 顺序
  • 随机
  • 独特
  • 参数名称

65)在执行日志中查看参数替换应该怎么做?

可以在运行时设置的扩展日志中查看参数替换。

66)分析Vuser运行结果需要哪些工具?

需要以下工具来分析Vuser运行结果:

  • 执行日志
  • 运行时查看器和
  • Mercury Test Results窗口

67)手动场景和面向目标的场景有什么区别?

以下是手动和面向目标的场景之间的差异:

 

手动场景

 

目标情景

主要目的是了解可以同时运行多少个Vuser 目标可能是吞吐量,响应时间或并发Vuser数
使您可以手动控制运行的Vuser数量和时间 Load Runner自动管理Vuser

68)使用服务器资源监视器的所有原因是什么?

服务器资源监视器用于查找来自Cache的数据量,并帮助找出系统的所有部分都存在瓶颈。

69)在常规选项设置中重播期间选择“显示浏览器”的目的是什么?

“显示浏览器”设置用于查看播放期间显示的页面。这对于在Web Vuser创建的初始阶段调试Vuser很有用。

70)出于什么目的,用户将使用“继续”错误?

只有在使执行日志更具描述性或向Vuser添加逻辑时才应设置继续。

71)LoadRunner事务的目的是什么?

Load Runner事务的目的是测量业务流程的一个或多个步骤/用户操作。

72)为什么要创建参数?

参数类似于脚本变量,它们用于改变服务器的输入以模拟真实用户。

  • 每当脚本运行时,都会向服务器发送不同的数据集。
  • 更好地模拟使用模型以从Controller进行更准确的测试,并且一个脚本可以模拟系统上的许多不同用户。

73)什么是lr_output_message?

lr_output_message是一个向Controller Output窗口和Vuser日志文件发送通知的函数。

74)在Web服务器中,数据库和网络都运行良好,现在,哪里可能是问题?

问题可能出在系统本身或应用程序服务器中,也可能出现在为应用程序编写的代码中。

75)什么是VuGen录制和脚本? 

LoadRunner脚本代码是通过以ANSI C语言语法记录获得的,并且可以在脚本视图中查看。

76)什么是LoadRunner中的性能测试? 

可以通过计算读取和更新事务的时间来检查性能测试,并检查系统功能是否在可接受的时间范围内执行。在多用户环境中,有必要确定多个事务对单个事务的时间的影响。

77)使用Load Runner时系统的配置是什么? 

系统的配置是指我们将运行Vuser的客户端计算机的配置。客户端机器的配置包括其硬件设置,内存,操作系统,软件应用程序,开发工具等。

该系统组件配置应与整个系统配置相匹配,以实现负载测试目标。

78)lr_abort函数有什么用?

lr_abort函数用于中止Vuser脚本的执行。它指示Vuser停止执行Actions部分,执行vuser_end部分并结束执行。

79)什么是思考时间?

思考时间是真实用户在操作之间等待的时间。

当用户从服务器或其他应用程序接收数据时,用户可能需要等待几秒钟才能在响应之前查看数据。这个时间延迟称为思考时间。

80)Load Runner如何与应用程序交互?

协议在Load Runner中用于与应用程序交互。

81)Load Runner中使用的最新版本和语言是什么?

截至2013年2月20日,Load Runner 11.5是最新版本,VUser脚本像C语言一样使用。

LoadRunner支持以下语言:

  1. C语言
  2. Visual Basic脚本
  3. Visual Basic For Applications
  4.  Java脚本

82)Load Runner支持的所有重要协议是什么?

以下是Load Runner可以支持的协议:5199 70686 软件测试学习交流群

  • .NET记录/显示
  • 数据库
  • DCOM
  • 网络
  • Oracle电子商务
  • 树液
  • SOA
  • 网络和多媒体
  • 无线
  • GUI
  • Java记录和重播
  • 远程桌面
  • Web 2.0

猜你喜欢

转载自blog.csdn.net/Stephen_shijun/article/details/81450166