LoadRunner性能测试培训

上传人:n**** 文档编号:50713840 上传时间:2018-08-10 格式:PPTX 页数:64 大小:544.74KB
返回 下载 相关 举报
LoadRunner性能测试培训_第1页
第1页 / 共64页
LoadRunner性能测试培训_第2页
第2页 / 共64页
LoadRunner性能测试培训_第3页
第3页 / 共64页
LoadRunner性能测试培训_第4页
第4页 / 共64页
LoadRunner性能测试培训_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《LoadRunner性能测试培训》由会员分享,可在线阅读,更多相关《LoadRunner性能测试培训(64页珍藏版)》请在金锄头文库上搜索。

1、LoadRunner性能测试培训质量管理部 窦志刚n 性能测试基础知识 n 性能测试常用术语 n LoadRunner组件-Virtual User Generator n LoadRunner组件-Controller n LoadRunner组件-Analysis n 基本调优目标n 什么是性能测试 通过狭义的性能测试 模拟生产运行的业务压力或者用户使用场景来测试系统的性能是否满足 生产性能的要求。 广义的性能测试 指压力测试、负载测试、强度测试、并发测试、大数据量测试、可靠性 测试等和性能相关的测试统称。性能测试基础知识n 压力测试 对系统不断施加压力的测试,是通过确定一个系统的瓶颈或不

2、能接收用户 请求的性能点,来获得系统提供的最大服务级别的测试。目的:是发现在什么条件下系统的性能变得不可接受,并通过对应用程序 施加越来越多的负载,直到发现应用程序性能下降的拐点。n 负载测试 对系统不断增加压力或增加一定压力下的持续时间,直到系统的一些性能 指标达到极限,例如响应时间超过预定目标或某种资源以及达到饱和。区别 压力测试侧重压力大小,负载测试往往强调压力持续的时间。性能测试基础知识n 强度测试 强度测试主要是检查程序对异常情况的抵抗能力,如运行最大存储空间 ,进行可能导致系统崩溃、磁盘数据抖动、网卡满负荷等。主要是异常 条件下验证系统是否稳定以及性能方面是否容易扩展。n 疲劳强度

3、测试 疲劳强度测试是一类特殊的强度测试,主要测试系统长时间运行后的性 能表现,如一般常见的7X24小时的压力测试。性能测试基础知识n 并发测试 主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏 的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测 试都会涉及并发测试。通用说明:持续挂载一定数量用户不断开。 LoadRunner进行并发测试相对较少,一般使用测试仪很普遍。n 大数据量测试 一般是针对某些系统存储、传输、统计查询等业务进行大数据量的测试 。如CA系统上千万条的数据测试。性能测试基础知识n 可靠性测试 在给系统加载一定业务压力的情况下,使系统运行一段时间,检测

4、系统 是否稳定。如施加压力让CPU资源保持在90%以上的使用率,连续对系 统加压24个小时,分析系统是否稳定。性能测试基础知识性能指标n 并发 严格意义上的并发:即所有的用户在同一时刻做同一件事情或者操作 ,一般是同一类型的业务 广义的并发:即所有的用户对系统发出了请求或进行了操作,这些请 求或者操作可以是相同的,也可以是不同的。 LoadRunner压测并发的弱点:一个IP只能支持65535个连接(理论上),因此需要压测百万级别的 并发,必须很多IP地址支持才能实现。性能测试基础知识性能测试基础知识 防火墙并发测试标准:Concurrent connectionsHost 和DUT之间同时连

5、接的总数,并假设所有连接上都有数据传输。 即同时可以挂载的用户数量。n 请求响应时间 请求响应时间是指从客户端发出请求到得到响应的整个过程的时间。从 客户端发送一个请求开始计时,到客户端接到从服务器端返回的响应接 口计时结束。 另外一些工具中,会被称为“TTLB”,“Time to last byte”。从发送一个请 求开始,到客户端收到最好一个字节的响应为止所耗费的时间。n 事务响应时间(Transaction Response Time)事务可能是一系列的请求组成,事务的响应时间主要是针对用户而言, 是为了向用户说明业务响应时间而提出的。性能测试基础知识n CPS(Connection P

6、er Second)新建测试的主要目的是测试被测设备的处理能力。单位时间内能够建立 的连接数越多,说明被测试设备的处理器能力越强。一般只关心建立 TCP连接的速率,因此使用RST方式关闭连接。n 吞吐率 (Throughput)单位时间内网络上传输的数据量,是衡量网络性能的重要指标。 Loadrunner记录的Throughput是接收到服务器返回的所有字节数之和, 与本地发出的字节数无关! 和网络带宽的关系:TPS * 返回数据包的大小=Throughput”,“TCP”,“RemoteHost=66.8.5. 197:9000”,LrsLastArg);/建立连接 lr_load_dll(

7、“C:certsm2v11dlllibeay32.dll“);/Load DLL lr_load_dll(“C:certsm2v11dllssleay32.dll“); Action :发送接收数据,对数据进行判断等;调用DLL中的动作函数 ,进行操作; lrs_send(“socke“, “buf0“, LrsLastArg); lrs_receive(“socke“, “buf1“, LrsLastArg); num=runconnect_doublecert(0,0,150000); /函数调用 Vuser_end:关闭连接,是否DLL等Vuser Generator-录制windows

8、 SocketVuser Generator-脚本模式WebVuser Generator-脚本模式Java协议Vuser Generator-脚本模式Socketn 参数化 参数化是LR的一大特色,通过参数化功能实现了用户行为的差异化。 参数化实际是用参数替换一些常量。当脚本运行时,Vuser将使用指定数 据源中的值来替换参数。参数的数据源可以是一个文件,也可以是内部 生成的变量,可以是数据库中的查询结果。优点: 减少脚本的大小和数量 虚拟用户脚本更接近真实的用户行为Vuser Generator-脚本增强-参数化n 参数类型 Date/Time:时间类型的参数 Group Name:使用虚

9、拟用户所在的组名称代替参数 Load Generator Name:使用虚拟用户所在的Load Generator机器名来 替换 Iteration Number:使用该测试脚本当前循环的次数来生成参数。 Random Number:随机数。可以设置产生随机数的范围。 Unique Number:唯一的数。在属性中可以设置第一个数以及递增的数 的大小。递增含义:假如起始数为1,递增为5,那么第一个用户第一次 循环取值为1,第二次循环取值为2;第二个用户第一次循环取值为6,第 二次为7;Vuser Generator-脚本增强-参数化n 参数类型 Vuser ID:使用虚拟用户的ID来代替参数值

10、,该ID是由Controller来控制 的。Vuser中,Vuser ID为1。 File:可以从属性文件中设置编辑文件,添加内容,也可以从数据库中提 取数据。 User Defined Function:从开发的dll中获取数据。Vuser Generator-脚本增强-参数化n File类型Vuser Generator-脚本增强-参数化n File类型-如何获取每行数据 Sequential:按照顺序一行行的读取,每次当Vuser访问数据表时都返回到 下一个可用的数据行。如果表中没有足够的值,返回到表的第一个值, 一直循环到测试结束。强调虚拟用户的一致性,每个虚拟用户运行到该 点时取值一

11、致。 Random:每次Vuser访问数据表时都分配一个随机值。 Unique:唯一的值。为每个Vuser的参数分配一个唯一的值;Unique强 调用户的差异性,即每个用户取到的参数值不一致。 Same line as xxxx :如果一个脚本中定义了多个参数,其中某些参数应 该是对应的,如Seed和SN;用户名和密码等;Vuser Generator-脚本增强-参数化n File类型-何时访问数据表更新参数 Update value on 定义了何时访问数据表更新参数值。Vuser Generator-脚本增强-参数化n File类型-何时访问数据表更新参数 Each iteration:每

12、次迭代时访问数据表获得下一个值。在一次迭代中 一个参数可能会出现多次。如用户名、密码出现两次,如果希望这两 次的参数取一样的值,就选择此项。用户名和密码两个参数只在不同 的迭代之间进行参数的更新,在同一次迭代中取同一个值。 Each occurrence:该参数的每次出现都需要更新值。即一次迭代中 参数如果多次出现将会取不同的值。 Once:在一个Vuser中同一个参数取同一个值。Vuser Generator-脚本增强-参数化n 集合点(Rendezvous) 集合点可以控制各个vuser以便在同一时刻执行任务。借助集合点,可以 在LoadRunner中实现真正意义上的完全一样的并发。使用集

13、合点,可以在系统上模拟较重的用户负载。当某个Vuser达到该集 合点时,Controller会将其保留,直到参与该集合的全部Vuser都到达。 当满足条件时,Controller将释放Vuser,这样可以产生非常密集的同一 类用户操作或请求。 如下,在验证口令时增加集合点,提供最密集的同时验证操作。Vuser Generator-脚本增强-集合点n 检查点 检查Web服务器返回的网页结果是否正确。VuGen支持在脚本中插入 Text/Imag检查点。 Web_find:主要针对HTML页面显示的内容进行搜索。有时候在页面 显示正确的情况下也无法搜索到判断信息。(属于丢弃的方法) Web_reg

14、_find针对HTML源文件进行搜索。Vuser Generator-脚本增强-检查点n Web_reg_find用法 web_reg_find(“Text=ABC“, “SaveCount=abc_count“, LAST); web_url(“Step“, “URL=.“, LAST); if (strcmp(lr_eval_string(“abc_count“), “0“) = 0) Action A else Action B 特点: 该函数必须写在要查找的内容请求之前,一般情况下都会写在如下六 个函数之前: Web_custom_request(),web_image(),web_l

15、ink(),web_submit_data(),web_su bmit_form(),web_url().Vuser Generator-脚本增强-检查点web_find()和web_reg_find()的区别: 这两个函数函数类型不同,web_find()是普通函数,web_reg_find()是注册 函数; 2. VU run time设置中的 “enable image and text check”对 web_find有效, 而对web_reg_find无效。 3. web_find()只能只用在基于HTML模式录制的脚本中,而web_reg_find() 没有此限制; 4. web_

16、find()是在返回的页面中进行内容查找,web_reg_find()是在缓存中 进行查找、web_find()在执行效率上不如web_reg_find(), web_reg_find先 注册的优势是脚本能够一边接收Server的数据缓冲,一边进行查找,提高 了查找的效率 5.web_reg_find的参数与web_find并不完全一样,其中有个参数叫做 SaveCount,它能够记录查找匹配的次数。而web_find的机制是一旦查找 匹配成功,就立即返回,并不继续查找和记录匹配次数。 6. 用web_reg_find 的优先级要远远高于web_find(),所以 web_find()已经属 于向后兼容的功能,不再推荐使用;Web_find和Web_reg_find区别n 关联 将一条语句的结果当作另一条语句的输入来链接语句;把脚本中某些写 死的数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数 据。通常使用web_reg_save_para函数进行关联,也是从页面源文件查找需 要的字符串。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号