下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要:随着Internet的普及与迅速发展, 企业业务量的迅速加大,数据大集中成为一种趋势,IT系统承载的负荷越来越重,系统性能的好坏严重的影响了企业对外提供的服务质量.从而对IT系统的性能进行测试和调优引起企业的重视,进而性能测试工程师成为IT市场的”香悖悖”,并且性能测试有着极高的技术挑战.于是吸引了大量的测试爱好者来学这方面的技术,而一谈到性能测试很多人便会想到鼎鼎大名的Load Runner这款优秀的性能测试工具,然而到这里问题就产生了?Load Runner与性能测试的关系:Load Runner初学者的误点:把Load Runner神化了 . 很多初学Load Runner的朋友认
2、为掌握了使用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建立连接和释放连接的过程是怎样进行的?什么是协议?协议是用来做什么的?在 OSI参考模型中各层的作用?数据库中产生并发的冲 突的原因?不要太依赖于Load Runner工具本
5、身的学习,而去忽略计算机其它基础知识的学习,我们更应该去掌握一门编程语言,良好的网络基础知识,计算机原理与操作系统知识, 数据库知识.这些是我们去学习怎么去使用Load Runner前提与基础。1为什么要掌握一门编程语言其一,大家在使用Load Runner时常会遇到一些不能录制脚本的情况发生,或者需要录制一些复杂的脚本,这时候我们就必须手动的开发脚本.其二Load Runner虽然强大,易于使用,可是它却属于商业软件,价格昂贵,并且代码不开源,我们无法了解 Load Runner具体的实现细节, 甚至我们会怀疑 Load Runner收集的性能数据准确吗?它又是如何实现的等等,而这些我们通过
6、Load Runner的帮助文档无法得知.性能测试工具并不只有 Load Runner,做,性能测试还有 许多优秀的性能测试工具可以选择,像JMeter,Curl-Loader等等这些非常优秀的开源工具,在 全能上虽然并不上 Load Runner,但在某些方面却比Load Runner还要强大例如Curl-Loader这个工具,它虽然支持的协议不多,但是对于http协议它最高能产生10万的并发用户,这是Load Runner远远所不及的.并且这些工具代码是公开的,我们能够从这些代码中去分析具体 实现的细节,并且还可以自已编写代码,增强软件的功能,这也是成为性能测试高手的一条途径.Load R
7、unner好比我们的 Windows操作系统,易于使用,功能强大,代码封闭,论全能比Linux 要强大.我们的开源性能测试工具好比Linux操作系统代码开源,不易于使用,但很多方面比我们的Windows要强大.也许这个时候有人会问对于初学者学哪门语言最好最有前途 C,C+,VB,JA VA,C# ?其实每一种语言能够生存下来,自有其生存的道理,每一种语言都有自已优势和缺点,并且编程语言具有相通信,学好了一门,再去学另外的编程语言,非常快就能上 手.对于初学者我建意学习C语言,理由有很多,例如很多优秀的开源性能测试工具就是用C语言开发的当然不管选择什么编程语言,或者数据库,或者操作系统,我们不要
8、去想学哪门最好,学哪方面最有前途.我们更应该结合自身的情况,选择最合适的,而不是选择最好的.2. 为什么要掌握计算机原理和操作系统知识论坛上常会看到这些问题?Load Runner中线程与进程的关系?在什么时候用到它们,怎么区别用线程还是进程呢?Load Runner录制产生了乱码怎么解决?怎么去发现内存泄漏?对那些发贴问这些问题的朋友,我依然想请问你你知道进程和线程的概念吗?知道进程有几 种状态吗?知道进程间的通信是怎么进行的吗?死锁,进程与线程的区别这些概念你明白吗?如果你连内存的概念,内存的作用,内存泄露的概念都搞不清楚,你怎么去发现内存泄露 ?如果这些你都不知道,自然就不知道怎么去做性
9、能测试分析? 一些网友录制脚本常常会产生 一些莫名奇妙的错误?还震震有词的说这是Load Runner的原因.其实要说到底要解决这些问题就必需得有良好的计算机原理和操作系统知识.弄清了进程和线程的区别,你自然就明白了使用进程资源使用高,但安全性要强于线程,线程资源利用率少,使用线程能在一个负载生 成器上运行更多的 Vuser,但可能存在安全问题.Load Runner录制产生了乱码怎么解决?为什 么会产生乱码,你知道什么是字符集吗 ?什么是编码吗?字符串在我们内存中有是如何存放 的? ASCII编码,ANSI编码,UNICODE编码它们的区别是什么?这些都是操作系统的基础.掌握好了这些你自然明
10、白Load Runner中产生乱码的原因.当然计算机原理和操作系统的基础知识还有很多得掌握的知识.像操作系统的体系架构、操作系统的重要基础概念,内存管理、 存储/文件系统、驱动/硬件的管理.要做好性能测试计算机原理和操作系统知识必不可少.3. 为什么要有良好的网络基础经常在51testing论坛中看到很多人发贴子.像Load Runner中为什么要进行关联?,LoadRunner测试系统时如何选择协议?Load Runner中的如何进行IP欺骗?等等.这些问题随便一搜就能发现大量的贴子,其实说到底这些问题和Load Runner的关系并不是很大,要去解决这些问题并不在于你对Load Runne
11、r这个工具使用是否熟练,而在于我们网络基础知识是否扎实.例如第一个问题Load Runner中为什么要进行关联?相信很多朋友都知道HTTP协议知道它是超文本传输协议,但是对于一些新手往往不能够详细的说出HTTP具体的内容,像HTTP工作的原理,HTTP协议为什么要使用基于TCP的协议而不使用 UDP的协议,HTTP工作在OSI参考模型的哪一层?在 HTTP协议上数据是怎么传输的等等而只有当我们明白了这一切,自然而然就会明白为什么要使用关联,到最后你会发现这些问题其实根Load Runner关系并不是很大.HTTP协议本质上是无状态的;对页面的每个请求都将被视为新请求,而且默认情况下,来自一个请
12、求的信息对下一个请求不可用.在传统的 Web编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失.例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失,为了使用浏览网页,页与页是相互联系不去丢失这些信息,于是了就从现了 Cookie,Session,查询字符串等 等保持状态的技术.什么是 Cookie?什么是 Session? Cookie和Session有是怎么工作的?当 我们明白了这些,很多的问题就自然而然的明白了,像这些都是基础的知识和Load Runner关系大吗?不大.Cookie是一些少量的数据,这些数据存储在客户
13、端文件系统的文本文件中,或者存储在客户端浏览器会话的内存中.Cookie包含特定于站点的信息(像用户名密码以及我们在网站一些个性化的设置等等),这些信息是随页输出一起由服务器发送到客户端的.如果浏览器使用的是cookie,那么所有的数据都保存在浏览器端,比如我们登录以后,服务器设置了 cookie用户名,那么当你再次请求服务器的时候,浏览器会将用户名一块发送给服务器,这些变 量有一定的特殊标记.服务器会解释为 cookie变量,所以只要不关闭浏览器,那么cookie变量 一直是有效的,所以能够保证长时间不掉线.如果设置了的有效时间,那么它会将 cookie保存在客户端的硬盘上,下次再访问该网站
14、的时候浏览器先检查有没有cookie,如果有的话,就读取该cookie,然后发送给服务器.这些是Cookie的工作过程,常看到论坛上一些朋友发贴子问 使用Load Runner时录制到了一些 Cookie的信息,它是用来做什么的,看起来很烦可不可以把 它删除掉?明白了这些细节的知识,你自然能明白那个 Cookie的信息能不能删除掉 如果web服务器端使用的是session么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的 Sessionld,服务器根据当前Sessionld唯一地标识在服务器上包含会话数据 的浏览器,以确定用户是否登录或具有某种权限.不同的用户发送请求We
15、b服务器会随机发送一个唯一的 SessionlD.而我们使用Load Runner录制时它会把我们SessionlD写死,所以导致出错.这时候就得使用关联了 ,这样不仅明白了 Load Runner怎样使用关联,而且还明白了为 什么要使用关联?对于 Load Runner测试系统时如何选择协议?这个问题也是网络论讨的比 较多的问题.要解决这个问题同样得依靠我们的扎实的网络基础,而不是对Load Runner使用的熟练程度,首先我们得了解 Load Runner录制时的工作原理了 ,Load Runner的录制和QTP 不一样,它不关心你的对象识别什么的,不关心你的什么界面之类的,不关心你使用什
16、么语言 编写的,Load Runner有一个Agent进程,来专门监控客户端和服务器之间的通信,然后用自己的函数进行录制.Load Runner录制的时候关心的是通信包,是客户端和服务器之间的数据包.说到这里,大家就比较清楚了,为什么有的时候不能录制呢?因为,协议不认识,导致LoadRunner截获的数据包不能解析,所以录制下来是空的.所以我们得熟悉什么是协议,熟悉OSI 参考模型,OSI参考模型中各层的作用,TCP协议栈各层的作用,熟悉TCP,UDP,ICMP等等协议. 当我们明白了这些网络的基础知识后我们自然会明白应该如何去选择协议.另外关于 LoadRunner中的如何进行IP欺骗?要解
17、决这个问题同样得有良好的网络基础知识.其实当我们理解了 IP地址的格式,IP地址的分类,子网掩码的概念,以及知道怎么去进行非标准子网的划分 方法,掌握了这些原理的东西,那么具体怎么在 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年食品加工项目可行性报告
- 柴油发动机配件加工项目环境影响报告表
- 医院无障碍设计与设施建设方案
- 建筑施工现场环境保护与绿化方案
- 个人资金投资协议书
- 休闲食品合同协议书
- 临时工合作合同范本
- 多肽原料药生产项目进度管理方案
- 12种物联网协议书
- 城市应急避难场所布局优化研究
- GB/T 24632.2-2024产品几何技术规范(GPS)圆度第2部分:规范操作集
- 临床药师进修汇报课件
- 国家病案质控死亡病例自查表
- 政务服务标准化管理手册
- 三个和尚幼儿故事课件
- 护理品管圈问题解决型之提高慢性肾功能不全患者饮食指导知晓率
- 石家庄市第四十八中学(原二南)2022-2023学年七年级下学期期中数学试题【带答案】
- 麻醉过敏性休克病例分析
- 2024年沈阳航空航天大学马克思主义基本原理概论(期末考试题+答案)3
- 配电线路巡视培训课件
- 单位大门规划方案
评论
0/150
提交评论