LoadRunner种预测系统行性能负载测试工具通模拟千万用户实施并发负载及实性能监测式确认查找问题LoadRunner能够整企业架构进行测试通使用 LoadRunner企业能限度缩短测试间优化性能加速应用系统发布周期 LoadRunner种适用于各种体系架构自负载测试工具能预测系统行并优化系统性能.
总种自化测试工具.
详见:http://baike.baidu.com/view/812367.htm

1、web_add_cookie("login=admin; DOMAIN=127.0.0.1");

 
为Vuser添加一个cookie信息。
2、web_link("在测试结果中显示的名称","TEXT=需要的超链接名",LAST);
e.g.
web_link("click link",
         "TEXT=link",
         LAST);
3、lr_think_time(1800);
设置思考时间,单位秒
4、lr_convert_string_encoding();
将环球影视转换成utf-8格式
e.g.
lr_convert_string_encoding("环球影视",
 LR_ENC_SYSTEM_LOCALE,
 LR_ENC_UTF8,
 "param");
5、web_url("测试结果中显示的名称","URL=需要访问的超链接地址",LAST);
e.g.
web_url("测试系统地址","URL=http://192.168.**:8080/test/test.jsp",LAST);
6、直接发送给对应页面相关数据
e.g.
web_submit_data("login.action", 
"Action=http://192.168.**:8080/test/login.action", 
"Method=POST", 
"RecContentType=text/html", 
"Referer=http://192.168.**:8080/test/login.jsp", 
"Snapshot=t5.inf", 
"Mode=HTTP", 
"EncodeAtSign=YES", 
ITEMDATA, 
"Name=userEmail", "Value={user2}", ENDITEM, 
"Name=password", "Value={pwd}", ENDITEM, 
LAST);
7、打印参数值到日志
lr_log_message("==========================user=",lr_eval_string("{user2}"));

QA Load:Compuware公司的QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。QALoad是QACenter性能版的一部分,它通过可重复的、真实的测试能够彻底地度量应用的可扩展性和性能。QACenter汇集完整的跨企业的自动测试产品,专为提高软件质量而设计。QACenter可以在整个开发生命周期、跨越多种平台、自动执行测试任务。

SilkPerformer:一种在工业领域最高级的企业级负载测试工具。它可以模仿成千上万的用户在多协议和多计算的环境下工作。不管企业电子商务应用的规模大小及其复杂性,通过SilkPerformer,均可以在部署前预测它的性能。可视的用户化界面、实时的性能监控和强大的管理报告可以帮助我们迅速的解决问题,例如加快产品投入市场的时间,通过最小的测试周期保证系统的可靠性,优化性能和确保应用的可扩充性。

LoadRunner:一种较高规模适应性的,自动负载测试工具,它能预测系统行为,优化性能。LoadRunner强调的是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的确认和查找问题。此外,LoadRunner 能支持最宽范的协议和技术,为您的特殊环境,量身定做地提供解决方案。

  WebRunner:是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能,用户创建的是基于javascript的测试脚本,称为议程agenda,用它来模拟客户的行为,通过执行该脚本来衡量web应用程序在真实环境下的性能。

  IBM Rational Performance Tester(简称 RPT)也是一款性能测试工具,适用于基于 Web 的应用程序的性能和可靠性测试。Rational Performance Tester 将易用性与深入分析功能相结合,从而简化了测试创建、负载生成和数据收集,以帮助确保应用程序具有支持数以千计并发用户并稳定运行的性能。

还有一些开源的软件

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

  AutoBench 是一款基于httperf的Perl脚本。它会在一次测试中调用多次httperf来对web服务器进行测试,每次会按照给定的参数增加并发连接数,将 httperf的测试结果保存为CSV格式的文件,该文件可以被Excel直接读取,方便生成测试报告。借助于autobench自带的 bench2graph工具可以生成漂亮的测试结果对比图。

  ApacheBench 工具程式(ab)是 Apache 网站伺服器软体的一个附带的工具软体,专门用来执行网站伺服器的运行效能,特别是针对 Apache 网站伺服器 的效能分析。这支程式原本是用来检测 Apache 网站伺服器(Web Server) 所能够提供的效能,特别是可以看出 Apache 网站伺服器能提供每秒能送出多少网页,当然的,也可以用在任何其他的网站伺服器 Apache ab的全称是ApacheBench,是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。

  curl-loader(也被称为“omes-NIK”和“davilka”)是一个开源的C语言编写的工具,模拟应用负载和成千上万的几十万人的HTTP / HTTPS和FTP/ FTPS的客户端应用程序的行为,每个有其自己的源IP地址。相反,其他curl-loader使用真正的C编写的客户端协议栈,即libcurl和TLS/ openssl的SSL的HTTP和FTP协议栈,支持登录和验证口味和模拟用户行为的工具。

  Iago 是一个网站负载测试工具,Iago 针对一个给定的网站进行访问录制并合成流量数据。它不同于其他的负载生成工具,它试图保持恒定的请求率。例如如果你想按每分钟100K来请求您的服务,Iago 会试图保持这个速度进行测试。

  Pylot 是一款开源的用以测试 Web Service性能和扩展性的工具,它运行HTTP负载测试,这对于制定容量计划、确定基准点、分析系统瓶颈以及系统调优都非常有用。在使用过程 中,Pylot会发起并发请求(HTTP Requests),检验服务器响应,以及带有相关指标的报表。它通过GUI或者Shell/Console来执行和监视对被测试网站的测试过程。

总结起来应该算一个问题、要做好性能测试需要有哪些知识储备?
做5年的测试生涯中、也就用过几次Apache的AB和LR。

1、需要对硬件有一定的认识;
你需要对CPU、MEM、I/O、Disk等等都有一定认识、不管你是C/S还是B/S架构的软件、最终都需要运行在这些硬件上面、很多时候吧普通机械硬盘换成SSD之后你才知道瓶颈原来在I/O上

2、需要对操作系统有比较深入的了解;
这点应该不会有什么疑问、你所有的应用都是跑在操作系统上的、不管是linux还是windows、你都需要了解很多才行。如果你对LR足够熟悉你会发现LR的数据来源都是从操作系统获取的、所以你可以不用LR、自己从操作系统获取到这些数据、比如windows的"perfmon"能获取到所有的LR能提供的性能数据、磁盘IO、网络性能、CPU、内存、网络、甚至是字节大小你都可以得到、linux下可以用uptime、vmstat、top、iostat、free、ulimit等等工具。

3、数据库;
如果你的程序涉及到数据库、那么不要忘记多学习数据库知识、我这几年做的项目都不用数据库、导致数据库方面的暂知识都还给老师了。

4、对自己所测试程序足够了解;
你必须要非常清楚的了解你自己要测试的程序业务流程、你操作程序的每一个动作都要知道是哪一个exe或者是哪一个模块负责的。

5、对性能测试有必要的认识;
性能测试真正的意义在于通过性能测试得到的数据、图表来分析确定性能瓶颈的点在哪里

 

性能测试是个非常广泛的概念,如果从被测系统的角度看,可以分为客户端性能测试、服务器端性能测试;如果只做服务器的性能测试,可以细分为负载测试、压力测试、并发测试、稳定性测试、容量测试等。
你说的LR,应该是说服务器性能测试,我这边就从服务器性能测试的角度分析一下,服务器性能测试到底要做哪些事情?
主要步骤是分三步:
一、设计测试方案
测试方案就是在你理解服务器架构的基础上,根据服务器的性能基线,设计出的一个详细测试方案,内容包含你要测的服务器需要测试哪些场景,是单个场景还是多个场景混在一起的综合场景,测试完成之后,最终需要达到什么样的一个性能指标,另外还需要设计出一个机器人的行为逻辑,这个行为逻辑尽可能去真实的模拟用户的行为逻辑,一般可以根据封测时的运营数据。
二、机器人开发
根据上一步设计出的测试方案,进行机器人代码的开发。
市面上可选择的机器人比较多,如果你用LR,LR是支持用C语言、java语言开发插件,在LR的代码中动态加载进来即可进行充分的压测,LR的缺点就是只能在windows机器上运行,如果你的服务器部署在IDC机房,PC机跟服务器之间的上行带宽有限的情况下,压力很难上的去。
这里推荐下腾讯内部的测试工具,WeTest压测(WeTest服务器性能|压力|负载测试 高并发,实时性能报表,专家级性能优化建议【腾讯WeTest】),机器人都是部署在IDC机房的,会根据你的服务器选择距离最近的一个节点去产生压力,你只需要写下机器人代码,填写服务器IP即可开始压测。
三、数据分析
在服务器性能测试过程中,可能会反复测试,测到达到服务器的性能指标为止。在此期间,你需要定位到服务器的性能瓶颈在哪里,CPU、内存、网络、IO这四个系统方面的瓶颈,还是代码写的有问题。这个数据分析的过程是非常有技术含量的一件事情,需要去了解服务器内核,需要去了解代码是如何实现的。数据分析完成后,再输出一份有技术含量的报告,就完美了!

LR测试的更多相关文章

  1. LR 测试http协议xml格式数据接口

    Action() { lr_start_transaction("T1"); web_custom_request("xxxxHTTPRequest", &qu ...

  2. 记一次使用LR测试UDP和TCP的过程

    背景 最近项目要做性能测试,要出要一份性能报告,让我出一个有关Tcp和Udp的功能模块的测试,流程大概是这样,先走TCP协议协商一下会话,协商成功后走Udp收发数据. 有点简单啊,自己写个功能模块测一 ...

  3. LR测试登陆后进行的操作时 绕过登录

    oadrunner web_add_cookie web_add_cookie 这个的函数原来真的能过逃过登录,哈哈,这个苦苦纠结我的问题呀. 函数原型:int web_add_cookie( con ...

  4. LR 测试数据库总结

    今天工作中需要对mysql进行性能测试 我尝试用LR来做:但是mysql需要现在电脑上安装一个OBDC的mysql驱动器,然后在电脑的管理工具中的数据源中加入这个mysql驱动,测试连接数据库成功,O ...

  5. LR测试心得

    ====================测试方案—优化前—优化后 每一项至少两份报告==================================== url录制方式录制出来的脚本mode是HT ...

  6. LR测试https协议设置方法

    测试ssl隧道的设置方法: 前一段时间使用loadrunner测试ssl vpn时,使用ssl隧道一直配置不成功,经过查资料,终于成功,记录一下,方便大家测试.走ssl隧道与普通http,只需多设两个 ...

  7. LR测试工具性能指标详解

    这篇文章将对LoadRunner测试工具的性能指标从以下三点进行详解. 第一点.Web资源分析是从服务器入手对Web服务器的性能分析. 1.Hits per Second "每秒点击次数&q ...

  8. spark 大数据 LR测试

    #!/bin/bash size="120Y*10W"date1=`date +%F_%H-%M-%S`config="spark-submit \ --jars /da ...

  9. LR测试文件上传

    开启fiddler  录制,回放,把上传文件放入脚本根目录中.

随机推荐

  1. STL - vector容器

    1Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器. vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲). vector尾部添加 ...

  2. CUDA Cuts: Fast Graph Cuts on the GPU

    原文出处: http://lincccc.blogspot.tw/2011/03/cuda-cuts-fast-graph-cuts-on-gpu_03.html 现在需要代理才能访问,所以就转载了. ...

  3. 【63】关系数据库常用的sql语句总结

    创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条 ...

  4. 【面试笔试算法】Problem 1 : DP滑雪问题--网易互联网算法实习生2017笔试题

    Description Michael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激.可是 为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  5. 认识Zygote

    概述 在java中不同的虚拟机实例会为不同的应用分配不同内存,为了使Android系统尽快启动,使用了Zygote来预加载核心类库和一些加载时间长的类(超过1250ms),让Dalvik虚拟机共享代码 ...

  6. Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现

    Android高级控件(二)--SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现 写这个的原因呢,也是因为项目中用到了gif动画,虽然网上有很多的架包可以实现,不过我们还 ...

  7. EBS R12安装升级(FRESH)(三)

    5 EBS R12.1.1安装后配置 5.1 新建patch文件夹 1 2 3 su - root mkdir /stage/patch chmod 777 /stage/patch 打补丁说明:随便 ...

  8. nasm预处理器(4)

    nasm定义了一套标准宏,当开始处理源文件时,这些宏都已经被定义了,如果希望程序在执行前没有预定义的宏存在,可以使用%clear清空预处理器的一切宏. __NASM_MAJOR__ 主版本号 __NA ...

  9. javascript语言扩展:可迭代对象(1)

    在ECMAScript中我们知道可以通过for in语句进行对象属性的遍历,当然这些属性不包括继承而来的属性: var ary = [1,2,3,"aa",4]; for(i in ...

  10. javascript内置对象速查(一)

    字符串对象 var str = new String("Hello World"); 可以调用其中的一些方法: str.length str.big 日期对象 var dt = n ...