LoadRunner性能测试应用
2009-1
电子工业出版社
姜艳 等编著
391
423
无
随着Internet的普及,新的模式解决方案中以Web为核心的应用也越来越多,很多公司各种应用的架构都以B/S(Web形式)应用为主,有关Web测试方面的内容和技术也成为了目前的热门话题。举个例子,与以前常规使用的C/S结构程序测试技术不同,对于B/S结构,当提交表单时,应该模拟多个用户提交表单的操作过程,并确保表单的校验、提交、保存等功能的实现过程正确。要测试这些程序,需要验证服务器能否正确保存这些数据,而且后台运行的程序能否正确解释和使用这些信息,同时还有数据正确性验证、异常处理等等。一旦固定了操作流程,就可利用自动化测试工具的录制功能,编写可重复使用的脚本代码,在测试和回归测试时运行这些代码,以便减轻测试人员的工作量。也可适时引入自动化测试管理工具、自动化功能测试工具及自动化性能测试工具。对于以Web应用为主的程序来说,性能测试尤为重要,人们无法预测多人并发时系统的情况。性能测试的难点在于仿真的过程,如何模拟成千上万实际用户来对服务器造成负载的过程,如何从千差万别的测试数据中分析并获取有效的测试结果。一个最简单的负载测试除了需要在服务器端利用监测工具查看服务器CPU使用率、内存占用情况,还需要模拟大量数据输入对硬盘的影响。如果考虑到性能优化,则测试过程更为复杂和漫长。这就要求我们熟练掌握性能测试工具,不但有助于提高测试的效率,而且有助于提升测试结果的准确性。性能测试工具比较多,应选择性价比高的,目前大家使用得比较多的是应用广泛、受到好评的LoadRunner。首先,LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具,可以通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。其次,LoadRunner能够对整个企业应用架构进行测试,使得企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。再次,当今企业的网络应用环境都必须支持大量用户,网络体系架构中包含各种应用环境,软件和硬件产品的供应商众多,难以预知的用户负载和愈来愈复杂的应用环境,使企业时时担心会发生用户响应速度过慢、系统崩溃等问题。LoadRunner能实现无需购置额外硬件,而最大限度地利用现有的IT资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量。最后,LoadRunner是一种适用于大多数常规体系架构的自动负载测试工具,它能预测系统行为并优化系统性能,支持广泛的协议,并提供特殊环境解决方案。当然LoadRunner也可以应用于测试C/S结构的程序。以笔者目前的应用经验,使用LoadRunner的测试效果、执行效率都是最好的。本书是一本专门阐述基于LoadRunner展开性能测试的专业书籍。对于刚刚步入性能测试领域的LoadRunner初学者,本书提供了操作指南及实践实例说明,使读者能够系统、全面地了解和掌握这种软件测试利器。对于有一定LoadRunner使用经验、经历项目考验的测试人员,也能得到一定的启迪,它能够帮助深入了解LoadRunner的内部结构和底层函数的调用,提升LoadRunner综合运用能力。
本书是阐述基于LoadRunner展开性能测试的专业书籍。全书分为三部分,分别为“基础篇”、“提高篇”和“实战篇”。“基础篇”着重说明和描述了性能测试的基本概念、模型、测试策略,以及LoadRunner的工作原理、内部结构和简要的测试步骤。“提高篇”展现了LoadRunner从创建脚本到结果分析的全过程,而且笔者根据以往项目测试的经验,对于各个步骤执行过程中有可能遇到的问题及错误,给出了说明和解释。“实战篇”以实际用例讲述LoadRunner从测试计划到测试执行,再到测试分析,最后到调优的全过程。 对于LoadRunner初学者,本书提供了操作指南及实践实例说明,使读者能够系统、全面地了解和掌握这种软件测试利器。对于有一定LoadRunner使用经验的软件测试人员,也能通过本书深入了解LoadRunner的内部结构和底层函数的调用,提升LoadRunner综合运用能力。
于波,高级工程师、硕士、PMP,拥有丰富的软件开发、项目规划和项目管理经验。曾在外企作为高级咨询顾问、系统分析员实施多个大型MIS和ERP项目,主持商业智能类项目的分析、开发和实施。现任某上市软件研究院院长,应用中间件平台的技术负责人之一,组织开发了核心系统,并率领团队通过CMM L2和CMMI L3的正式评估,曾作为项目经理主持工业和信息化部电子基金项目。
第1部分 基础篇 第1章 性能测试基础 1.1 性能测试的意义 1.1.1 性能测试的划分 1.1.2 性能测试的术语 1.2 性能测试简介 1.2.1 性能测试策略 1.2.2 性能测试原则 1.3 LoadRunner简介 1.3.1 LoadRunner工作原理 1.3.2 LoadRunner工作过程 1.3.3 LoadRunner内部结构 1.3.4 LoadRunner测试步骤 1.3.5 LoadRunner注意事项 1.4 本章小结 第2章 LoadRunner入门 2.1 LoadRunner创建测试脚本 2.1.1 录制普通脚本 2.1.2 录制Web Services脚本 2.1.3 回放脚本及调试 2.1.4 完善脚本 2.1.5 脚本回放问题解决 2.2 LoadRunner创建运行场景 2.2.1 创建方案 2.2.2 计划方案 2.2.3 配置方案 2.2.4 方案模式类型 2.3 LoadRunner分析测试结果 2.3.1 配置数据选项 2.3.2 图表分析说明 2.3.3 分析报告类型 2.4 本章小结 第2部分 提高篇 第3章 LoadRunner脚本编写 3.1 插入检查点 3.2 设置参数化方法 3.2.1 参数化定义 3.2.2 创建参数 3.2.3 参数类型属性 3.2.4 导入数据方法 3.2.5 数据文件存储 3.3 语句关联 3.3.1 关联的意义 3.3.2 自动关联方法 3.3.3 手动关联方法 3.3.4 关联中常见问题 3.4 本章小结 第4章 LoadRunner场景设计 4.1 集合点设置策略 4.2 联机监视器方法 4.3 IP欺骗配置方法 4.4 如何添加计数器 4.4.1 添加Oracle计数器 4.4.2 添加SiteScope计数器 4.4.3 添加Windows资源计数器 4.4.4 添加SQL Server计数器 4.4.5 添加J2EE计数器 4.4.6 J2EE监控器的初始配置 4.4.7 添加RealPlayer计数器 4.5 本章小结 第5章 LoadRunner结果分析 5.1 Analysis分析图表说明 5.1.1 虚拟用户图 5.1.2 错误图 5.1.3 事务图 5.1.4 Web资源图 5.1.5 网页细分图 5.1.6 系统资源图 5.2 Analysis分解页面详解 5.3 使用TestDirector管理分析结果 5.4 本章小结 第6章 LoadRunner性能指标 6.1 HTTP服务器状态代码 6.1.1 消息1XX(Informational 1XX) 6.1.2 成功2XX(Successful 2XX) 6.1.3 重定向3XX(Redirection 3XX) 6.1.4 客户端错误(Client Error 4XX) 6.1.5 服务器错误(Server Error 5XX) 6.2 LoadRunner默认计数器 6.3 LoadRunner性能计数器 6.3.1 Processor计数器 6.3.2 Memory计数器 6.3.3 Disk计数器 6.3.4 Network计数器 6.3.5 Thread计数器 6.3.6 SQL Server计数器 6.3.7 IIS计数器 6.3.8 Tuxedo中间件计数器 6.3.9 WebSphere MQ中间件计数器 6.3.10 Sybase计数器 6.4 Oracle 性能计数器 6.4.1 Oracle数据库优化策略 6.4.2 Oracle监控视图添加方法 6.4.3 Oracle性能视图指标详解 6.5 LoadRunner函数介绍 6.5.1 LoadRunner函数 6.5.2 Action类函数 6.5.3 Check类函数 6.5.4 Concurrent Group类函数 6.6 LoadRunner性能计数器监控实例 6.7 本章小结 第7章 LoadRunner高级应用 7.1 规范应用之--测试脚本有效性 7.2 规范应用之--脚本编写规范性 7.3 高级应用之—测试脚本修改的策略 7.3.1 测试脚本加载判断标识方法 7.3.2 测试脚本加载定义参数方法 7.3.3 测试脚本编写判断代码方法 7.3.4 测试过程加载验证脚本方法 7.4 高级应用之—测试场景施压方法 7.5 高级应用之—复杂系统关联取值方法 本章小结 第3部分 实战篇 第8章 信息系统性能测试实例 8.1 业务介绍 8.1.1 用户群体 8.1.2 应用功能 8.1.3 应用模式 8.2 测试概述及策略 8.2.1 估算方法说明 8.2.2 性能需求指标 8.2.3 估算过程参考的行业标准 8.3 估算各种测试性能指标 8.3.1 用户访问量估算 8.3.2 系统可扩缩性和延续性估算 8.3.3 容灾用户访问量估算 8.3.4 系统处理能力计算 8.3.5 业务处理能力估算 8.3.6 网络流量分析估算 8.3.7 业务处理和系统响应时间 8.4 测试方法 8.4.1 测试目的 8.4.2 测试策略 8.4.3 测试环境 8.4.4 测试工具 8.4.5 测试方法 8.5 测试用例与方案 8.5.1 测试用例 8.5.2 系统测试方案一 8.5.3 系统测试方案二 8.5.4 系统测试方案三 8.5.5 系统测试方案四 8.6 测试结果分析 8.6.1 Weblogic测试结果摘要 8.6.2 测试结果分析 8.7 测试用例实例 8.7.1 文件查询测试记录(并发数60) 8.7.2 文件查询测试记录(并发数100) 8.7.3 文件查询测试记录(150并发) 8.7.4 文件查询测试记录(并发数170) 8.7.5 文件查询最大负载时资源情况 8.8 本章小结 第9章 应用软件性能测试报告 9.1 测试项目简介 9.2 测试方案 9.2.1 性能测试计划 9.2.2 测试网络拓扑图 9.2.3 测试范围 9.2.4 测试策略 9.2.5 测试文档 9.3 测试资源的分配 9.3.1 人力资源 9.3.2 测试环境 9.9.3 测试工具 9.4 测试的实施与控制 9.4.1 用户场景设计 9.4.2 测试用例设计 9.4.3 制定测试场景 9.5 其他注意事项 9.5.1 软件测试完成标准 9.5.2 软件测试中止标准 9.5.3 测试风险 9.6 测试用例执行 9.6.1 测试结果记录 9.6.2 测试结果分析 9.6.3 测试结果综述 本章小结 附录A 函数列表 附录B Load Runner调用DLL 附录C 工作流构建系统性能负载测试计划模板 附录D 名词解释
第2章 LoadRunner入门 LoadRunner是一个强有力的压力测试工具。它的脚本可以录制生成,自动关联;测试场景可以面向指标,多方监控;测试结果可以用图表显示,并且可以拆分组合。作为专业的性能测试工具,通过模拟成千上万的用户对被测系统进行操作和请求,能够在实验室环境中重现生产环境中可能出现的业务压力,再通过测试过程中获取的信息和数据来确认和查找软件的性能问题,分析性能瓶颈。2.1 LoadRunner创建测试脚本开发LoadRunner脚本需要经过图2-1所示的几个步骤。在录制脚本时要遵循以下录制原则:1.提高脚本执行效率所录制的脚本内容要精练,而且是用户的真实操作,不可增加多余或重复性的操作,这样的脚本执行起来更能准确地模拟用户的真实行为,减少了执行时间,执行结果更准确。2.录制具有代表性的功能在一个软件中有很多不同的功能,但要录制所有的功能几乎是不可能的,所以要选择常用的、使用频率较高的业务功能来进行测试。3.选择具有影响的事务测试人员要对被测功能具有一定的认识和了解,选择一些对于整个测试过程中有影响的事务来测试,否则测试结果是无意义的。当启动Visual User Generator后会出现选择脚本类型的对话框,在此对话框中,请选择我们常用的脚本类型,也就是Web(HTTP/HTML)协议,这是最为常见的。以下脚本介绍以此类型为例。2.1.1 录制普通脚本启动Visual User Generator,在弹出的对话框中选择需要新建的协议脚本,通过VuGen可以采用单协议或多协议模式,进行脚本的录制。选择单协议还是多协议,根据测试程序的实际需要而定。1.选择协议采用单协议模式时,VuGen将只录制指定的协议;采用多协议模式时,VuGen将录制多个协议中的操作。下列协议支持多协议脚本:COM、FTP、IMAP、Oracle NCA、POP3、RealPlayer、Window Sockets(原始)、SMTP和Web。“双协议Web/Web Services”的引擎使用一种不同的机制,应视为单协议,不能与其他多协议类型结合使用。各种Vuser类型之间的另一个区别是多操作支持功能。大多数协议都可支持多个操作部分,如Oracle NCA、Web、RTE、General(C Vusers)、WAP、i-Mode 和VoiceXML等协议。对于大多数Vuser类型,在每次录制时都会新建一个Vuser脚本,而不能在现有脚本中进行录制。但是,在录制Java、CORBA-Java、RMI-Java、Web、WAP、i-mode、Voice XML、Oracle NCA或RTE Vuser脚本时,可以在现有脚本中进行录制。创建脚本时,单击“New”(新建)打开“New Virtual User”(新建Vuser)对话框,该对话框可提供选择录制脚本协议的快捷方式。(1)单协议脚本:创建单协议Vuser脚本,这是“Startup”(启动)对话框打开时的默认选项。从Vuser生成器的“类别”中进行选择,并选择录制脚本的协议,如图2-2所示。(2)多协议脚本:创建多协议Vuser脚本,VuGen将显示所有可用的协议。选择一个协议后,单击右箭头,将其移入“Selected Protocols”(选定的协议)部分中,如图2-3所示。
无
书是软件测试群里的朋友推荐的,看了内容以后真的超赞!很实用的一本书,值得拥有。
由于工作了,时间不是很多,大多数东西都是网购以前在淘宝,有支付宝的卡,但是当别人推荐我用当当的时候说实话没考虑但是后来知道他的书不错所以就用了下比较喜欢送货然后付款书比较不错,也没有别人说的书面有灰的现象,十分满意
这本书不错,值得读!
内容不错,比较适用。
适合性能测试的进阶学习。不适合初学者
虽然性能测试方面的书都比较雷同,内容大同小异,但是这本书总算有那么一点点不相同的内容,还算可以吧。
还不错的一本书 当工具书用了
内容比较全,值得一看
没对大用,基本都是概念,而且挺基础的,接触过loadrunner的人,就基本不用买了!
初阶的话建议买同系列实战那本,这本建议对LR有一定基础了再看,有点理论化了
对于不懂英文的初学者来说,可以买!
这本书感觉不怎么样,有点失望。。。
写的很白痴。。。没什么技术含量
做性能测试已经两年了,看过的书.国外的比较多点.国内的只看过看过陈绍英的两本,段念的一本,崔启良的一本.就本书内容来说,只能算入门级别.如果是初学者,可以花点钱看看.当然如果不想花钱,网上的使用指南大把,一点也不逊色.但是对于行内人来说,就太小儿科了本书的不足我总结了一下,大概有以下几方面1内容偏易,是典型的入门书.长篇累牍的写的全是一些最基本的操作,如果我要看基本操作,完全可以在网上找大把使用手册2抄袭太严重的,我手头有好几本国内其他人写的书(作者我就不说了),翻开看看,雷同太多3缺少原创,就国内现在的环境来说,抄袭是不可避免,毕竟这个行业刚起步,但抄袭归抄袭,最少要有点原创的东西才能吸引人,但我从头翻到尾,说实话,没看到4案例太少,最后几页才说了个项目,还是那种简单的弱智的OA系统,这就让我太失望了,如果作者只做过这种根本就不能算是性能的OA也可以出书的话,我想我也可以5主次不突出,就性能测试而言,最重要的其实是结果分析,这也是所有买这类图书的人最大原因但是这本书在这方面做得不够,结果分析不突出,而过多的精力放在了没有意义的操作上,当然也可能和作者的水平有直接的关系6高级应用不高级,拿到书后我专门看了下高级应用部分,原来所谓的高级应用就是一些lr自带的代码的应用,这些我完全可以在很多免费的文献中获得如果这也算高级应用的话,那我只能说作者把中国的测试人员想的太弱智了至于所谓的作者是研究生,PMP.郑人杰推荐等,我只能说作者很会宣传,噱头十足做得来说花三四十元买这本书,是件很要勇气的事情.呵呵..唉,经济危机奢侈了一回,当废纸卖太可惜了.还是留给以后朋友看吧当然本书也不是一无是处,最起码,包装不错,印刷精美,很有质感.如果有志收藏而且钱也不少的朋友还是可以看看的,呵呵
书中的内容很不详细,概念性的内容买这本书感觉不值我还是找找其他的相关书籍吧
入门时看不错,真正要深入学习,建议不要买
一直在卓越网买书,质量挺好的。
是中初级的应用原理和案例上手很好,希望尽快出版进一步深入的高级应用