性能测试面试题总结

上传人:cl****1 文档编号:564330671 上传时间:2023-01-13 格式:DOCX 页数:6 大小:19.60KB
返回 下载 相关 举报
性能测试面试题总结_第1页
第1页 / 共6页
性能测试面试题总结_第2页
第2页 / 共6页
性能测试面试题总结_第3页
第3页 / 共6页
性能测试面试题总结_第4页
第4页 / 共6页
性能测试面试题总结_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《性能测试面试题总结》由会员分享,可在线阅读,更多相关《性能测试面试题总结(6页珍藏版)》请在金锄头文库上搜索。

1、1。什么是负载测试?什么是性能测试? 负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担 在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件 下的性能行为,以及持续正常运行的能力.负载测试的目标是确定并确保系统在超出最大预 期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事 务处理速率和其他与时间相关的方面。性能测试主要使用场景测试软件系统的性能是否满足生产性能的要求,包括负载测试,强度 测试,数据库容量测试,基准测试以及竞争(并发,用户)测试.2。性能测试包含了哪些测试(至少举出3 种) 包括负载测试,强度测试,数据库

2、容量测试,基准测试以及竞争测试3. 简述性能测试的步骤 第一步:需求分析、计划测试,设计测试用例 第二步:测试设计和开发(测试脚本录制及调试,测试场景设计) 第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景) 第四步:测试结果分析,性能问题定位,测试报告评估4.简述使用 Loadrunner 的步骤制定性能测试计划-使用Vuser录制调试脚本VuGen用Loadrunner Controller设置场景 运行场景-监视场景by Loadrunner online runtime等-分析测试结果5. 什么时候可以开始执行性能测试? 功能测试通过;一般需要进行性能测试的系统,都是用户量

3、比较大、业务使用比较频繁、比 较重要的功能模块。6. LoadRunner 由哪些部件组成?Virtual User Generator-生成用于“Controlier” 部署的 VusersLoadRunner Controlier产生压力和搜集测试结果数据LoadRunner Analysis通过图表分析工具来编译和显示测试结果7. 你使用LoadRunner的哪个部件来录制脚本?使用Virtual User Generator录制测试脚本8. LoadRunner的哪个部件可以模拟多用户并发下回放脚本?LoadRunner 的 Controller 组件。9. 什么是集合点?设置集合点有

4、什么意义?Loadrunner中设置集合点的函数是哪个? 在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通 过配置集合点来实现,多个用户同时进行某操作;集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状 态下的性能。设置集合点函数:lr_rendezvous(Meeting”);/ Meeting是集合点名称10. 什么是场景?场景的重要性有哪些?如何设置场景? 场景用于模拟用户实际业务操作;LoadRunner 中场景有手工场景和面向目标的场景。 设置场景:选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配 置

5、负载生成器。11. 请解释一下如何录制web脚本?利用 Virtual User Generator 录制测试脚本,录制步骤:1、选择合适的协议一Web (Http/Html),2、设置录制选项(HTML-based Script/URL-based Script)3、开始录制12. 为什么要创建参数?如何创建参数?A12: LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据, 而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不 同的数据,或者使用多个不同的值进行循环输入这时,在LoadRunner中就可以进行参数化 设置,以使用

6、多个不同的值提交应用请求。【参数化】:使用指定数据源中的值来替换脚本录制生成的语句中的参数。 【参数化好处】 减少脚本的大小 提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。【参数化步骤】用参数替换Vuser脚本中的常量值 为参数设置属性和数据源13. 什么是关联?请解释一下自动关联和手动关联的不同.A13:【关联的定义】简单的说:就是把脚本中某些写死(固定的数据,转变成动态的数据, 或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。【需要关联的前提条件】: 客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下 一次请求的一部分发出.【

7、自动关联与手工关联的不同】:自动关联是在脚本录制过程中,VuGen会根据已经制定 好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过Correlation Studio 自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本, 输入的数据要相同,利用WinDiff工具,找出两份脚本之间不同之处也就是需要关联的数据, 再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。14. 你如何找出哪里需要关联?请给一些你所在项目的实例。A14:1、录制两份相同业务流程的脚本,输入的数据要相同2、利用WinDiff工具,找出两份脚

8、本之间不同之处,也就是需要关联的数据3、通过 web_reg_save_param 函数手动建立关联,将脚本中用到关联的数据参数化。 通过 录 制两份 脚 本,进行 对 比, 可知 jsessionid 、 sapextsid 、 sap-wdcltwndid 、 sap-wd-tstamp 需要进行关联。15. 你在哪里设置自动关联选项? 录制选项中进行设置16。哪个函数是用来截取虚拟用户脚本中的动态值?(手工管联)A16: Web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来 识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。1

9、. 函数原型:int web_reg_save_param (const char ParamName, List of Attributes, LAST);2. 参数说明:ParamNam:存放动态数据的参数名称List of Attributes:其它属性,包含 Notfound、LB、RB、RelFramelD、Search、ORD、SaveOffset、 Convert、 SaveLen。17. 你在VUGen中何时选择关闭日志?何时选择标准和扩展日志? 在脚本运行调试成功后应关闭日志。创建发送函数和消息日志时用标准日志,创建警告和其 他信息是用扩展日志.18。你如何调试 LoadRu

10、nner 脚本?在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

11、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, GetPltfo

12、rm 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 仿效一个真实用户在活动中等待的时间,例如: 当一个用户从服务器

13、接受数据的时候,在响应前这个用户需要等待数秒来接受数据,这个被 耽搁的时间就是 think time。Error Handling :你能指定一个虚拟用户在脚本执行期间如何处理错误,默认的,当一个虚拟 用户发现一个错误的时候,它会随着下一次重复继续下去,你能使用这个设置来通知虚拟用 户当发生错误的时候是否继续执行脚本.Run Logic :迭代次数21。你在不同的环境下如何设置迭代?A21:在Run Time Settings” 中设置22。你如何在负载测试模式下执行功能测试?A22:在负载测试模式下,可以通过同时运行数个虚拟用户通过增加虚拟用户数,确定服务 器在多大的负载量下,仍然可以正常运

14、行,我一般进行核心功能操作,验证核心功能运行是 否正常.23。什么是逐步递增?你如何来设置?A23:虚拟用户数随着负载时间逐渐增加,可以帮助确定系统响应时间减慢的准确时间点。可以在“加压”选项卡中进行设置:如下图所示,将设置更改为: “每 30 秒启动 2 个 Vuser”24。以线程方式运行的虚拟用户有哪些优点?A24:以线程方式运行的虚拟用户,在默认情况下,Controller为每50个用户仅启动一个mmdrv 进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存,这就节省了大 量内存空间,从而可以在一个负载生成器上运行更多的用户.25。当你需要在出错时停止执行脚本,你怎么做

15、?取消运行设置中的“Continue on error愎选框.或者使用lr_abort函数.26。响应时间和吞吐量之间的关系是什么?A26:当系统吞吐量未达到系统处理极限时,系统性能不会衰减,交易平均响应时间一般也不 会递增,当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记 录在响应时间中,故交易平均响应时间一般会递增.27。说明一下如何在LR中配置系统计数器?A27:以windows资源监控为例,可右键点添加度量”,输入系统IP、选择平台类型,确定 即可,详细参加LR自带操作手册A_Ao对于监控不同类型的操作系统,需要做一些准备工作,可参见监控操作系统资源部分。28。你如何识别性能瓶颈?A28 :性能瓶颈分为:硬件瓶颈和软件瓶颈 性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、 web 服务器监 控、数据库服务器监控器和网络监控器;它们可以帮助分析导致响应时间增加的原因;性能 度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等。29. 如果 web 服务器、数据库以及网络都正常,问题会出在哪里?A29:问题可能出在系统本身或应用服务器、或为应用编写的代码编写中。30. 如何发现 web 服务器的相关问题?A30:可以利用web资源监控器发现web服务器相关问题,在场景执行过程中,可以利用 监控器分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号