LoadRunner面试题及详细答案(实战版)-1_第1页
LoadRunner面试题及详细答案(实战版)-1_第2页
LoadRunner面试题及详细答案(实战版)-1_第3页
LoadRunner面试题及详细答案(实战版)-1_第4页
LoadRunner面试题及详细答案(实战版)-1_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LoadRunner面试题及详细答案(实战版)本面试题汇总互联网企业、软件测试大厂高频LoadRunner面试考点,涵盖基础认知、脚本编写、参数化与关联、场景设计、结果分析、问题排查、实操技巧等核心内容,适配性能测试工程师初级、中级岗位面试,内容贴合项目实战,无理论化空洞表述。一、基础认知类(高频基础题)1、简单说说LoadRunner的工作原理,核心作用是什么?答案:LoadRunner是一款工业级性能测试工具,核心原理是通过模拟大量真实用户并发访问系统,对服务器、接口、业务场景进行压力、负载、稳定性测试。它通过录制或编写脚本复刻用户操作,模拟多用户并发请求,实时采集服务器各项性能指标,最终通过测试结果分析系统的并发能力、瓶颈点位、稳定性极限。核心作用主要三点:一是模拟高并发用户,验证系统最大承载量;二是检测系统在持续压力下的稳定性、容错性;三是定位服务器CPU、内存、IO、接口响应、数据库等各环节的性能瓶颈,为系统优化、上线阈值设定提供数据支撑。2、LoadRunner三大核心组件分别是什么?各自作用?答案:LoadRunner核心分为三大组件,各司其职、协同完成性能测试全流程:1、VirtualUserGenerator(VuGen):脚本生成器,核心用于录制、编写、修改性能测试脚本。可以抓取用户业务操作、接口请求,完成脚本调试、参数化、关联、事务添加等基础工作,生成可执行的Vuser脚本。2、Controller:场景控制器,是测试执行的核心控制台。主要用于设计测试场景(并发场景、压力场景、稳定性场景)、设置虚拟用户数、运行时长、加压方式,同时调度压力机、实时监控测试过程、收集各项性能数据。3、Analysis:结果分析器,用于测试结束后的数据分析与报表生成。自动汇总事务响应时间、通过率、TPS、并发数、服务器资源指标,生成可视化图表和测试报告,辅助定位性能问题。3、LoadRunner支持哪些协议?日常项目中常用的有哪些?答案:LoadRunner支持几十种主流通讯协议,适配Web、客户端、数据库、接口等各类系统测试。日常项目高频使用的协议主要有:HTTP/HTTPS、WebService、JDBC(数据库)、TCP/IP、FTP、WebSocket等。其中Web项目、接口测试以HTTP/HTTPS协议为主;接口服务调用常用WebService;数据库性能测试单独使用JDBC协议,可直接对数据库语句进行压力测试。4、什么是虚拟用户(Vuser)?和真实用户的区别是什么?答案:Vuser是LoadRunner模拟真实用户操作的虚拟进程/线程,是性能测试的最小执行单元,每一个Vuser对应一个模拟的业务用户。和真实用户的核心区别:Vuser仅复刻用户的业务请求和数据交互,不会执行浏览器渲染、页面加载、鼠标点击、页面跳转等待等前端操作,只模拟后台数据请求与响应,资源占用极低,可单台机器模拟上千并发,而真实用户操作会占用大量前端资源,并发模拟成本极高。二、脚本编写与调试核心题5、LoadRunner脚本录制失败的常见原因及解决办法?答案:日常录制失败主要有6类常见问题,对应解决方式如下:1、浏览器兼容问题:LoadRunner对新版Chrome、Firefox兼容性较差,优先使用工具自带浏览器或指定低版本浏览器,关闭浏览器自动更新、插件、拦截工具。2、代理端口冲突:录制时LoadRunner会开启本地代理,若端口被占用会导致录制失败,可在录制设置中修改代理端口,重启工具重新录制。3、HTTPS证书问题:HTTPS站点录制提示证书报错,需在LoadRunner中导入站点证书,或关闭证书校验拦截。4、网络代理异常:电脑本身开启全局代理、VPN,会干扰录制抓包,录制前需关闭所有外网代理。5、页面动态加载过多:前端AJAX异步请求过多导致抓包混乱,可开启异步录制模式,精简录制冗余请求。6、权限不足:工具未以管理员身份运行,导致抓包权限受限,右键选择管理员模式重启录制即可。6、脚本中init、action、end三个迭代区域的区别和执行逻辑?答案:三个区域是LoadRunner脚本的核心结构,执行逻辑完全不同,不可混用:1、init初始化区:测试场景启动时仅执行1次,主要用于用户登录、初始化参数、建立连接等前置操作,不参与迭代。2、action业务区:循环迭代执行,是核心业务逻辑区域,所有需要重复执行的业务操作(查询、提交、下单等)都写在该区域,迭代次数由场景设置决定。3、end结束区:测试场景停止、用户退出时仅执行1次,用于退出登录、关闭连接、释放资源等收尾操作。7、什么是事务(Transaction)?为什么要添加事务?如何合理设置事务?答案:事务是我们自定义的一段核心业务操作的起止区间,用于精准统计该业务的响应时间、成功率、TPS。添加事务的核心目的:区别于整条脚本的笼统响应时间,精准定位单个核心业务的性能数据,快速找到耗时最长、故障率最高的接口或操作。设置原则:只给核心业务加事务,避免过度添加。比如登录、下单、支付、查询列表等核心功能单独建事务;无关的静态资源加载、心跳请求无需添加。事务起止必须包裹完整业务逻辑,不能跨业务、不能遗漏请求。三、参数化、关联实战高频题8、什么是参数化?什么时候需要做参数化?常用参数化方式有哪些?答案:参数化就是将脚本中固定不变的数据(账号、密码、手机号、订单号、查询参数)替换为动态可变数据,避免所有虚拟用户使用同一组数据执行,导致业务报错、数据冲突。需要参数化的场景:用户登录、批量查询、提交表单、新增数据、订单提交等所有需要唯一数据、动态数据的业务。常用参数化方式:1、本地TXT/Excel文件参数化(最常用,适配大批量数据);2、数据库参数化(直接读取数据库有效数据);3、随机数、时间戳参数化(适配无固定规则的动态参数);4、内部参数列表手动录入(少量数据场景)。9、参数化中“Sequential、Random、Unique”三种取值方式的区别及适用场景?答案:三种取值策略是面试高频考点,核心区别在于数据分配逻辑:1、Sequential(顺序取值):所有虚拟用户按顺序依次读取参数数据,循环迭代时继续顺延取值。适用于数据无唯一性要求、可重复使用的参数,比如固定查询关键词、静态参数。2、Random(随机取值):每个虚拟用户每次迭代都随机从参数库抽取数据,数据可重复。适用于大批量冗余数据、对唯一性无要求的场景,比如随机浏览商品、随机查询。3、Unique(唯一取值):保证每个虚拟用户、每次迭代使用的数据绝对唯一,不会重复。适用于登录账号、手机号、订单号等必须唯一的参数,是项目中最常用的取值方式。需提前准备充足的参数数据,避免数据耗尽报错。10、什么是关联?为什么要做关联?自动关联和手动关联的区别?答案:关联是捕获服务器返回的动态变化数据,将其保存为参数,传递给后续接口使用的操作。比如登录返回的token、session、动态id、验证码等每次请求都变化的数据,必须通过关联获取。不做关联会导致脚本迭代失败、业务报错、请求无效,是脚本可迭代运行的核心前提。两者区别:自动关联:LoadRunner自带的智能关联功能,录制后自动识别session、token等通用动态参数,操作简单,但识别精度低,容易漏关联、错关联,复杂业务场景不适用。手动关联:根据接口返回报文,手动查找动态字段、编写关联规则,精准捕获所需参数,稳定性强、适配所有复杂业务,企业项目中主流使用手动关联。11、关联失败的常见原因和排查方法?答案:常见失败原因:1、关联左右边界设置不准确,包含多余字符或遗漏关键字符;2、动态数据存在空格、换行、特殊符号,匹配失效;3、关联位置错误,放在了请求之后、响应之前;4、未开启报文日志,无法捕获返回数据。排查方法:开启脚本完整日志,查看服务器原始响应报文,核对关联左右边界;去除匹配规则中的冗余空格;调整关联函数位置;使用精准的正则匹配替代普通文本匹配。四、场景设计与加压策略12、LoadRunner常用的三种测试场景及适用场景?答案:日常性能测试主要使用三种核心场景,覆盖所有测试需求:1、手动场景(ManualScenario):手动设置固定虚拟用户数、加压时长,可自由配置并发数、迭代次数。适用于负载测试、压力测试、稳定性测试,是项目最常用场景。2、目标场景(Goal-OrientedScenario):无需手动设置用户数,工具根据设定的性能目标(TPS、响应时间、并发数)自动加压,直至达到目标阈值。适用于探明系统最大性能阈值、峰值承载能力。3、混合场景:支持多个业务脚本同时运行,设置不同用户占比。适用于真实业务场景模拟,比如系统同时存在登录、查询、下单、支付操作,还原用户真实使用比例。13、加压方式中逐步加压和一次性加压的区别?各自适用场景?答案:1、逐步加压:按梯度递增虚拟用户数,比如每30秒增加10个用户,循序渐进提升压力。适用于负载测试、瓶颈定位,可清晰看到不同并发量级下系统性能变化,精准找到性能拐点。2、一次性加压:所有虚拟用户同时启动、同时发起请求。适用于峰值压力测试、秒杀、抢购场景测试,模拟瞬时高并发冲击,验证系统抗突发压力能力。14、什么是并发用户数、在线用户数、TPS?三者的区别?答案:这是性能测试核心指标,极易混淆:1、在线用户数:当前登录系统、处于活跃状态的所有用户总数,用户不一定在操作业务,仅为在线状态,数值最大。2、并发用户数:同一时刻向服务器发起业务请求的用户数,是真实产生压力的用户数量,直接决定服务器负载。3、TPS(每秒事务数):服务器每秒能够成功处理的核心事务数量,是衡量系统处理能力的核心指标,TPS越高,系统吞吐能力越强。五、结果分析与瓶颈排查15、性能测试中,事务响应时间过长的常见原因有哪些?如何分层排查?答案:响应时间过长遵循从前端到后端、从网络到服务器的分层排查逻辑:1、网络层:网络延迟高、带宽拥堵、丢包重试,可通过ping、抓包工具排查网络耗时;2、应用服务层:服务器CPU、内存占用过高,线程阻塞、接口逻辑冗余、代码死循环、接口超时重试;3、数据库层:SQL语句未优化、索引缺失、慢查询过多、数据库连接池耗尽、锁表问题;4、中间件层:Redis、缓存失效、MQ消息堆积、Tomcat连接数不足。16、测试过程中出现TPS波动大、不稳定,可能的原因?答案:1、服务器资源不稳定,CPU、内存忽高忽低,存在资源抢占;2、数据库存在间歇性慢查询、锁表、事务未提交;3、测试环境存在其他程序占用资源;4、脚本迭代不稳定,存在报错重试、参数失效问题;5、网络波动、带宽不稳定;6、缓存间歇性失效,大量请求穿透数据库。17、LoadRunner测试中,报错“Timeoutexpired”超时错误的排查思路?答案:该报错为高频超时问题,排查步骤:1、首先确认脚本请求地址、参数是否正确,排除业务参数错误导致的服务器无响应;2、检查服务器是否负载过高,资源耗尽无法处理请求;3、延长脚本请求超时时间、连接超时时间;4、排查网络是否延迟过高、丢包;5、检查接口是否存在后台逻辑阻塞、死循环、数据库卡死问题。六、进阶实操面试题18、如何实现LoadRunner分布式压测?什么场景需要分布式压测?答案:当单台压力机硬件资源(CPU、内存、网络)不足,无法模拟大批量并发用户时,需要使用分布式压测,通过多台压力机共同施压。实现步骤:1、主控机(Controller)配置所有压力机IP,确保网络互通、端口开放;2、所有压力机安装LoadRunner远程代理服务并启动;3、主控机场景中添加远程压力机,分配虚拟用户数;4、统一调度多台机器同时施压,汇总所有压力机测试数据。19、如何处理脚本中的乱码问题?答案:1、录制前统一设置工具编码为UTF-8,匹配项目接口编码格式;2、在脚本头部添加编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论