性能测试面试题汇总(一)

Q1:什么是负载测试?什么是性能测试

  A1负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。

  性能测试:指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。

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

  A2性能测试包含负载测试、压力测试、大数据量测试、疲劳强度测试等。

Q3.简述性能测试的步骤

       A3


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

Q4.简述使用Loadrunner的步骤

  A4制定性能测试计划—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果


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

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

Q6.LoadRunner由哪些部件组成?

  A6主要有三部分组成:


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

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

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

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

  A7使用Virtual User Generator录制测试脚本

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

  A8LoadRunnerController组件。

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

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

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

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

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

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

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

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

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

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

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


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


  3、开始录制


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

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

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

  【参数化好处】

  减少脚本的大小

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

  【参数化步骤】

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

  为参数设置属性和数据源

回答: 在使用JMeter进行性能测试时,可以采取以下几种优化策略: 1. 使用非GUI模式进行测试,这样可以减少资源消耗并提高性能。可以通过命令行运行JMeter,例如使用命令"jmeter -n -t test.jmx -l test.jtl"来执行测试脚本。 2. 尽可能少地使用监听器,因为监听器会消耗大量的资源。在负载测试期间,可以不使用"查看结果树"或"在表中查看结果"监听器,仅在脚本编写阶段使用它们来调试脚本。 3. 对于相似的请求,在循环中最好使用同一个采样器,并结合CSV Data Set Config来改变样本,而不是使用多个相似的采样器。 4. 避免使用功能模式,因为功能模式会增加额外的开销。可以选择使用性能测试模式来进行测试。 5. 使用CSV输出而不是XML,因为CSV输出文件的大小较小,读取和分析速度更快。 6. 仅保存需要的数据,避免保存大量不必要的数据,以减少资源消耗。 7. 尽可能少地使用断言,因为断言会增加额外的开销。可以选择使用少量的断言来验证关键指标。 8. 使用性能最佳的脚本语言,例如使用Groovy脚本语言来编写脚本,因为Groovy具有更好的性能和灵活性。 关于JMeter的性能测试流程,可以采取以下步骤: 1. 确定测试目标和需求,包括测试的目标系统、测试的负载和并发用户数等。 2. 编写测试计划,包括添加线程组、配置目标系统的服务器信息、设置负载模式和持续时间等。 3. 添加需要测试的接口请求,并配置请求的参数、头部信息和断言等。 4. 配置监听器,用于收集和分析测试结果,例如聚合报告、图形结果等。 5. 运行测试计划,并监控测试过程中的性能指标和系统资源使用情况。 6. 分析测试结果,包括查看响应时间、吞吐量、错误率等指标,并根据结果进行性能优化和调整。 7. 根据测试结果生成测试报告,并进行总结和反馈。 以上是关于JMeter做性能测试的一些面试题的回答。希望对您有帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [高频JMeter软件测试面试题](https://blog.csdn.net/weixin_44867191/article/details/127298638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [高频Jmeter软件测试面试题](https://blog.csdn.net/wx17343624830/article/details/127290677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值