XXX科技学院试卷

20   /20   学年    第  学期    


     课程所属部门:                  课程名称:                        课程编号:               


考试方式:(A、B、开、闭)卷使用班级:                  学院                             


命 题 人:            教研室(系)主任审核:               主管领导批准:                


班级:                         学号:                        姓名:                         


题号

总分

得分













一、填空题(本题×小题,共×分)

(试卷内容全部使用小四、宋体;英文用Times New Roman字体、题号用罗马数字)

1、………………

2、………………


二、单项选择题(本题×小题,共×分)

1、………………

2、………………



三、是非题(对划“√”,错划“×”,本题共×小题,每小题×分,共×分)

1、………………

2、………………


四、名词解释(本题×小题,每小题×分,共×分 ) 

1、………………

2、………………


五、简答题(本题18小题,共100分 ) 

1、系统用户数、在线用户数、并发用户数三者的区别?(6)

系统用户数:该系统的注册用户数,可以是活跃的也可以是僵尸用户

在线用户数:登录系统的用户,在线用户数并不一定对服务器都产生压力,因为有人登录了什么也不干

并发用户数:正在与服务器进行交互的在线用户数,对服务器产生真正的压力


2、LoadRunner进行测试的流程?(6)

1:首先性能测试也是需要做性能测试的需求分析。

2:制定性能测试方案。

3:开发测试脚本。

4:设计测试场景

5:执行场景。

6:对场景进行监控

7:分析结果系统调优。

8:输出性能测试报告


3、什么是集合点?设置集合点有什么意义? LoadRunner中设置集合点的函数是哪个?(6)

集合点:是一个控制真正并发访问的点,通常和事务结合起来使用,一般放在事务开始的前面。

集合点只需要在脚本中插入lr_rendezvous()函数即可。


4、Loadrunner中脚本增强有哪些方式?脚本增强的意义是什么(6)

1、参数化——更加真实的模拟客户端数据

2、事务——为统计动作的响应时间,人为定义的一个时间戳

3、检查点——是为了检查业务是否成功,类似与Jmeter中的断言

4、集合点——为了实现真正意义上的并发

5、关联——为了解决脚本中动态数据,比如把脚步中写死的数据用一个变量替换


5、vuser_ init 动作包含什么?vuser_ end动作包含什么?(5)

Vuser_init中包含在脚本执行过程中只需执行一次的脚本。一般来说,所有需要初始化的都可以放在vuser_init里面,比如登录。

vuser_end中一般包含退出的过程,比如退出系统,主要在脚本执行完成或停止时运行,在设置了迭代次数时,vuser_end和vuser_int均只执行一次。


6、手动场景和面向目标的场景有什么区别?(6)

目标模式:目标场景:目标可能是吞吐量,响应时间或并发Vuser数或者点击率或者TPS等,Loadrunner为了达到这个目标,Load Runner自动管理和调节虚拟用户Vuser进行测试。

手动模式:可以手动控制运行的Vuser数量和时间。


7、LoadRunner哪三大组件是什么,他们的作用分别是什么(5)

脚本生成器Virtual User Generator,简称VuGen

压力调度和监控系统Controller

结果分析工具Analysis


8、LoadRunner中的Think Time有什么作用?(5)

思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。通过启用思考时间,可以使


9、树视图和脚本视图各有什么优点?(5)

Tree View的好处是使用户更方便地修改脚本,Tree View支持拖拽,用户可以把任意一个节点拖拽到他想要的地方,从而达到修改脚本的目的。用户可以右键单击节点,进行修改/删除当前函数参数属性,增加函数等操作,通过Tree View能够增加LoadRunner提供的部分常用通用函数和协议相关函数。

Script View适合一些高级用户,在Script View中能够看到一行行的API函数,通过Script View向脚本中增加一些其他API函数。



10、解释下列函数的意义(6)

10.1、web_url();

10.2、web_submit_form();

10.3、lr_eval_string();

10.4、lr_output_message();

10.5、lr_save_string();  

10.6、web_reg_save_param();  

web_url ,加载由“URL”属性指定的URL,比如打开苏汽的首页。

web_submit_data(),模拟表单数据的提交,比如苏汽的立即招车

lr_output_message ,将消息发送到输出窗口

lr_eval_string(“{参数名}”),取得参数的数值

lr_save_string(“字符串变量”,“参数名”),将字符变量里的值传递给指定参数

web_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);  

//注册函数,在参数值出现的前面使用(先定义后使用),左右边界需根据TreeView里相关步骤的SeverResponse代码来确定。用以上函数能获取符合条件的数值。



11、保持每次参数取值的唯一性:比如我有100个用户,准备100条数据,大家用到数据都是不一样的,采用什么样的参数取值方式?(5)

保持每次参数取值的唯一性:Unique+Once( 比如我有100个用户,准备100条数据,大家用到数据都是不一样的)


12、设计性能测试常用的场景有哪些,设计场景的流程有哪些,一般每个场景测试多长时间?(6)

基准测试:

无负载情况下,对功能点分别进行一段时间的持续运行,取得各功能点平均响应时间作为分析衡量指标,用于初步诊断系统是否存在性能瓶颈。(一般5分钟)

单场景 →单独某个功能、接口,测试目标是多少(一般10--15分钟)

混合场景 →发现线程死锁和数据库死锁(一般10--15分钟)

稳定性场景 →系统是否稳定运行,发现系统是否有内存泄漏(过程)、内存溢出(结果,系统崩溃)(一般N*24小时)

在进行场景的压测时,相当重要的一点是要保证数据库表中有足够的数据量



13、性能测试的类型都有哪些?(6)

基准测试

配置测试

负载测试

压力测试

压力测试

稳定性测试

容量测试


14、什么时候执行性能测试,如何选择性能的业务,什么是Load Generator,它的作用是什么?(5)

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

在Controller中对场景进行配置后,就可以启动测试了。在测试过程中,Controller控制Load Generator对被测试系统的加压方式和行为。

Controller同时负责搜集被测系统各个环节的性能数据。各个Load Generator会记录最终用户响应时间和脚本执行的日志。

压力运行结束以后,Load Generator将数据传到Controller中,由Controller对测试结果进行汇总。


15、如果参数如果采用sequential+each iteration(顺序取值方式)方式,虚拟用户数设置5个用户,那么在迭代的时候,是怎么取得参数的?,假设迭代3次的取值是什么?(6)

Loadrunner考核试卷分析_性能测试

所有的虚拟用户迭代方式如下:

第1次迭代:网页前端

第2次迭代:软件测试

第3次迭代:自动化测试



16、什么是逐步递增?你如何来设置?(5)

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

可以在如下选项卡中进行设置:如下图所示,将设置更改为:“每 15 秒启动 2 个 Vuser”

Loadrunner考核试卷分析_响应时间_02



17、解释曲线拐点模型的含义?(5)


Loadrunner考核试卷分析_性能测试_03


随着测试时间的变化,虚拟用户数的增加的压力的增加(从轻压力区到重压力区),然后响应时间、吞吐量、资源利用率等的变化趋势进入的一个拐点区区域。



18、如何监控Windows服务器资源(cpu、内存等),如何监控Linux服务器上资源(cpu、内存等),一般稳定系统的资源状态值是多少?(6)

Windows可以在Controller中添加Windows Resource度量参数等,以windows资源监控为例,可右键点“添加度量”,输入系统IP、选择平台类型,确定即可。

Linux中可以通过Linux命令:TOP  、Vmstat 、free和NMON监控等方式。

系统稳定性资源如下:

Loadrunner考核试卷分析_响应时间_04