LR测试

2018/04/07 12:29
阅读数 27

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这四个系统方面的瓶颈,还是代码写的有问题。这个数据分析的过程是非常有技术含量的一件事情,需要去了解服务器内核,需要去了解代码是如何实现的。数据分析完成后,再输出一份有技术含量的报告,就完美了!
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部