小布老师对初学LoadRunner朋友的建议_第1页
小布老师对初学LoadRunner朋友的建议_第2页
小布老师对初学LoadRunner朋友的建议_第3页
小布老师对初学LoadRunner朋友的建议_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、很多初学 Load Runner 的朋友认为掌握了使用 Load Runner 这款性能测试工具,就能够做性 能测试了 .常在网上看到好多人在学习怎么去使用这款优秀的性能测试工具,本来学习怎么去使用 Load Runner 这个工具没有错, 却把 Load Runner 神化了 , ”天真的” 以为它什么都能做, 以为学会了 Load Runner 的使用就能做性能测试了.尽管用了大量的时间学会了如何使用Load Runner 录制脚本,如何进行关联,如何进行参数化,如何设置集合点等等?可到头来,性能测试还是不会做 .为什么? 对于产生的性能报告不知道怎么去分析?不知道如何利用 得到的分析报告

3、分析出系统存在的瓶颈?不知道如何进行性能调优?像这些事光会使用 Load Runner 是做不到的 ?说白了 Load Runner 只是我们做性能测试的一个工具, 它并不是万 能的, 是死的, 具体怎么做还得依靠人去操作与分析.会使用 Load Runner 的人, 并不一定会做性能测试,会做性能测试的人并不一定都会使用Load Runner。Load Runner只是一个性能测试工具而已 .我们应该意识到,测试工具只是性能测试中的一部分,仅是为达到性能测试 目的而采用的一种手段性能测试与系统性能的关系:高性能,高安全的系统,不是测试出来的,而是构架, 设计,编写出来的 .当然在这里我并不否

4、认性能测试的重要性,甚至可以说没有经过性能测 试的系统, 一定不会是优秀的系统, 软件是人开发出来的,而人总是会出错的,所谓智者千 虑,必有一失要想做好性能测试,在软件系统需求,设计,编写代码的这些阶段就应该进行性能测试, 而不仅仅是系统测试这个阶段才去做性能测试, 性能测试应该贯穿于整个软 件开发周期中 .对初学 Load Runner 朋友的建意:常看到网上一些网友发贴子问,怎么对性能测试产 生的结果进行分析?测试系统时怎么去选择合适的协议?对于发这些贴子的人我想请问 你?你能够详细的说下 HTTP 协议吗? TCP 建立连接和释放连接的过程是怎样进行的?什 么是协议?协议是用来做什么的?

5、在 OSI 参考模型中各层的作用?数据库中产生并发的冲 突的原因?不要太依赖于 Load Runner 工具本身的学习, 而去忽略计算机其它基础知识的学 习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识, 数据库知识 .这些是我们去学习怎么去使用Load Runner 前提与基础。1 为什么要掌握一门编程语言其一 ,大家在使用 Load Runner 时常会遇到一些不能录制脚本的情况发生, 或者需要录制一些 复杂的脚本,这时候我们就必须手动的开发脚本.其二 Load Runner 虽然强大 ,易于使用 ,可是它却属于商业软件 ,价格昂贵 ,并且代码不开源 ,我们无

6、法了解 Load Runner 具体的实现细节 , 甚至我们会怀疑 Load Runner 收集的性能数据准确吗?它又是如何实现的等等,而这些我们通过Load Runner的帮助文档无法得知.性能测试工具并不只有 Load Runner,做性能测试还有 许多优秀的性能测试工具可以选择,像 JMeter,Curl-Loader 等等这些非常优秀的开源工具,在全能上虽然并不上 Load Runner,但在某些方面却比 Load Runner还要强大.例如Curl-Loader 这个工具 ,它虽然支持的协议不多 ,但是对于 http 协议它最高能产生 10 万的并发用户 ,这是 Load Runne

7、r 远远所不及的 .并且这些工具代码是公开的,我们能够从这些代码中去分析具体实现的细节 ,并且还可以自已编写代码,增强软件的功能 ,这也是成为性能测试高手的一条途径 .Load Runner 好比我们的 Windows 操作系统 ,易于使用 ,功能强大 ,代码封闭 ,论全能比 Linux 要强大 .我们的开源性能测试工具好比Linux 操作系统代码开源 ,不易于使用 ,但很多方面比我们的 Windows 要强大 . 也许这个时候有人会问对于初学者学哪门语言最好最有前途 C,C+,VB,JA VA,C# ?其实每一种语言能够生存下来 ,自有其生存的道理 ,每一种语言都有自 已优势和缺点 , 并且

8、编程语言具有相通信 ,学好了一门 ,再去学另外的编程语言 ,非常快就能上 手.对于初学者我建意学习C 语言 ,理由有很多 ,例如很多优秀的开源性能测试工具就是用 C语言开发的当然不管选择什么编程语言,或者数据库,或者操作系统,我们不要去想学哪门最好 ,学哪方面最有前途 .我们更应该结合自身的情况,选择最合适的 ,而不是选择最好的 .2. 为什么要掌握计算机原理和操作系统知识论坛上常会看到这些问题? Load Runner 中线程与进程的关系 ?在什么时候用到它们 ,怎 么区别用线程还是进程呢? Load Runner 录制产生了乱码怎么解决?怎么去发现内存泄漏 ? 对那些发贴问这些问题的朋友

9、,我依然想请问你你知道进程和线程的概念吗?知道进程有几 种状态吗?知道进程间的通信是怎么进行的吗?死锁,进程与线程的区别这些概念你明白吗?如果你连内存的概念 ,内存的作用 ,内存泄露的概念都搞不清楚 ,你怎么去发现内存泄露 ? 如果这些你都不知道 ,自然就不知道怎么去做性能测试分析?一些网友录制脚本常常会产生 一些莫名奇妙的错误?还震震有词的说这是 Load Runner 的原因 .其实要说到底要解决这些 问题就必需得有良好的计算机原理和操作系统知识.弄清了进程和线程的区别 ,你自然就明白了使用进程资源使用高 ,但安全性要强于线程 ,线程资源利用率少 ,使用线程能在一个负载生 成器上运行更多的

10、 Vuser但可能存在安全问题.Load Runner录制产生了乱码怎么解决?为什 么会产生乱码 , 你知道什么是字符集吗 ?什么是编码吗?字符串在我们内存中有是如何存放 的? ASCII编码,ANSI编码UNICODE编码它们的区别是什么?这些都是操作系统的基础.掌握好了这些你自然明白 Load Runner 中产生乱码的原因 .当然计算机原理和操作系统的基 础知识还有很多得掌握的知识.像操作系统的体系架构、 操作系统的重要基础概念 ,内存管理、存储 /文件系统、驱动 /硬件的管理 .要做好性能测试计算机原理和操作系统知识必不可少.3. 为什么要有良好的网络基础经常在 51testing 论

11、坛中看到很多人发贴子 .像 Load Runner 中为什么要进行关联? ,Load Runner测试系统时如何选择协议?Load Runner中的如何进行IP欺骗?等等.这些问题随便一搜就能发现大量的贴子,其实说到底这些问题和Load Runner的关系并不是很大,要去解决这些问题并不在于你对 Load Runner 这个工具使用是否熟练 ,而在于我们网络基础知识是否扎 实.例如第一个问题Load Runner中为什么要进行关联?相信很多朋友都知道HTTP协议知道它是超文本传输协议 ,但是对于一些新手往往不能够详细的说出HTTP 具体的内容 ,像 HTTP工作的原理 ,HTTP 协议为什么要

12、使用基于 TCP 的协议而不使用 UDP 的协议 ,HTTP 工作在 OSI 参考模型的哪一层?在 HTTP 协议上数据是怎么传输的等等.而只有当我们明白了这一切,自然而然就会明白为什么要使用关联,到最后你会发现这些问题其实根Load Runner关系并不是很大 .HTTP 协议本质上是无状态的;对页面的每个请求都将被视为新请求,而且默认情况下 ,来自一个请求的信息对下一个请求不可用.在传统的 Web 编程中 ,这通常意味着在每一次往返行程中 ,与该页及该页上的控件相关联的所有信息都会丢失.例如 ,如果用户将信息输入到文本框 ,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失,为了使用浏

13、览网页,页与页是相互联系不去丢失这些信息,于是了就从现了 Cookie, Session,查询字符串等 等保持状态的技术.什么是 Cookie?什么是 Session? Cookie和Session有是怎么工作的?当 我们明白了这些,很多的问题就自然而然的明白了,像这些都是基础的知识和Load Runner关系大吗?不大 .Cookie 是一些少量的数据 ,这些数据存储在客户端文件系统的文本文件中 ,或 者存储在客户端浏览器会话的内存中 .Cookie 包含特定于站点的信息(像用户名密码以及我 们在网站一些个性化的设置等等) ,这些信息是随页输出一起由服务器发送到客户端的.如果浏览器使用的是

14、cookie, 那么所有的数据都保存在浏览器端,比如我们登录以后 ,服务器设置了cookie用户名,那么当你再次请求服务器的时候,浏览器会将用户名一块发送给服务器,这些变 量有一定的特殊标记 .服务器会解释为 cookie 变量 ,所以只要不关闭浏览器 ,那么 cookie 变量 一直是有效的 ,所以能够保证长时间不掉线.如果设置了的有效时间 ,那么它会将 cookie 保存在客户端的硬盘上,下次再访问该网站的时候浏览器先检查有没有cookie,如果有的话,就读取该cookie,然后发送给服务器这些是Cookie的工作过程,常看到论坛上一些朋友发贴子问 使用 Load Runner 时录制到了

15、一些 Cookie 的信息 ,它是用来做什么的 ,看起来很烦可不可以把 它删除掉?明白了这些细节的知识,你自然能明白那个 Cookie 的信息能不能删除掉 .如果 web服务器端使用的是sessi on那E么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的 Sessi on Id,服务器根据当前Sessio nld唯一地标识在服务器上包含会话数据 的浏览器 ,以确定用户是否登录或具有某种权限.不同的用户发送请求 Web 服务器会随机发送一个唯一的 SessionID.而我们使用Load Runner录制时它会把我们 SessionID写死所以导 致出错 .这时候就得使用关

16、联了 ,这样不仅明白了 Load Runner 怎样使用关联 ,而且还明白了为 什么要使用关联?对于 Load Runner测试系统时如何选择协议?这个问题也是网络论讨的比 较多的问题 .要解决这个问题同样得依靠我们的扎实的网络基础,而不是对 Load Runner 使用的熟练程度 ,首先我们得了解 Load Runner 录制时的工作原理了 ,Load Runner 的录制和 QTP 不一样 ,它不关心你的对象识别什么的,不关心你的什么界面之类的,不关心你使用什么语言编写的 ,Load Runner 有一个 Agent 进程,来专门监控客户端和服务器之间的通信,然后用自己的函数进行录制.Lo

17、ad Runner录制的时候关心的是通信包,是客户端和服务器之间的数据包.说到这里 ,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识 ,导致 LoadRunner 截获的数据包不能解析 ,所以录制下来是空的 .所以我们得熟悉什么是协议 ,熟悉 OSI 参考模型,OSI参考模型中各层的作用,TCP协议栈各层的作用,熟悉TCP,UDP,ICMP等等协议. 当我们明白了这些网络的基础知识后我们自然会明白应该如何去选择协议.另外关于 LoadRunner中的如何进行IP欺骗?要解决这个问题同样得有良好的网络基础知识.其实当我们理解了 IP 地址的格式 ,IP 地址的分类 ,子网掩码的概念

18、 ,以及知道怎么去进行非标准子网的划分 方法 ,掌握了这些原理的东西 ,那么具体怎么在 Load Runner 中如何进行 IP 欺骗 ,就非常简单 了. 当然网络基础知识并不只是上面的而已,还包括路由器 ,交换机 ,加密技术等等这些基础的网络知识 ,这些远远比我们去学习怎么去使用Load Runner 更重要 .4. 为什么要掌握数据库知识数据库的重要性我想是不言而喻的,性能测试产生的一个非常大的原因是因为数据大集中的趋势 ,测试从某种意义来讲就是对数据测试,而我们企业的核心数据是放在数据库中的现在大型的 WEB 应用程序 ,都采用多层结构 ,像典型三层 ,用户界面层 ,数据逻辑层 ,数据层 .而 数据层对我们整个 WEB 应用程序的性能是非常大的,对数据库的基础知识不懂 ,我们怎么去进行性能测试分析?怎么知道确定性能产生的瓶颈是否是数据库的原因,如何对系统进行调优?例如数据库模型设计不合理 ,一条坏的 SQL 语句就能影响到整个 WEB 应用程序的性能 , 所以熟悉 SQL 语句,建表,索引

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论