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

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

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

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

  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的使用就能做性能测试 。目前,国内性能测试领域正处于起步阶段,要做好性能测试还需学习更多的知识,技术性和非技术。性能测试这条路充满着挑战,也充满着机遇。但正如鲁迅先生所说这世上本来没有路,走的人多了,也就成了路。最后祝愿喜爱性能测试的爱好这条道路上能够不鸣则已,一鸣惊人,不飞则已,一飞冲天。

22/2<12
《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号