南京市某高校计算机科学与技术专业性能测试与Loadrunner—考试试卷分析

news2024/12/24 22:07:00

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)

思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。

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)

 

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

第1次迭代:网页前端

第2次迭代:软件测试

第3次迭代:自动化测试

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

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

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

 

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

 

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

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

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

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

系统稳定性资源如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据安全--16--数据采集阶段安全防护措施

本博客地址:https://security.blog.csdn.net/article/details/131033616 一、引子 数据安全采集阶段的防护措施主要是从三个方面来开展的,第一个是从个人数据主体采集方面,第二个是从外部机构采集方面,以上两个方面基本涵盖了数…

读改变未来的九大算法笔记05_数字签名

1. 数字签名”(Digital Signature) 1.1. 单词数字化(digital)意味着其“由数字字符串组成” 1.2. 任何数字化的东西都能被拷贝 1.3. “签名”的全部意义在于能被读取,但不能被除了作者的任何人拷贝(也就…

linux(信号产生中)理论部分

1.实际执行信号的处理动作称为信号递达 2.信号从产生到递达之间的状态,称为信号未决(Pending) 3.进程可以选择阻塞某个信号的 ----------------------------------------------------------------------------------------------------------…

【JavaSE】Java(五十一):核心要点总结

文章目录 1. String str "love"; 和 String str new String("love);一样吗?2. 如何将字符串反转3. String类的常用方法有哪些?4. new String("sn") new String("ow")会创建几个对象? 1. String str “love”; 和…

「C/C++」C/C++ Lamada表达式

✨博客主页:何曾参静谧的博客 📌文章专栏:「C/C」C/C程序设计 相关术语 Lambda表达式:是C11引入的一种函数对象,可以方便地创建匿名函数。与传统的函数不同,Lambda表达式可以在定义时直接嵌入代码&#xff…

JSON与storage

JSON JSON由来 ◼ 在目前的开发中,JSON是一种非常重要的数据格式,它并不是编程语言,而是一种可以在服务器和客户端之间传输的数据格式。 ◼ JSON的全称是JavaScript Object Notation(JavaScript对象符号)&#xff1a…

苹果震撼发布首款头显,搭配强悍Mac和iOS 17等全新产品,价值25000元!

🌷 博主 libin9iOak带您 Go to New World.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发…

随机过程与排队论(一页纸总结)

参数为 λ 的泊松过程的点间间距是相互独立的随机变量,且服从均值为 1/λ 的 指数 分布。 病人以每小时3人的泊松流到达医院,设该医院只有一个医生服务且容量为无穷,医生服务的时间服从指数分布,并且平均服务一个病人为30分钟&am…

内联函数 C/C++

代码&#xff1a; file1.c #include<stdio.h>void spam(double v); void masp(double w);inline static double square(double); double square(double x) { printf("%s %s %d\n", __FILE__, __func__, __LINE__);return x * x; } int main() {double q …

chatgpt赋能python:Python如何将图片Resize

Python如何将图片Resize 在网页设计和开发过程中&#xff0c;图片大小和质量对于网站性能和用户体验至关重要。网站图片过大会影响页面加载时间&#xff0c;降低用户体验&#xff1b;同时&#xff0c;过小的图片也会影响网站排名&#xff0c;因为搜索引擎的排名算法很重视网站…

chatgpt赋能python:Python如何循环运行程序

Python如何循环运行程序 Python是一种强大的动态语言&#xff0c;具备灵活性和易用性。在编写Python程序时&#xff0c;一个常见的需求是循环运行程序&#xff0c;特别是需要定期执行一些任务的情况下。 本文将介绍如何在Python中实现循环运行程序&#xff0c;并提供一些例子…

chatgpt赋能python:Python如何循环执行

Python如何循环执行 循环是编程中最基本和常用的结构之一。Python作为一门高级编程语言&#xff0c;提供了多种循环执行的方式。在本文中&#xff0c;我们将介绍Python中的循环语句和循环控制语句以及其运行原理。 Python循环语句 for循环 for循环是Python中最常用的循环语…

chatgpt赋能python:Python列表:如何使用Python将数据存入列表中

Python列表&#xff1a;如何使用Python将数据存入列表中 Python是一种广泛使用的编程语言&#xff0c;由于其易于学习和可读性&#xff0c;在数据科学和分析领域中使用广泛。在本文中&#xff0c;我们将讨论如何使用Python将数据存储在列表中。 什么是Python列表&#xff1f;…

语言是世上最奇妙的事物,没有之一

语言是世上最奇妙的事物&#xff0c;没有之一 品牌是靠语言传播的 语言是咋产生的&#xff1f;太玄了 趣讲大白话&#xff1a;猪如果会说话&#xff0c;谁吃谁还不一定呢 【趣讲信息科技187期】 **************************** 《未来简史》的作者说 人有了语言&#xff0c;就有…

Object类和Java中内置的一些接口

文章目录 一、Object类1.1Object类中的方法1.1.1toString()方法1.1.2equals()方法1.1.3hashCode()方法 二、Java中内置的一些接口2.1Comparable<T>接口2.2Cloneable接口 一、Object类 Object类是所有类的父类 1.1Object类中的方法 1.1.1toString()方法 Object类中的t…

Optimize Game Objects骨骼节点优化后SkinMesh以及动态骨骼

为了降低模型动画的性能开销&#xff0c;可以进行骨骼节点优化。 一、接口 unity官方提供了有两种方式可以进行节点优化&#xff1a; 注意当骨骼节点被优化后&#xff0c; Transform节点被剔除&#xff0c;因此需要将挂点等需要用到的节点暴露出来&#xff0c;即下面两个接口…

【高级篇】微服务保护

文章目录 微服务保护1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.超时处理1.1.3.仓壁模式1.1.4.断路器1.1.5.限流1.1.6.总结 1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制2.1.簇点链路2.…

<DB2>《DB2内存详细介绍》

《DB2内存详细介绍》 1 架构图2 主要概念2.1 内存集&#xff08;Memory Set&#xff09;2.2 内存池&#xff08;Memory Pool&#xff09;2.3 内存块&#xff08;Memory Block&#xff09; 3 内存方案3.1 第一级服务器内存3.2 第二级操作系统内存和实例共享内存3.3 第三级数据库…

K8S | 核心原理分析

整体上理解流程和原理&#xff1b; 一、背景 基于分布式的架构中&#xff0c;需要管理的服务是非常多的&#xff0c;无论是服务的数量还是体系划分&#xff1b; 从服务的能力上看&#xff0c;可以进行分层管控&#xff0c;只是其中有相当一部分服务层&#xff0c;改动更新的频…

【Python黑科技】自动答题项目代码分析(保姆级图文+实现代码)

目录 实现效果图片素材和源码 实现思路1. 打开对应网页&#xff0c;做好准备工作2. 获取正确答案3. 答题4. 提交试卷实现代码总结 欢迎关注 『Python黑科技』 系列&#xff0c;持续更新中 欢迎关注 『Python黑科技』 系列&#xff0c;持续更新中 实现效果 图片素材和源码 已经…