`
regedit_123
  • 浏览: 323467 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论
阅读更多

LoadRuner与性能测试的关系:LoadRunner初学者的误点:把LoadRunner神化了。很多初学LoadRunner的朋友认为掌握了使用LoadRunner这款性能测试工具,就能够做性能测试了。常在网上看到好多人在学习怎么去使用这款优秀的性能测试工具,本来学习怎么去使用LoadRunner这个工具没有错,却把LoadRunner神化了,”天真的”以为它什么都能做,以为学会了LoadRunner的使用就能做性能测试了。尽管用了大量的时间学会了如何使用LoadRunner录制脚本,如何进行关联,如何进行参数化,如何设置集合点等等?可到头来,性能测试还是不会做。为什么?对于产生的性能报告不知道怎么去分析?不知道如何利用得到的分析报告分析出系统存在的瓶颈?不知道如何进行性能调优?像这些事光会使用LoadRunner是做不到的?说白了LoadRunner只是我们做性能测试的一个工具,它并不是万能的,是死的,具体怎么做还得依靠人去操作与分析。会使用LoadRunner的人,并不一定会做性能测试,会做性能测试的人并不一定都会使用 LoadRunner。LoadRunner只是一个性能测试工具而已。我们应该意识到,测试工具只是性能测试中的一部分,仅是为达到性能测试目的而采用的一种手段

  性能测试与系统性能的关系:高性能,高安全的系统,不是测试出来的,而是构架,设计,编写出来的。当然在这里我并不否认性能测试的重要性,甚至可以说没有经过性能测试的系统,一定不会是优秀的系统,软件是人开发出来的,而人总是会出错的,所谓智者千虑,必有一失……要想做好性能测试,在软件系统需求,设计,编写代码的这些阶段就应该进行性能测试,而不仅仅是系统测试这个阶段才去做性能测试,性能测试应该贯穿于整个软件开发周期中。

  对初学LoadRunner朋友的建意:常看到网上一些网友发贴子问,怎么对性能测试产生的结果进行分析?测试系统时怎么去选择合适的协议?对于发这些贴子的人我想请问你?你能够详细的说下HTTP协议吗?TCP建立连接和释放连接的过程是怎样进行的?什么是协议?协议是用来做什么的?在OSI参考模型中各层的作用?数据库中产生并发的冲突的原因?不要太依赖于LoadRunner工具本身的学习,而去忽略计算机其它基础知识的学习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识,数据库知识。这些是我们去学习怎么去使用LoadRunner前提与基础。。

  1、为什么要掌握一门编程语言

  其一,大家在使用LoadRunner时常会遇到一些不能录制脚本的情况发生,或者需要录制一些复杂的脚本,这时候我们就必须手动的开发脚本。其二 LoadRunner虽然强大,易于使用,可是它却属于商业软件,价格昂贵,并且代码不开源,我们无法了解LoadRunner具体的实现细节,甚至我们会怀疑LoadRunner收集的性能数据准确吗?它有是如何实现的等等,而这些我们通过LoadRunner的帮助文档无法得知。性能测试工具并不只有 LoadRunner,做性能测试还有许多优秀的性能测试工具可以选择,像JMeter,Curl- Loader等等这些非常优秀的开源工具,在全能上虽然并不上LoadRunner,但在某些方面却比LoadRunner还要强大。例如Curl- Loader这个工具,它虽然支持的协议不多,但是对于http协议它最高能产生10万的并发用户,这是LoadRunner远远所不及的。并且这些工具代码是公开的,我们能够从这些代码中去分析具体实现的细节,并且还可以自已编写代码,增强软件的功能,这也是成为性能测试高手的一条途径。LoadRunner好比我们的Windows操作系统,易于使用,功能强大,代码封闭,论全能比Linux要强大。我们的开源性能测试工具好比Linux操作系统代码开源,不易于使用,但很多方面比我们的Windows要强大。也许这个时候有人会问对于初学者学哪门语言最好最有前途C,C++,VB,JAVA,C#?其实每一种语言能够生存下来,自有其生存的道理,每一种语言都有自已优势和缺点,并且编程语言具有相通信,学好了一门,再去学另外的编程语言,非常快就能上手。对于初学者我建意学习C语言,理由有很多,例如很多优秀的开源性能测试工具就是用C语言开发的…。当然不管选择什么编程语言,或者数据库,或者操作系统,我们不要去想学哪门最好,学哪方面最有前途。我们更应该结合自身的情况,选择最合适的,而不是选择最好的。

  2、为什么要掌握计算机原理和操作系统知识

  论坛上常会看到这些问题?LoadRunner中线程与进程的关系?在什么时候用到它们,怎么区别用线程还是进程呢?LoadRunner录制产生了乱码怎么解决?怎么去发现内存泄漏?对那些发贴问这些问题的朋友,我依然想请问你你知道进程和线程的概念吗?知道进程有几种状态吗?知道进程间的通信是怎么进行的吗?死锁,进程与线程的区别这些概念你明白吗?如果你连内存的概念,内存的作用,内存泄露的概念都搞不清楚,你怎么去发现内存泄露?如果这些你都不知道,自然就不知道怎么去做性能测试分析?一些网友录制脚本常常会产生一些莫名奇妙的错误?还震震有词的说这是LoadRunner的原因。其实要说到底要解决这些问题就必需得有良好的计算机原理和操作系统知识。弄清了进程和线程的区别,你自然就明白了使用进程资源使用高,但安全性要强于线程,线程资源利用率少,使用线程能在一个负载生成器上运行更多的Vuser,但可能存在安全问题。LoadRunner录制产生了乱码怎么解决?为什么会产生乱码,你知道什么是字符集吗?什么是编码吗?字符串在我们内存中有是如何存放的?ASCII编码,ANSI编码,UNICODE编码它们的区别是什么?这些都是操作系统的基础基础。掌握好了这些你自然明白LoadRunner中产生乱码的原因。当然计算机原理和操作系统的基础知识还有很多得掌握的知识。像操作系统的体系架构、操作系统的重要基础概念,内存管理、存储/文件系统、驱动/硬件的管理。要做好性能测试计算机原理和操作系统知识必不可少。

  3、为什么要有良好的网络基础

  经常在51testing论坛中看到很多人发贴子。像LoadRuner中为什么要进行关联?LoadRunner测试系统时如何选择协议?LoadRunner中的如何进行IP欺骗?等等。这些问题随便一搜就能发现大量的贴子,其实说到底这些问题和LoadRunner的关系并不是很大,要去解决这些问题并不在于你对LoadRunner这个工具使用是否熟练,而在于我们网络基础知识是否扎实。例如第一个问题LoadRunner中为什么要进行关联?相信很多朋友都知道HTTP协议知道它是超文本传输协议,但是对于一些新手往往不能够详细的说出HTTP具体的内容,像HTTP工作的原理,HTTP协议为什么要使用基于TCP的协议而不使用UDP的协议,HTTP工作在OSI参考模型的哪一层?在HTTP协议上数据是怎么传输的等等。而只有当我们明白了这一切,自然而然就会明白为什么要使用关联,到最后你会发现这些问题其实根LoadRunner关系并不是很大。HTTP协议本质上是无状态的;对页面的每个请求都将被视为新请求,而且默认情况下,来自一个请求的信息对下一个请求不可用。在传统的Web编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失,为了使用浏览网页,页与页是相互联系不去丢失这些信息,于是了就从现了Cookie,Session,查询字符串等等保持状态的技术。什么是Cookie?什么是Session?Cookie 和Session 有是怎么工作的?当我们明白了这些,很多的问题就自然而然的明白了,像这些都是基础的知识和LoadRunner关系大吗?不大。

  Cookie 是一些少量的数据,这些数据存储在客户端文件系统的文本文件中,或者存储在客户端浏览器会话的内存中。Cookie 包含特定于站点的信息(像用户名密码以及我们在网站一些个性化的设置等等),这些信息是随页输出一起由服务器发送到客户端的。如果浏览器使用的是 cookie,那么所有的数据都保存在浏览器端,比如我们登录以后,服务器设置了cookie用户名,那么当你再次请求服务器的时候,浏览器会将用户名一块发送给服务器,这些变量有一定的特殊标记。服务器会解释为cookie变量,所以只要不关闭浏览器,那么cookie变量一直是有效的,所以能够保证长时间不掉线。。如果设置了的有效时间,那么它会将 cookie保存在客户端的硬盘上,下次再访问该网站的时候浏览器先检查有没有 cookie,如果有的话,就读取该 cookie,然后发送给服务器。这些是Cookie的工作过程,常看到论坛上一些朋友发贴子问使用LoadRunner时录制到了一些Cookie的信息,它是用来做什么的,看起来很烦可不可以把它删除掉?明白了这些细节的知识,你自然能明白那个Cookie的信息能不能删除掉。如果web服务器端使用的是session,那么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的SessionId,服务器根据当前 SessionId唯一地标识在服务器上包含会话数据的浏览器,以确定用户是否登录或具有某种权限。不同的用户发送请求Web服务器会随机发送一个唯一的 SessionID。而我们使用LoadRunner录制时它会把我们SessionID写死,所以导致出错。这时候就得使用关联了,这样不仅明白了 LoadRunner怎样使用关联,而且还明白了为什么要使用关联?对于LoadRunner测试系统时如何选择协议?这个问题也是网络论讨的比较多的问题。要解决这个问题同样得依靠我们的扎实的网络基础,而不是对LoadRunner使用的熟练程度,首先我们得了解LoadRunner录制时的工作原理了,LoadRunner的录制和QTP不一样,它不关心你的对象识别什么的,不关心你的什么界面之类的,不关心你使用什么语言编写的,LoadRunner有一个Agent进程,来专门监控客户端和服务器之间的通信,然后用自己的函数进行录制。LoadRunner录制的时候关心的是通信包,是客户端和服务器之间的数据包。说到这里,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识,导致LoadRunner截获的数据包不能解析,所以录制下来是空的。所以我们得熟悉什么是协议, 熟悉OSI参考模型,OSI参考模型中各层的作用,TCP协议栈各层的作用,熟悉TCP,UDP,ICMP等等协议。当我们明白了这些网络的基础知识后我们自然会明白应该如何去选择协议。另外关于LoadRunner中的如何进行IP欺骗?要解决这个问题同样得有良好的网络基础知识。其实当我们理解了IP 地址的格式,IP地址的分类,子网掩码的概念,以及知道怎么去进行非标准子网的划分方法 ,掌握了这些原理的东西,那么具体怎么在LoadRunner中如何进行IP欺骗,就非常简单了。 当然网络基础知识并不只是上面的而已,还包括路由器,交换机,加密技术等等这些基础的网络知识,这些远远比我们去学习怎么去使用LoadRunner更重要。

  4、为什么要掌握数据库知识

  数据库的重要性我想是不言而喻的,性能测试产生的一个非常大的原因是因为数据大集中的趋势,测试从某种意义来讲就是对数据测试,而我们企业的核心数据是放在数据库中的。现在大型的WEB应用程序,都采用多层结构,像典型三层,用户界面层,数据逻辑层,数据层。而数据层,而数据层对我们整个WEB应用程序的性能是非常大的,对数据库的基础知识不懂,我们怎么去进行性能测试分析?怎么知道确定性能产生的瓶颈是否是数据库的原因,如何对系统进行调优?例如数据库模型设计不合理,一条坏的SQL语句就能影响到整个WEB应用程序的性能,所以熟悉SQL语句,建表,索引,存储过程,事务,触发器,并发等这些基础知识是必需得掌握的。

  路漫漫其修远兮,吾将上下而求索:性能测试难点不在于Loadrunner工具本身,难在对整个系统的全局把握,而对全局的把握你就必需得有丰富的知识面。 并不是学好了LoadRunner的使用就能做性能测试 。目前,国内性能测试领域正处于起步阶段,要做好性能测试还需学习更多的知识,技术性和非技术。性能测试这条路充满着挑战,也充满着机遇。但正如鲁迅先生所说这世上本来没有路,走的人多了,也就成了路。最后祝愿喜爱性能测试的爱好这条道路上能够不鸣则已,一鸣惊人,不飞则已,一飞冲天。

分享到:
评论

相关推荐

    LoadRunner性能测试实战

    LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战

    软件测试实验报告(使用LoadRunner进行性能测试实验)

    软件测试实验报告(使用LoadRunner进行性能测试实验) 一、性能测试简介 性能测试是软件测试中的一种重要类型,以评估软件系统在高并发和大负载下的性能和可扩展性。LoadRunner是一款成熟的性能测试工具,广泛应用...

    loadrunner性能测试介绍

    LoadRunner性能测试步骤可以分为七个阶段:测试需求分析、制定测试方案、设计测试场景、执行测试场景、分析测试结果、编写性能测试报告和系统性能调优。此外,还包括测试用例的设计与开发,以及测试执行与监控。 在...

    LoadRunner 性能测试

    第1 章 与性能测试的亲密触碰 第2 章 LoadRunner VuGen 实战 第3 章 LoadRunner C ontroller实战 第4 章 LoadRunner Analysis实战 第5 章 开源性能测试工具 Apache JMeter 快速入门 第6 章 开源性能测试工具 ...

    LoadRunner性能测试完全讲义

    《LoadRunner性能测试完全讲义》是一份详尽的IT技术文档,主要涵盖了LoadRunner工具在性能测试领域的全面知识。LoadRunner是HP(现已被Micro Focus收购)开发的一款功能强大的企业级性能测试工具,它允许用户模拟...

    loadrunner性能测试视频2

    【LoadRunner性能测试详解】 LoadRunner是一款由Micro Focus...通过“loadrunner性能测试视频2”这一系列教程,学习者将全面掌握LoadRunner的使用技巧,提升性能测试能力,为企业的系统稳定性与性能优化提供坚实保障。

    LoadRunner11 性能测试实用教程大全

    性能测试进阶指南——LoadRunner11实战_陈霁.pdf 性能测试从零开始——LoadRunner入门.pdf LoadRunner11-中文教程.pdf Loadrunner《Web项目测试实战》性能测试结果分析样章.pdf

    LoadRunner性能测试报告.doc

    【LoadRunner性能测试报告】 本报告旨在详细阐述对XXX系统进行的LoadRunner性能测试过程、结果分析以及优化建议。LoadRunner是一款业界公认的性能测试工具,它能够模拟大量并发用户,以此来评估系统的处理能力和...

    loadrunner性能测试模板和性能测试计划模板

    本资料包包含了与LoadRunner性能测试相关的五个Word文档模板,分别是“性能测试模板”、“压力测试报告”、“性能测试计划及方案模板”、“性能测试内容”以及未明确列出的其他文档,这些模板对于进行有效的性能测试...

    loadrunner8.0 性能测试录像

    录制了loadrunner8.0的测试性能流程的步骤

    loadrunner性能测试培训ppt

    【LoadRunner性能测试培训PPT】的概述 LoadRunner是一款由HP公司开发的业界领先的性能测试工具,专门用于评估和优化软件系统在高负载条件下的性能。它支持多种协议,适用于各种应用程序,如Web、数据库、ERP等。...

    利用LoadRunner进行性能测试_ppt

    利用LoadRunner进行性能测试_ppt

    loadrunner性能测试实例

    ### LoadRunner性能测试知识点 #### 一、LoadRunner概览 **LoadRunner**是一种工业标准级别的负载测试工具,主要用于预测和优化系统的行为与性能。它通过模拟大量的并发用户请求及实时性能监控,来验证和发现潜在...

    loadrunner性能测试.docx

    LoadRunner 性能测试基础知识点 LoadRunner 是一款性能测试工具,用于模拟大量用户同时访问系统,以评估系统的性能和可靠性。在性能测试中,LoadRunner扮演着至关重要的角色,本文将从 LoadRunner 的概述、性能测试...

    LoadRunner性能测试软件操作指导书

    本文旨在为检测人员提供详细的LoadRunner性能测试软件使用指导,帮助他们在实际工作中更高效地完成性能测试任务。 #### 二、LoadRunner概述 ##### 2.1 LoadRunner简介 LoadRunner是一款强大的负载测试工具,它能够...

    性能测试从零开始LoadRunner入门与提升pdf

    ### 性能测试从零开始LoadRunner入门与提升 #### 一、LoadRunner简介 LoadRunner是一款由Micro Focus公司开发的性能测试工具,主要用于评估软件系统在压力下的表现。它可以帮助开发者和测试工程师识别和解决应用...

    LoadRunner性能测试报告.docx

    LoadRunner作为一款强大的性能测试工具,能够模拟大规模并发用户,进行复杂业务场景的测试,而JMeter则是一款开源的性能测试工具,适合中小型企业进行性能测试。选择合适的工具和方法,可以有效完成性能测试任务并...

    loadrunner性能测试学习总结

    LoadRunner 性能测试学习总结 LoadRunner 是一种功能强大的性能测试工具,旨在帮助开发者和测试者对应用程序进行性能测试和优化。 LoadRunner 的主要功能包括虚拟用户生成、负载测试、事务测试、结果分析等。 为...

Global site tag (gtag.js) - Google Analytics