给初学LoadRunner的朋友的一些建议

发表于:2009-12-15 11:20

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:wind    来源:51Testing软件测试博客

  摘要:随着Internet的普及与迅速发展,企业业务量的迅速加大,数据大集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业对外提供的服务质量。从而对IT系统的性能进行测试和调优引起企业的重视,进而性能测试工程师成为IT市场的”香悖悖”,并且性能测试有着极高的技术挑战。于是吸引了大量的测试爱好者来学这方面的技术,而一谈到性能测试很多人便会想到鼎鼎大名的LoadRunner这款优秀的性能测试工具,然而到这里问题就产生了?

  关建字:LoadRunner 性能测试  网络基础编程语言数据库操作系统

  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中产生乱码的原因。当然计算机原理和操作系统的基础知识还有很多得掌握的知识。像操作系统的体系架构、操作系统的重要基础概念,内存管理、存储/文件系统、驱动/硬件的管理。要做好性能测试计算机原理和操作系统知识必不可少。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 拼搏屁屁
    2012-8-08 15:12:47

    都有理 学习学习

  • 流氓黑兵
    2012-5-10 18:10:57

    感谢lz,真是迷途上的一盏明灯。基础的确很重要。

  • 谢谢695847
    2012-4-15 15:09:28

    感谢LZ写的这篇文章,让我觉得在今后走性能测试这条路不再那么迷茫了。我发现自己之前的想法和有些网友一样,一味追求怎么学好LR,却忽视对基础知识的积累。

  • chuyanjunkitty
    2012-4-02 18:17:12

    09年的帖子,今天被我看到。。。还是很有缘的~最近在使用LR做性能,真的像LZ说的那样。不知道怎么分析~看来我的基础知识,方方面面的东西都要再加强学习了

  • 勇君
    2012-3-29 16:18:59

    很不错 +1

  • pztanglin
    2010-12-03 14:40:43

    LZ 的语气是有点愤世嫉俗的感觉 在现在的环境中作技术的是比较 很多不求甚解 有时候掌握了点技术都有目空一切的气势 :) 不过 我觉得楼主 说的 还是有道理的 在学习的道路上面 我们还有很长的路要走 大家共同努力 选择了技术这路子 就别总是学了2-3年就觉得 自己很牛 要做管理 , 踏踏实实 学习工作 享受 生活 享受学习  最后感谢楼主的这帖子 写的很好 学习了 哈哈

  • zhangqiang17
    2009-12-24 09:55:46

    文章写得很好,很受启发,但是语气有些强硬,态度偏激

  • majun915
    2009-12-22 00:51:49

    你的意思是说团队不重要了,测试部 项目组就你一人了?

  • bairt
    2009-12-18 11:26:58

    你这长篇大论,我看不是在给初学者建议,更多的会打击别人学习的信心,了解计算机相关的知识没有错,知道的越多当然是越好,但是前提是兴趣作为基础的,那些基础知识我们在大学里并不是没有学过,为什么到用的时候就是用不上,不会用?原因就是没有学通,没有联系起来,我想如果大家真的对这个工具感兴趣,就先慢慢熟悉它,用起来,然后遇到什么问题再去学习相关领域的知识,这样就能深刻理解,达到活学活用,最终掌握

  • Alex_qing
    2009-12-17 13:09:39

    太透彻了。LR不是神话。

  • shaofei19820625
    2009-12-16 16:54:10

    性能测试对测试人员的技术能力要求很高,楼主的总结里看出,楼主在性能测试方面有一定的经验,我在这里还想问一下,性能测试所需掌握的面如此之广泛,我也知道肯定是掌握的越深入越广对性能测试分析越好,但是人的精力是有限的,楼主你这样的水平的,以上你说的这些领域,你掌握的一个度是怎么样的??

  • dftx511619
    2009-12-16 10:18:57

    相当好!

  • ahtest
    2009-12-16 09:59:10

    学习了

  • xc520
    2009-12-15 17:54:59

    不错~

  • zhidongpop
    2009-12-15 15:59:36

    好好好!!受教了!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号