2022年性能测试工程师面试题 .pdf





《2022年性能测试工程师面试题 .pdf》由会员分享,可在线阅读,更多相关《2022年性能测试工程师面试题 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.什么是负载测试?什么是性能测试?负载测试:通过被测试系统不断增加压力,直到性能指标超过预期值或者某种资源达到饱和状态。经过这两天查看相关的资料,而且还和同事讨论。得出以下总结:1)共同点:两种测试都是量的测试。2)区别:压力测试是指被测对象在允许的压力值范围内进行测试。例如:一个B/S 结构的应用程序,它允许有 100 个终端访问服务器。当有10、30、60、80 个终端访问服务器时,程序的反应如何?而负载测试是指被测对象在超负荷的环境下运转。例如:就拿以上的例子来说,当有110 或 150 个终端访问服务器时,程序的反应如何?对性能测试、压力测试、负载测试的理解斗胆在此发表一些个人理解与
2、看法,权作抛砖引玉,望各路英雄能各抒己见,不吝赐教。首先,我们看一下来自百度百科的定义:1、性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。2、负载测试:负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。3、压力测试:是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。我在这里简单谈一下我对三个概念的看法。一、性能测试性能测试的目的是找到系统在某种条件下的瓶颈,前提是这种条件在软件或服务的实际应用中可能发生。 例如百度主页会同时有10 万人访问, 这是可能的。 因此
3、测试10 万个 vuser同时 hit 是有意义的,但是会不会有10 亿人同时访问?显然不会,至少在当今不会,因此测试的数据量定在10 亿个 vuser 是无意义的,这种行为不靠谱。因此,在这一点上我们可以得出结论,具有清晰的、有意义的并且意义确定的预期值是进行一次性能测试的关键要素。所以, 我们在进行性能测试之前,首先要明确两个值:一个是 系统负载预期值,一个是系统响应时间的预期值。有了这两个目标,才可以使用对系统持续增加负载的方法来观察系统的瓶颈所在。那么性能测试就是简单的添加负载测试吗?显然不是。前面说过, 性能测试的目的是要找出系统的瓶颈所在,而系统的瓶颈可能存在于各种方面。在代码方面
4、,比较差的算法、硬代码多的模块等低效率的代码可能产生瓶颈;在数据库方面,冗余或者复杂的数据可能产生瓶颈;操作系统方面,cpu、磁盘、 i/o 系统、总线及兼容性等方面可能产生瓶颈;而在通信传输层面上,交换(路由)的转发效率、网络硬件质量等都可能引发系统瓶颈。对于以上这些可能引发瓶颈的原因,我们可以进行所谓白盒测试来找到问题的关键。各种层面上的问题,都有相应的测试工具或测试设备的支持,如果没有合适的工具,也可以自己进行设计。例如一些cpu 监控工具、代码检测、数据库事件探查器、chariot 等,以及网络分析仪、数据分析仪等通信分析仪器。这些都是性能测试的利器。我们在性能测试出现瓶颈时,需要及时
5、的调试对应的系统问题,但是如果在调试完成之后,系统表现好了一些,但是仍然没有达到预期目标,这个时候我们就应该把目光放在系统的其他层面上。 由于一个系统是由多个子系统协作的,因此各个子系统之间有着密切的关联性。以web 系统为例,当代码层以及数据库层都进行清洗之后,还可以通过其他途径提高系统的性能,以突破瓶颈,达到预期目标。性能测试的另外一个目的是要建立一组被测系统的基准数据,系统在同样的测试环境与测试条件下, 表现应当符合或优于基准数据的要求,否则测试不通过。另外, 基准数据也可名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名
6、师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 以为其他类似的系统提供预期数据及预期返回时间的数值参考。二、负载测试负载测试的范围个人认为比性能测试要狭窄一些,负载测试通常定义为给被测系统加上它所能操作的最大任务数的过程。负载测试考验系统的两个指标,一个是系统的容量,一个是系统的耐久性。测试系统容量是指给系统添加大数据量的文件或者数据,让系统进行处理并实时观察系统的表现情况。 例如大数据量文件输入让系统处理(我们很熟悉的操作,亲们知道是啥意思吧?) ,大访问量的输入处理等。目的是找到系统能添加负载的最大量。而测试系统耐久性则指的是给出数量巨大
7、的任务,让系统始终处于高负荷量的运行状态,并观察记录系统表现情况的测试方式。目的是找到系统所谓的“疲劳点”。例如运行多少时间之后系统返回时间开始变大,系统什么时候处理时间变得缓慢等都是考察的内容。负载测试实现的前提是要先准备巨大的数据量,例如上百兆的文件、上万的用户等。负载测试不会以使系统崩溃为目的,因此负载测试的期望值一般以满足使用需求为主,不需要太夸张的数值。三、压力测试任何能使系统崩溃的测试都可以称之为压力测试。这一点我在会上已经多次说过了。2.性能测试包含了哪些测试(至少举出3 种)压力测试、负载测试、并发测试、可靠测试、失效恢复测试。3.简述性能测试的步骤计划测试测试设计创建脚本创建
8、场景分析结果4.简述使用Loadrunner 的步骤脚本录制设置录制脚本调试脚本场景设置结果分析5.什么时候可以开始执行性能测试?在产品相对比较文档,功能测试完成后。灵活性比较强。6.LoadRunner 由哪些部件组成?virtual user generator contorller running contorller analysis 7.你使用 LoadRunner 的哪个部件来录制脚本?virtual user generator 8.LoadRunner 的哪个部件可以模拟多用户并发下回放脚本?contorller 名师资料总结 - - -精品资料欢迎下载 - - - - - -
9、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 9.什么是集合点?设置集合点有什么意义?Loadrunner 中设置集合点的函数是哪个? 集合点:设置多个用户到达某个用户数量点集合,同时触发一个事务,以达到模拟真实环境下同时多个用户操作,同时模拟负载,实现性能测试的最终目的LR_rendezvous ( “集合点名称” )10.什么是场景?场景的重要性有哪些?如何设置场景? 场景:模拟真实环境中,用户运行状况。1.通过场景来模拟实际用户的操作,性能测试结果才具有代表性。2.在运行过程中也需要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年性能测试工程师面试题 2022 性能 测试 工程师 试题

限制150内