当前位置:首页 > 范文大全 > 面试技巧 > 正文
 

性能测试面试技巧

发布时间:2024-03-29 02:24:00 影响了:

性能测试面试技巧篇一:性能测试面试题(附答案)

1、 哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)

Web_reg_save_param

2、 你如何识别系统瓶颈?

从TPS指标分析(即系统每秒处理可处理事务数)当前随着用户数的增长其系统每秒可处理的事务数是否也会增长

3、 think_time有什么用?

Think_time作用主要有以下几种:

1) 降低当前运行时压力,缓解对应用服务器所造成的压力

2) 模拟真实生产用户操作,考察对服务器所造成的影响

4、 一般什么时候开始进行性能测试

被测系统的正常业务流程通过,即集成测试通过后。

5、 进行参数化的目的

1) 减少脚本的大小

2) 提供不同的值以提高执行脚本的能力,从而更加真实的模拟生产环境的数据

6、 容量测试方法中为什么要以逐步递增的的方式进行

虚拟用户数随着负载时间的延长而增加,可以帮助确定系统响应时间减慢的准确时间点以及准确用户数

7、 假设在测试过程中发现某些事务的响应时间过长,但分析应用服务、数据库服务以及网络都属于

正常现象,问题可能出现的原因

1) LR客户端机器是否已无法承载当前运行压力导致LR无法及时获取从服务端返回的信息

2) Think_time(即思考时间)是否已忽略

3) 确定当前被测系统架构,是否为在每次测试过程中清除缓存所导致

8、 如何发现应用服务的相关问题?

1) 通过某些事务的运行,判断是否在应用代码层未进行调优导致事务响应事件过长

2) 通过实时监控工具(nmon等)监控分析:

a) 系统在运行过程其CPU是否稳定运行或CPU耗用是否过高

b) 在系统运行过程中其内存是否存在内存泄露现象

3) 打开应用相应日志,分析在运行过程中是否存在交易报错并获取错误原因查看是否由于代码

原因导致交易错误发生

9、 如何发现数据库的相关问题?

1) 通过运行某些相应的已获取的SQL语句,判断是否由于数据库索引所导致的事务响应过长

的问题发生

2) 通过实时监控工具(nmon等)监控分析:

a) 在系统运行过程中CPU是否可稳定运行或CPU耗用过高;

b) 在系统运行过程中其内存是否存在内存泄露等现象。

10、 解释以下函数及他们的不同之处。

Lr_debug_message 发送调试信息到输出窗口或相应日志内,即调试日志

Lr_output_message 发送日志信息到输出窗口或相应日志内,即INFO日志

Lr_error_message发送错误日志信息到输出窗口或相应日志内,即ERROR日志

Lrd_stmt赋予一个SQL语句用于处理

Lrd_fetch 获取结果集中的下一行数据

11、 常见的性能测试方法有哪些?以及每类测试方法的目的是什么?

1)基准测试:确保测试环境无问题,初步评估每次只是单独运行一个交易时,当前系统的响应时间是否够快,各服务器的CPU、内存耗用是否合理;

2)单一交易并发测试:确保数据库不存在线程死锁等问题,评估在只是单独运行一个交易时,其系统的响应时间是否够快,各服务器的CPU、内存耗用是否合理。

3)混合场景测试:模拟真实生产场景,评估其系统各交易的响应时间是否够快,各服务器的CPU、内存是否合理。

4)浪涌测试场景:模拟高峰与低峰业务处理量,评估系统各服务器的CPU、内存耗用是否合理。

5)稳定性测试场景:模拟不间断运行系统,评估系统是否可高效不间断稳定运行。

6)容量测试场景:通过不间断逐步加大用户数或业务处理量,确定在特定环境下,预测其系统所能承载的最大用户并发数或最大的业务处理量,从而为项目组提供扩容依据。

12、 解释几个常用的性能指标的名称与具体含义。

1)事务:(全称:transaction),单位:个,即用户在准备进行一个操作到完成操作的过程

2)思考时间:(全称:thinktime),单位:秒,一般与事务组合使用,例如在A事务后或者在A事务前增加一个2秒的思考时间,即指每2秒钟运行一次A事务

3)集合点:(全称:rendezous),一般与事务组合使用,例如在A事务前增加一个集合点,且用户并发数为10用户并发,即指10用户每次均需完全到达这个集合点后,在一次性进行并发发起请求,在性能测试中,通常将未设置集合点的并发叫做广义并发(因系统处理能力有限,存在排队概念,因此会导致用户发起的请求顺序有先有后),将设置集合点的并发叫做狭义并发(即客户端一次性想服务器发起请求),一般,性能测试所采用的模式为广义并发模式。

4)事务响应时间:(全称:transaction response time),单位:秒。其主要作用为评估当前系统的响应时间的快慢。

5)事务TPS:(全称transaction per second),事务处理能力,单位:笔/秒,其主要作用为评估当前服务器的处理能力。

6)并发用户数:(全称:Running vusers),单位:个,其主要作用为用来评估当前服务器的负载压力。并发用户数的计算公式:事务响应时间*事务TPS≈并发用户数

7)吞吐量:(全称:throughput),单位:字节,即指客户端在向服务器端发起请求后,其服务器的返回信息。吞吐量的计算公式为:总事务TPS*总返回字节数*运行时间≈吞吐量。

8)点击数:(全称hits per second),单位;次/秒,即每秒客户端向服务器端发起的总请求数,其主要作用为用来评估当前服务器的负载压力。

9)通过事务数:单位:个,即系统在运行一段时间内其事务的总计完成事务数

10)失败事务数:单位:个,即系统在运行一段时间内其事务的总计完成失败事务数

11)事务通过率:即指系统在运行一段时间内其事务完成的成功率。其主要作为是用来评估当前系统的稳定运行处理能力。事务通过率的计算公式:成功事务数/成功事务数+失败事务数*100%

12)CPU资源利用率,即系统在运行一段时间内,其各相关服务器CPU的资源耗用情况

13、 请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?

1)在查看需求文档,从中提取性能测试需求,与用户交流,了解实际使用情况。

2)结合业务信息设计操作场景总结出需测试的性能关键指标。

3)执行用例后根据提取关键性能指标来分析是否满足性能需求。

14、 客户交付一个性能测试项目,请阐述你的实施流程

测试设计阶段:

1) 了解被测系统的性能需求,定义测试目标与范围;

2) 了解系统的技术信息,如系统架构

3) 确定测试方案,进度安排,并制定测试计划,场景设置方案及需收集的测试数据

4) 同相关人员协商讨论测试方案

5) 准备测试收集模(来自:WWw.HnnscY.com 博文 学习 网:性能测试面试技巧)板,不同项目的性能测试,需收集的数据不同,针对性的制定一个模板更符

合需要

测试环境准备

1) 技术准备:选择性能测试工具,测试方案中涉及到的技术问题;测试数据的收集方案实现;

如:如何监控系统资源等;

2) 搭建测试环境

3) 创建初始数据:如虚拟用户使用的账号等;

测试执行阶段:

1) 录制脚本

2) 调试脚本

3) 执行场景;

4) 收集测试数据,并简单整理

测试分析阶段:

1) 分析测试数据

提交测试报告

15、 请在以下两个项目当中,选择一个,考虑如何进行用例设计:a.杯子 b.有弹簧的圆珠笔

a.杯子

需求测试:查看杯子使用说明书

界面测试:查看杯子外观

功能度:用水杯装水看漏不漏;水能不能被喝道

安全性:杯子有没有毒或细菌

可靠性:杯子从不同高度落下的损坏程度

可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

疲劳测试:将杯子盛上水(案例一)放24小时检查泄露时间和情况;盛上汽油(案例二)放24小时检查泄露时间和情况等

压力测试:用一根针并在针上面不断加重量,看压强多大时会穿透

强度测试:杯子加包装(有填充物),在多高的情况下摔下不破损

b.有弹簧的圆珠笔:

功能测试:圆珠笔按下是否能正常写字,写字太重会不会缩回去,继续按会不会弹回去 性能测试:圆珠心弹出弹回的快慢

负载测试:一直按,弹簧能接受多少次的升缩

兼容性测试:换其他的笔芯能不能行

强度测试:用力过度会怎么样

可恢复性测试:如果弹簧压久了,是否可恢复等等

GUI测试:笔的外观,拿笔的舒适性

安全性:考虑对笔芯的保护,是否对使用者造成的危害等等

16、现有Customers表和Sales表的数据如下:

Customers表:

CustID Name ShpCity Discount

449320 AdaptoPortLand 0.05

890003 AAPortLand 0.05

888402 Seaworth Albany0.04

Sales表:

SaleID CustID SaleMount

234112 499320 8000

234113 888402 6500

234114 499320 5900

234115 890003 4500

要求:

1) 给出查询语句,描述:在Customers表中查询名字为AA查询语句;

2) 给出删除操作,描述:在Sales表中删除SaleID为234115的语句。

3) 根据以下结果表给出多表查询语句。

SaleID CustIDNameDiscount SaleMount

234112 499320 Adapto 0.058000

234113 888402 Seaworth0.046500

234114 499320 Adapto 0.055900

234115 890003 AA 0.054500

答案:

1) select * from Customers where name=’AA’

2) delete from Sales where SaleID=’234115’

3)select Sales.SaleID,Customers.CustID,Customers.Name,Customers.Discount,Sales.SaleMount Customers,Sales where Customers.CustID=Sales.CustID

17、 from

性能测试面试技巧篇二:性能测试工程师面试题

1.什么是负载测试?什么是性能测试?

负载测试:通过被测试系统不断增加压力,直到性能指标超过预期值或者某种资源达到饱和状态。

经过这两天查看相关的资料,而且还和同事讨论。得出以下总结:

1)共同点:两种测试都是量的测试。

2)区别:压力测试是指被测对象在允许的压力值范围内进行测试。例如:一个B/S结构的应用程序,它允许有100个终端访问服务器。当有10、30、60、80个终端访问服务器时,程序的反应如何?而负载测试是指被测对象在超负荷的环境下运转。例如:就拿以上的例子来说,当有110或150个终端访问服务器时,程序的反应如何?

对性能测试、压力测试、负载测试的理解

斗胆在此发表一些个人理解与看法,权作抛砖引玉,望各路英雄能各抒己见,不吝赐教。 首先,我们看一下来自百度百科的定义:

1、性能测试:是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

2、负载测试:负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。

3、压力测试:是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。

我在这里简单谈一下我对三个概念的看法。

一、性能测试

性能测试的目的是找到系统在某种条件下的瓶颈,前提是这种条件在软件或服务的实际应用中可能发生。例如百度主页会同时有10万人访问,这是可能的。因此测试10万个vuser同时hit是有意义的,但是会不会有10亿人同时访问?显然不会,至少在当今不会,因此测试的数据量定在10亿个vuser是无意义的,这种行为不靠谱。因此,在这一点上我们可以得出结论,具有清晰的、有意义的并且意义确定的预期值是进行一次性能测试的关键要素。所以,我们在进行性能测试之前,首先要明确两个值:一个是系统负载预期值,一个是系统响应时间的预期值。有了这两个目标,才可以使用对系统持续增加负载的方法来观察系统的瓶颈所在。

那么性能测试就是简单的添加负载测试吗?显然不是。前面说过,性能测试的目的是要找出系统的瓶颈所在,而系统的瓶颈可能存在于各种方面。在代码方面,比较差的算法、硬代码多的模块等低效率的代码可能产生瓶颈;在数据库方面,冗余或者复杂的数据可能产生瓶颈;操作系统方面,cpu、磁盘、i/o系统、总线及兼容性等方面可能产生瓶颈;而在通信传输层面上,交换(路由)的转发效率、网络硬件质量等都可能引发系统瓶颈。对于以上这些可能引发瓶颈的原因,我们可以进行所谓白盒测试来找到问题的关键。各种层面上的问题,都有相应的测试工具或测试设备的支持,如果没有合适的工具,也可以自己进行设计。例如一些cpu监控工具、代码检测、数据库事件探查器、chariot等,以及网络分析仪、数据分析仪等通信分析仪器。这些都是性能测试的利器。

我们在性能测试出现瓶颈时,需要及时的调试对应的系统问题,但是如果在调试完成之后,系统表现好了一些,但是仍然没有达到预期目标,这个时候我们就应该把目光放在系统的其他层面上。由于一个系统是由多个子系统协作的,因此各个子系统之间有着密切的关联性。以web系统为例,当代码层以及数据库层都进行清洗之后,还可以通过其他途径提高系统的性能,以突破瓶颈,达到预期目标。

性能测试的另外一个目的是要建立一组被测系统的基准数据,系统在同样的测试环境与测试条件下,表现应当符合或优于基准数据的要求,否则测试不通过。另外,基准数据也可

以为其他类似的系统提供预期数据及预期返回时间的数值参考。

二、负载测试

负载测试的范围个人认为比性能测试要狭窄一些,负载测试通常定义为给被测系统加上它所能操作的最大任务数的过程。负载测试考验系统的两个指标,一个是系统的容量,一个是系统的耐久性。

测试系统容量是指给系统添加大数据量的文件或者数据,让系统进行处理并实时观察系统的表现情况。例如大数据量文件输入让系统处理(我们很熟悉的操作,亲们知道是啥意思吧?),大访问量的输入处理等。目的是找到系统能添加负载的最大量。而测试系统耐久性则指的是给出数量巨大的任务,让系统始终处于高负荷量的运行状态,并观察记录系统表现情况的测试方式。目的是找到系统所谓的“疲劳点”。例如运行多少时间之后系统返回时间开始变大,系统什么时候处理时间变得缓慢等都是考察的内容。

负载测试实现的前提是要先准备巨大的数据量,例如上百兆的文件、上万的用户等。负载测试不会以使系统崩溃为目的,因此负载测试的期望值一般以满足使用需求为主,不需要太夸张的数值。

三、压力测试

任何能使系统崩溃的测试都可以称之为压力测试。这一点我在会上已经多次说过了。

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

压力测试、负载测试、并发测试、可靠测试、失效恢复测试。

3.简述性能测试的步骤

计划测试—测试设计—创建脚本—创建场景—分析结果

4.简述使用Loadrunner的步骤

脚本录制设置—录制脚本—调试脚本—场景设置—结果分析

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

在产品相对比较文档,功能测试完成后。灵活性比较强。

6.LoadRunner由哪些部件组成?

virtual user generator

contorller

running contorller

analysis

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

virtual user generator

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

contorller

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

集合点:设置多个用户到达某个用户数量点集合,同时触发一个事务,以达到模拟真实环境下同时多个用户操作

,同时模拟负载,实现性能测试的最终目的

LR_rendezvous(“集合点名称”)

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

场景:模拟真实环境中,用户运行状况。

1.通过场景来模拟实际用户的操作,性能测试结果才具有代表性。

2.在运行过程中也需要关注场景性能测试值,测试过程是否正常。

1.选择场景中需要的脚本

2.选择为目标场景,还是指定的手工场景

3.设置用户数、设置产生负载的设备

4.设置执行策略

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

LR通过转发请求,来捕获数据包,来形成脚本

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

参数:在环境变化时必须时脚本具有环境变化的能力,就需要参数化(客户端发送到服务器端)

1.确定要参数话的数据

2.设定规则形式来取值

13.什么是关联?请解释一下自动关联和手动关联的不同。

关联:很多构架用sessionid等方法标识不同任务和数据,应用在每次运行时方式发送数据不完全相同,

需要利用的机制对录制的脚本进行处理,这种机制叫做关联(服务端发送到客户端)

14.你如何找出哪里需要关联?请给一些你所在项目的实例。

用户登陆,

客户端发送请求后,服务端验证正确性后,发送给客户端sessionid,是某种规则产生。

15.你在哪里设置自动关联选项?

两地方可以设置

1.设置允许录制时进行自动关联,可以自定义规则

2.录制完成后,vuser-scan action for correlations

16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)

17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?

Run-time,log,

当调试脚本时,可以只输出错误日志,当在场景找你管加载脚本时,日志自动变为不可用。

Show Desktop.scfStandard Log Option:选择标准日志时,就会在脚本执行过程中,生成函数的标准日志并且输出信息,供调试用。大型负载测试场景不用启用这个选项。

扩展日志包括警告和其他信息。大型负载测试不要启用该选项。用扩展日志选项,可以指定哪些附加信息需要加到扩展日志中

18.你如何调试LoadRunner脚本?

VuGen有两个选项帮助调试Vuser脚本。Run Step by Step 命令和断点(breakpoints)。Option对话框中的调试设置(Debug setting)项,可以确定在场景执行过程中执行轨迹范围。 调试信息写在output窗口。可以用 lr_set_debug_messag函数在脚本中手工设置信息类型。如果我们只想接收到一小段脚本的调式信息。

19你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。

在创建用户自定义函数前我们需要和创建DLL(external libary)。把库放在VuGen bin 目录下。一旦加了库

,把自定义函数分配做一个参数。该函数应该具有一下格式:__declspec (dllexport) char* <function

name>(char*, char*)。

20.在运行设置下你能更改那些设置?

21.你在不同的环境下如何设置迭代?

22.你如何在负载测试模式下执行功能测试?

23.什么是逐步递增?你如何来设置?

Ramp up这个选项用于逐渐增加服务器的虚拟用户数或负载量。设置一个初始值而且可以在两个迭代之间设置一个值等待。设置Ramp up,请到‘Scenario Scheduling Options’。

24.以线程方式运行的虚拟用户有哪些优点?

VuGen提供了用多线程的便利。这使得在每个生成器上可以跑更多的虚拟用户。如果是以进程的方式跑虚拟用户

,为每个用户加载相同的驱动程序到内存中,因此占用了大量的内存。这就限制了在单个生成器上能跑的虚拟

用户数。如果按进程运行,给定的所有虚拟用户数(比如100)只是加载一个驱动程序实例到内存里。每个进程共用父驱动程序的内存,因此在每个生成器上可以跑更多的虚拟用户。

25.当你需要在出错时停止执行脚本,你怎么做?

lr_abort函数放弃虚拟用户脚本的执行。说明虚拟用户停止Action的执行,直接执行vuser_end 然后结束执行。在出现错误情况下想手工放弃脚本的执行,这个函数是有用的。用这个函数停止脚本时,Vuser被指定为“Stopped”状态。为了这个函数起作用,开始时候就不能选择Run-Time Settings中的Continue on error选项。

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

吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响应时间差不多在同时出现。

27.说明一下如何在LR中配置系统计数器?

通过Web资源监视器,利用这些监控器可以分析web服务器的吞吐量、点击率、每秒http响应数以及每秒下载的页面数。

28.你如何识别性能瓶颈?

29.如果web服务器、数据库以及网络都正常,问题会出在哪里?

操作系统、代码算法、其他通信传输层硬件

30.如何发现web服务器的相关问题?

网络带宽、内存、存储、CPU、

31.如何发现数据库的相关问题?

32.解释所有web录制配置?

33.解释一下覆盖图和关联图的区别?

34.你如何设计负载?标准是什么?

35.Vuser_init中包括什么内容?

36. Vuser_end中包括什么内容?

37.什么是think time?think_time有什么用?

性能测试面试技巧篇三:性能测试面试题集

软件性能测试模拟笔试题目(一)

注:本试卷中题目所涉及性能测试工具如无特殊说明则均为LoadRunner。

一、

1. 简答题(2*10=20分) 客户交付一个性能测试项目,请阐述你的实施流程。

答案: 测试设计阶段:

1)了解被测系统的性能需求,定义测试目标和范围;

2)了解系统的技术信息,如系统架构等;

3)确定测试方案、进度安排,并制定测试计划,场景设置方案,及需要收集的测试数据;

4)同相关人员协商讨论测试方案;

5)准备数据收集模板;不同项目的性能测试,需要收集的数据不同;针对性的制定一个模板,更符合需要; 测试环境准备:

1)技术准备;选择性能测试工具;测试方案中涉及到的技术问题;测试数据的收集方案实现;如:如何监控系统资源等;

2)搭建测试环境;

3)创建初始数据;如虚拟用户使用的账号等; 测试执行阶段:

1)录制脚本;

2)调试脚本;

3)执行场景;

4)收集测试数据,并简单整理; 测试分析阶段:

1)分析测试数据; 提交测试报告。

2. 解释5个常用的性能指标的名称与具体含义。

答案:

? 并发:所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作。

? 在线:所有用户在一段时间内对系统执行操作。

? 请求响应时间

从client端发出请求到得到响应的整个时间;

包括:client端响应时间+网络响应时间+Server端响应时间。

? 事务请求响应时间

完成相应事务所用的时间;这个是性能测试中重点关注的指标。

? TPS(Transaction Per Second)

每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS

是LoadRunner中重要的性能参数指标。

? 点击率(Hit Per Second)

每秒发送的HTTP请求的数量;点击率越大对Server的压力越大

? 资源利用率

对不同资源的使用程度,如CPU,I/O,内存,……

3.

答案:

字符串复制

strcpy(str,"Hello ") ;

字符串连接

strcat(str,"World !");

lr_message("str: %s",str);

sprintf(s, "%s love %s.", "I", “ocean"); //产生:“I love ocean. "

变量转为参数,将变量str的值存到参数Param中

lr_save_string(str,"Param");

参数复制

lr_save_string(lr_eval_string("{Param}"),"Param_1");

参数转为变量

strcpy(str1,lr_eval_string("{Param_1}"));

4.

答案:loadrunner会自动监控指定的URL或应用程序所发出的请求及服务器返回的响应,它做为一个第三方(Agent)监视客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。

5.

答案:集合点:是一个并发访问的点,例如在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,并发访问的目的。

注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到Action 部分,什么是集合点?设置集合点有什么意义?LoadRunner中设置集合点的函数是哪个? 简述LoadRunner的工作原理? 写出5个Loadrunner中常用函数,并对其中2个举例说明用法。

vuser_init

6.

和vuser_end 中不能插入集合点。集合点函数如下:lr_rendezvous(“SubmitData”) HTML-based script与URL-based script的脚本有什么区别?

答案:使用“HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单

独的步骤,这种脚本看上去比较直观;使用“URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。

通常,基于浏览器的Web应用会使用“HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用“URL-based script”模式进行录制。

7.

答案:在Loadrunner中,进入Controller->Scenario->Rendezvous …->Policy,系统弹出Policy对话框。在该对话框中可以设定集合点执行的策略。

第一项:表示当所有用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。 第二项:表示当前正在运行用户数的X%到达集合点时,开始释放等待的用户并继续执行场景。 第三项:表示当X个用户到达集合点时,开始释放等待的用户并继续执行场景。

其中还有一项Timeout between Vusers,就30秒来说,当第一个用户到达集合点后,再等待30秒,如果在30秒内到达的用户数达到指定的数量,就开始继续执行场景。如果在30秒内还没有达到指定的用户数量,就不再等待,开始释放等待的用户并继续执行场景。

由上可知,将第一项用户数设置成50%可。

8.

答案: 设置LoadRunner中事务(trsaction)在每次循环中的间隔时间,系统可以利用该间隔时间进行相应事务的结束收尾工作的处理。加大Pacing参数,可使系统压力减小。

9.

答案:进入被监视windows系统,开启以下二个服务:Remote Procedure Call(RPC)和Remote Registry Service;在controller 中,Windows Resources窗口中右击鼠标选择Add Measurements,添加被监控windows的IP地址,选择所属系统,然后选择需要监控的指标就可以开始监控。

LoadRunner中如何监控Windows资源? LoadRunner的Controller组件中Pacing参数的作用是什么? 如何设置LaodRunner才能让集合点只对一半的用户生效?

10.

如果让QALoad模拟LoadRunner中只对关注的性能点进行迭代测试,你有什么好方法?

答案:可以将QAload脚本中关注的事务点写成一个循环,如果进行长时间的综合场景测试,则可将其写成一个永真循环,如while (1) {事务点},则对关注的性能点进行循环,而脚本其他代码不会进行循环。

11.

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

12. 什么是性能测试?

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

13.

第一步:计划测试。在这里,我们需开发一个明确定义的测试计划,以确保该测试方案能完成负载测试目标。第二步:创建虚拟用户。创建的脚本需要包含单个虚拟用户需要执行的操作、多个虚拟用户作为一个整体要执行的操作、以及能够作为事务来度量的操作。第三步:创建场景。一个场景描述了在一个测试会话中发生的事件。它包含了当场景中运行时的机器、脚本和虚拟用户。我们使用LoadRunner中的Controller创建场景。我们可以创建手动场景也可以创建基于目标的场景。在手动场景中,我们定义虚拟用户的数量、负载生成器、被分配到每个脚本中虚拟用户的百分比。对于web测试,我们创建基于目标的场景,其中目标即测试过程中要达成的性能目标。LoadRunner会由此自动为我们创建一个场景。第四步:运行场景。我们通过配置多个虚拟用户同时执行任务来模拟对服务器加压。在测试之前,我们设置场景的配置和计划安排。我们可以运行整个场景、一组虚拟用户或单个虚拟用户。第五步:监控场景。我们使用LoadRunner联机运行来监测场景执行、事务系统资源,Web资源,Web服务器资源,Web应用服务器资源,数据库服务器资源,网络延迟,流媒体资源,防火墙服务器资源,ERP服务器资源,Java性能监视器。第六步:分析测试结果。在场景执行时,LoadRunner记录了应用软件在不同负载下的性能。我们可以使用LoadRunner的图表和报告来分析应用软件的性能。 说明负载测试过程?

14.

我们一旦完成界面(GUI)测试,我们就可以执行负载测试。现代的软件系统架构庞大而复杂的。而单用户测试主要是侧重于系统组件的功能和用户界面的测试,应用测试侧重于整个系统的性能和可靠性。例如,一个典型的应用测试场景,描绘了1000个用户,同时登录到系统。这就产生了问题,如系统的响应时间是多少,它会崩溃么;是否兼容不同的应用软件和系统平台;它是否可以支撑成千上万的用户等,这时我们就需要做负载和性能测试。 我们什么时候做负载和性能测试?

15. 什么是LoadRunner的组件?

LoadRunner的组件有虚拟用户生成器,控制器、代理程序、LoadRunner的分析器和监控器,LoadRunner在线帮助

16. 你用LoadRunner的哪个组件录制脚本?

虚拟用户生成器(VuGen)可以用来录制脚本。它通过多种应用程序类型和通讯协议来确保你开发一个Vuser

脚本。

17.

虚拟用户生成器(VuGen)可以用来录制脚本。它通过多种应用程序类型和通讯协议来确保你开发一个Vuser脚本。 在多用户模式下你用LoadRunnner的哪个组件来回放脚本?

18. 在多用户模式下你用LoadRunnner的哪个组件来回放脚本?

Controller组件可以用来在多用户模式下回放脚本。这个过程可以在一组虚拟用户以组的形式执行脚本的场景中运行时完成。

19. 什么是场景

场景定义了发生在每个测试会话中的事件。例如,一个场景定义和控制了要加载的虚拟用户的数量,要被执行的动作,虚拟用户模拟压力时的机器。

20. 解释Web Vuser脚本的录制模式

我们使用VuGen通过记录一个用户在客户端执行典型的业务流程来开发一个Vuser脚本。VuGen通过记录客户端和服务器之间的交互来创建脚本。例如,基于Web的应用程序,VuGen监测客户端直到数据库,跟踪所有发送出的请求,再从数据库服务器接收。我们使用VuGen:监测应用程序和服务器的交互;使形成函数调用;插入生成的函数调用到一个Vuser脚本中。

21.

参数就像脚本中的变量。他们被用来改变对服务器的输入值来模拟真正的用户。每次当脚本运行时,不同的数据设置被发送到服务器。为了更精确的在Controller中测试,从而更好的模拟使用模型;一个脚本在系统上模拟很多不同的用户。 为什么创建参数?

22.

什么是关联?解释自动关联和手动关联的区别

关联是用来获取每次脚本运行时由嵌套请求产生的唯一的数据。关联提供值以避免产生重复值的错误,并且优化代码(避免嵌套请求)。自动关联是我们自己为关联设置的一定规则。它可以是应用服务器特定的。这里的值被通过规则创建的数据取代。在手动关联里,我们要关联的值被浏览和创建关联以用来关联。

23.

24.

从web自动关联的观点来说,可以在录制选项中和关联表单中设置。这里我们可以使整个脚本关联,选择在线信息或者离线的动作,在这里我们可以定义关联的规则。为数据库自动关联可以使用显示输出窗口和为了关联浏览,找出关联查询的图表,选择我们想关联的查询值来完成。如果我们知道要被关联的特殊值,我们只用为这个值创建关联,指定如何创建这个值 什么是关联?解释自动关联和手动关联的区别 你在哪里设置自动关联的选项

25.

Web_reg_save_param函数保存动态的数据信息到一个参数中。 什么函数可以捕捉到web Vuser脚本的动态值?

相关热词搜索:性能测试 面试技巧 性能测试面试题 数据库性能测试 测试方面的逻辑思维题

相关文章
最新文章

Copyright © 2008 - 2017 版权所有 博文学习网

工业和信息化部 湘ICP备09005888号-2