《性能测试与loadrunner的使用汇编》由会员分享,可在线阅读,更多相关《性能测试与loadrunner的使用汇编(110页珍藏版)》请在金锄头文库上搜索。
1、性能测试与LoadRunner的使用,目录页,第一章 性能测试基础知识,主要包括以下部分内容: 什么是软件性能 性能测试相关术语 性能测试分类 性能测试的目的 性能测试的步骤,第一章 性能测试基础知识,什么是软件性能? 软件性能应该是一种指标,通过这个指标可以 衡量系统或构件性能达到的程度。也是对软 件性能需求的一个测试和评估,用来验收或评 估软件达到的性能程度。 它主要描述了Web应用在正常情况下最多能够给 予多少用户以服务,以及服务的响应速度和服 务能正常持续多少时间。,第一章 性能测试基础知识,性能测试相关术语 响应时间 是指用户提交一个请求,到客户端接收到所有 的数据所需要的时间,网络
2、延迟 时间,服务器延 迟时间,数据库延 迟时间,第一章 性能测试基础知识,性能测试相关术语 并发用户数 指同一时刻与服务器进行数据交互的所有用户 数量 吞吐量 吞吐量(throughput),是指单位时间内流经 被测系统的数据流量,一般单位为b/s, 即每秒钟流经的字节数。 其直接体现系统的承载的能力。,注意跟用户数, 在线数的区别,第一章 性能测试基础知识,性能测试相关术语 吞吐量作为性能测试时主要关注的一个指标, 与虚拟用户数之间存在一定的关系。在达到瓶 颈前一般与VU数成正比。 如下图所示: 。,系统瓶颈,第一章 性能测试基础知识,性能测试相关术语 TPS 表示每秒系统处理的事务数,它是
3、衡量系统处 理能力的重要指标,在LoadRunner中一定要分 析的一个指标 。 点击率 指每秒钟用户向Web服务器提交的HTTP的数量,第一章 性能测试基础知识,性能测试相关术语 资源利用率 指的是系统资源被占用的情况,主要包括CPU利 用率、内存利用率、磁盘利用率、网络等 。 g)思考时间(Think Time) 也称为“休眠时间”,从业务层面来说,这个 时间是指用户在进行操作时,每个请求之间的 时间间隔,第一章 性能测试基础知识,性能测试分类 负载测试 压力测试 配置测试 并发测试 可靠性测试,第一章 性能测试基础知识,性能测试分类 负载测试 是通过对被测试系统不断的加压,直到超过预 定
4、的指标或者是部分资源已经达到了一种饱和 状态不能再加压为止的过程。 压力测试 指当系统已经达到一定的压力下(如CPU、磁 盘等已经处于一种饱和状态),系统处理业务 的能力,系统是否会出现崩溃等。,第一章 性能测试基础知识,性能测试划分 配置测试 配置测试 (Configuration Testing)是通过调 整系统软/硬件环境,了解在不同环境下系统性 能指标的情况,从而找到系统的最优配置。,第一章 性能测试基础知识,性能测试划分 并发测试 并发测试(Concurrency Testing)是通过模拟 用户并发访问,测试多用户同时访问同一应 用、模块或数据,观察系统是否存在死锁、系 统处理速度
5、明显下降等其它的一些性能问题,第一章 性能测试基础知识,性能测试划分 可靠性测试 是当系统在一定的业务压力下,让系统持续运 行一段时间,看系统是否达到我们要求的稳定 性,这里强调在一定业务压力下持续运行的能 力,一定都会有一个明确的要求,例如:持续 运行多少天系统不能出现问题 。,第一章 性能测试基础知识,性能测试的目的: 能力验证 规划能力 性能调优 缺陷发现,第一章 性能测试基础知识,性能测试的目的: 能力验证 能力验证是性能测试最常用的一个领域。一般能力验证 采用这样的描述方式:“某系统能否在条件A下具备B性 能” 规划能力 规划能力与能力验证有相似之处,但还是有不一样的地 方,能力验证
6、强调的是在某个条件下具备什么样的能 力,而规划能力体现在系统如何才能达到要求的性能指 标,第一章 性能测试基础知识,性能测试的目的: 性能调优 性能调优是通过测试来调整系统的环境,最终 使系统性能达到最优的状态。这是一个持续的 过程,主要调优的对象有数据参数、应用 服务器、系统的硬件资源等,第一章 性能测试基础知识,性能测试的目的: 发现缺陷 性能测试应用领域的主要目标是通过性能测试 的手段来发现系统存在的缺陷,第一章 性能测试基础知识,性能测试的步骤,第一章 性能测试基础知识,“不成文的”性能需求定义: 在5S内响应并呈现给用户的页面,用户会认为是好的响应速度 6-10S,用户会认为是一般的
7、响应速度 超过10S,用户会认为是很差的响应速度,目录页,第二章 LoadRunner基础知识,主要包括以下部分内容: LoadRunner简介 LoadRunner组成 LoadRunner测试步骤,第二章 LoadRunner基础知识,LoadRunner简介 1、HP LoadRunner是目前应用最广泛的性能测试工具,市场占有率60%以上,号称“工业标准级”性能测试工具,原为Mercury 公司的产品,后该公司被HP公司收购 可在公司FTP上下载: ftp:/192.168.0.192/Upload/lxb共享文件,中下载 2、LoadRunner通过建立虚拟用户(Virtual Us
8、ers)来代替真实用户的操作,模拟实际场景中多用户同时在客户端进行业务操作。,第二章 LoadRunner基础知识,LoadRunner组成 1、虚拟用户发生器(Virtual User Generator)-用于模拟用户行为,生成脚本 2、控制器(Controller)-用于创建场景、执行性能测试 3、分析器(Analysis)-用于提供性能监测图表,分析测试结果,第二章 LoadRunner基础知识,LoadRunner测试步骤,性能测试与LoadRunner的使用,第三章 Vuser发生器,该章节主要包括以下部分内容: 脚本录制 Recording Options设置 Run-Time
9、Setting设置 脚本完善,第三章 Vuser发生器,脚本开发过程,第三章 Vuser发生器,脚本录制 如何选择协议 开始录制脚本,第三章 Vuser发生器,选择协议的常用方法主要有以下几种: 询问开发工程师数据通讯采用何种协议 当没有开发工程师支持时,可以通过概要或详细设计手册获知所使用的协议; 使用协议分析工具捕获包进行分析,然后确定被测对象所使用的协议。 根据以往测试经验来判断被测试对象采用的协议,这种方法具有猜测性,有时候不一定具备;,第三章 Vuser发生器,协议分类表,第三章 Vuser发生器,LoadRunner提供三种选择协议的方式 单协议脚本 多协议脚本 最近新建脚本类型使
10、用过的协议,第三章 Vuser发生器,开始录制脚本 Web(HTTP/HTML)协议为例,第三章 Vuser发生器,Run-Time Setting设置 Run Logic标签页 Pacing标签页 Think Time标签页,第三章 Vuser发生器,Run Logic标签页 设置运行脚本的迭代的次数,可以更改 “Number of iterations”的值来设置迭代的 次数,第三章 Vuser发生器,Pacing标签页 Pacing选项主要是用来设置脚本迭代过程中, 两次重复执行的时间间隔。 As soon as the previous iteration ends:在多次迭代时,一次
11、执行完后马上执行下一次。 After the previous iteration ends:这里有两个选择Fixed和Random。选择Fixed表示上一次执行结束后,等待固定的一段时间后,再执行下一次;选择Random表示上次一执行结束后,等待一段随机的时间长度后,再执行下一次,这个随机时的取范围为设置的范围。 At fixed/Random intervals:这个表示不管上一次执行完与否,到达到规定的时间就开始执行下一次,这里也有两个选择Fixed和Random。Fixed表示固定的一个时间值;Random表示取一个随机值,随机值的范围是自己设置的。,第三章 Vuser发生器,Paci
12、ng标签页,第三章 Vuser发生器,Think Time标签页 Think Time选项用来设置用户操作的思考时 间 。 Ignore think time:运行脚本的时候忽略思考停顿时间。 Replay think time:设置思考时间的延迟。 As recorded:根据录制时的思考时间来运行 Multiply recorded think time by:根据录制时思考时间的整数倍来运行。 Use random percentage of recorded think time:设置一个最大值和最小值,从中选出一个随机值。一般在实际使用过程中选择这种模式。 Limit think t
13、ime to :设置一个最大的think time 的值,如果录制值超过最大值,就以最大值为准。,第三章 Vuser发生器,Think Time标签页,第三章 Vuser发生器,脚本完善 插入事务 插入检查点 参数化 插入集合点 添加关联 插入注释,第三章 Vuser发生器,插入事务 插入事务的两种方法:脚本录制中插入和录制后: 录制后插入事务的几种状态LR_AUTO、 LR_PASS、LR_FAIL、 LR_STOP LR_AUTO:事物的状态被自动设置,如果事务执行成功,状态设置为PASS,如果执行失败,状态设置FAIL,如果由于异常中断,状态被设置成STOP。 LR_PASS:事务如果执
14、行成功,代码返回的状态是PASS。 LR_FAIL:事务如果执行失败,代码返回的状态是FAIL。 LR_STOP:事务如果由于异常中断,代码返回的状态是STOP。,第三章 Vuser发生器,检查点 在进行压力测试时,经常会有页面间数据传递 的操作,页面就有可能会发生传递混乱,或者 客户端与服务端数据传输被中断或传输了错误 的数据等情况。所以我们需要一个检查的过程。 检查点返回的值是通过检查点函数将返回值的 结果反映在Controller的状态面板上和 Analysis统计结果中,第三章 Vuser发生器,常用的检查点函数 web_find() 文本检查点,放在目标脚本之后 web_reg_fi
15、nd() 文本检查点,先注册后使用,放在目标脚本 之前 Web_image_check() 图像检查点,第三章 Vuser发生器,插入检查点的步骤 将视图模式设置为“Tree View”,第三章 Vuser发生器,插入检查点的步骤 在“Tree View”中选择要插入检查点的位置,第三章 Vuser发生器,插入检查点的步骤 选择检查点类型和插入函数,第三章 Vuser发生器,参数化技术 所谓的脚本参数化,就是针对脚本中的某些常 量,定义一个参数来取代,这个参数中包含很 多数据源,可以是一文本文件也可以是数据 源。 那么为什么要进行参数化呢? 为了减少脚本的大小和脚本数量。 使业务更接近真实的客
16、户业务。,第三章 Vuser发生器,创建参数 录制好脚本后,选中要参数化的常量点右键- Replace with a parameter,第三章 Vuser发生器,创建参数 当参数化结束后,脚本保存的根目录下会多出 一个参数化的文件。,第六章脚本编写实践,创建参数 如果有多个参数文件,可以对参数文件进行合 并,第六章脚本编写实践,参数类型属性 “Date/Time”(日期/时间)参数类型 “Group Name”(组名)参数类型 “Iteration Number”(迭代编号)参数类型: “Load Generator Name”(负载生成器名)参数类型 “Random Number”(随机编号)参数类型 “Unique Number”(唯一编号)参数类型 “Vuser ID”参数类型 File参数类型,第六章脚本编写实践,文件类型参数的设置,使用记事本 编辑参数,参数模拟,参数取 值设置,第三章 Vuser发生器,数据文件参数类型的设置注意点: Edit With Notepad(使用记事本编辑)设置 Select column(选择列)设置