内 容 提 要
精通软件性能测试与LoadRunner最佳实战
本书在介绍软件性能测试概念的基础上,结合对实际测试案例的剖析,重点讲解了性能测试实战技术、LoadRunner工具的使用技巧和实践工作中的问题解答。
全书分为15章,内容从测试项目实战需求出发,讲述了软件测试的分类以及测试的流程等,还重点讲述了性能测试技术和LoadRunner 11.0工具应用的实战知识。为了有效地解决工作中遇到的问题,将实践中经常遇到的问题进行总结汇总成几十个解决方案。详细的项目案例、完整的性能测试方案、计划、用例设计、性能总结及相关交付文档为您做好实际项目测试提供了很好的帮助,基于LoadRunner和第三方工具对象的开发为您进行性能测试锦上添花,相信通过阅读本书一定会对您进行性能测试理论学习和实践大有裨益。
本书图文并茂,通俗易懂,适合性能测试设计人员、性能测试开发人员、性能测试分析人员、项目经理和测试组长参考学习。
前 言
精通软件性能测试与LoadRunner最佳实战
随着计算机行业的蓬勃发展和用户要求不断的提高,现行的应用软件已经变得功能越来越强大,系统也越来越复杂,软件用户关注的内容不再仅仅是功能实现的正确性,系统的性能表现也同样是用户关注的重点,而性能测试是测试系统性能的主要手段,所以它是软件测试的重中之重。另外,性能测试通常和应用程序、操作系统、数据库服务器、中间件服务器、网络设备等有关,定位问题也很难,如何能够快速、有效地定位并解决性能问题,无疑是性能测试人员面临的一个重要任务。为了帮助测试人员能够快速掌握软件测试基础、性能测试技术及性能测试工具的实战应用,笔者精心编写了本书。
本书从测试项目实战需求出发,讲述了软件测试的分类以及测试的流程等,还重点讲述了性能测试技术和LoadRunner 11.0工具应用的实战知识。为了有效地解决工作中遇到的问题,将实践中经常遇到的问题进行总结汇总成几十个解决方案。详细的项目案例、完整的性能测试方案、计划、用例设计、性能总结及相关交付文档为您做好实际项目测试提供了很好的帮助,基于LoadRunner和第三方工具对象的开发为您进行性能测试锦上添花。
关于本书
作者前两本书《软件性能测试与LoadRunner实战》和《精通软件性能测试与LoadRunner实战》面市后,受到广大软件测试和开发人员的关注与好评,然而,在前两本书中讲述的性能测试工具以LoadRunner 8.0版本为主,目前LoadRunner最新版本为LoadRunner 11.0,考虑其较LoadRunner 8.0操作方法和功能有较大变化,故本书以LoadRunner 11.0版本作为讲解内容。同时,有很多热心的读者也针对该书提出了一些好的建议,故本书是在前两本书的基础上,针对读者提出的所有问题,进行了修改、完善。但值得强调的是,本书不是上本书内容的简单增减,是在丰富了内容并充分考虑不同层次读者需求的基础上,添加了更多的性能测试实战知识,如LoadRunner 11.0工具使用技巧、性能瓶颈分析方法、Nmon、Spotlight性能监控工具、CITRIX性能测试工具EdgeSight、性能指标分析、前端性能测试、前端性能测试工具开发,FLEX、CITRIX、WebServices等多种协议的脚本开发,基于LoadRunner的场景控制器开发等,从而使得本书无论是在结构和内容上都更加系统化、完整化,实用性非常强,希望通过我的努力,能开阔您在性能测试方面的视野,同时能提升实际工作能力。
内容介绍
本书的目的是为从事软件测试、性能测试及LoadRunner工具应用的读者答疑解惑,并结合案例讲解了性能测试中的实战技术。
在第1章中,介绍了软件测试的现状以及发展前景、软件测试相关概念、软件生命周期、软件测试定义与分类、软件开发与软件测试的关系,以及软件测试流程和自动化测试的意义等内容。
在第2章中,介绍了性能测试的基本过程,以及“性能测试需求分析”、“性能测试计划”、“性能测试用例”、“测试脚本编写”、“测试场景设计”、“测试场景运行”、“场景运行监控”、“运行结果分析”、“系统性能调优”、“性能测试总结”的内容与注意事项。
在第3章中,介绍了典型的性能测试场景、性能测试的概念以及分类,详细介绍了工具及其样例程序的安装过程,重点介绍了工具的运行机制及组成部分,同时结合生动的生活场景深入浅出地解释了工具中集合点、事务、检查点、思考时间等重要概念。
在第4章中,以一个Web样例程序作为实例,将工具的VuGen 、Controller、Analysis 三者有机地结合起来,把集合点、事务、检查点、参数化等技术的应用集中在此实例得以体现,讲述了一个小的性能测试需求提出、需求分析、脚本编写、完善、数据准备、场景设计、监控、执行、分析的完整过程。
在第5章中,介绍了LoadRunner脚本语言和C语言开发、LoadRunner重要的关联问题、关联技术应用、动态链接库函数调用、特殊函数的应用注意事项、自定义函数应用和IP欺骗技术等。这部分是从事测试脚本开发的基础,建议读者认真阅读。
在第6章中,介绍了协议的类型、协议理解误区、协议选择的方法,同时以C/S、B/S两种构架的应用作为实例,详细讲解了协议的选择和脚本的录制;介绍了参数化的方法及其应用技巧、数据分配方式和更新方法。并对脚本录制、负载(场景设计、执行)、结果分析、断点设置、单步跟踪、日志输出等调试技术进行了详细讲解。还对工具产生的相关指标的由来进行了系统的分析,并解释相关图表的用途和拐点分析方法等。
在第7章中,结合笔者工作经验、学员以及网上论坛经常提出的问题,总结了关于工具设置、工具使用、结果分析等问题的解决方案,旨在起到举一反三的作用,指导读者实际应用于工作当中。
在第8章中,结合主流的Windows操作系统和Linux操作系统介绍了如何监控进程、CPU、内存、磁盘I/O等性能,并结合系统提供的工具以及第三方的工具告诉读者,如何去应用它们监控测试中的相关项目,重点讲解了Nmon和Spotlight工具及其相关指标的含义等。
在第9章中,详细地介绍了外包性能测试项目的实施完整过程与其项目性能测试的实施过程,以及“性能测试计划”、“性能测试用例”、“测试脚本编写”、“测试场景设计”、“测试场景运行”、“场景运行监控”、“运行结果分析”、“系统性能调优”、“性能测试总结”等文档内容的编写和实施过程中各环节的注意事项。
在第10章和第11章中,以讲解完整的GIS项目和系统实现框架性能对比两个测试案例为线索,全面介绍了LoadRunner 在性能测试中的应用过程。具体包括模型建立、性能测试用例设计、工具的引入、脚本代码的编写、场景设计、性能结果分析等重要环节,培养读者独立进行项目测试的能力。
在第12章中,介绍了前端性能测试的一些知识和前端性能测试分析工具HttpWatch、DynaTrace Ajax、FireBug、YSlow的使用方法和案例分析。
在第13章中,介绍了Java、FTP、SMTP、Sockets、RTE、AJAX TruClient、Flex、Real、Web Services等协议的实际应用和注意事项,同时还介绍了EdgeSlight等其他性能测试工具的应用。
在第14章中,介绍了如何利用高级语言进行性能测试辅助工具的开发,介绍了Windows计划和LoadRunner控制台命令结合的性能测试方法完成性能测试任务的思想,并借助Delphi实现,同时还介绍了如何在高级语言中应用第三方工具提供的插件,并结合HttpWatch插件,展示了如何完成一个前端性能测试小工具。
在第15章中,介绍了如何结合企业的特点量体裁衣定制性能测试策略及在性能测试时经常会用到的一些计算公式。
附录部分(见光盘)提供了一些测试模板文件,具体包括:测试计划、测试总结、测试日志、功能测试用例及性能测试用例等模板、样例文档。
本书阅读建议
本书图文并茂、通俗易懂,同时在配书光盘中提供了样例程序、脚本代码和相应教学视频。希望读者在阅读本书的同时,能够边看边实践,深入理解脚本,这样可以提高学习效率,尽快将实战知识应用于项目的性能测试中。
本书行文约定
本书遵循如下行文约定。
符号和术语
含 义
示 例
表示按此层次结构,主要应用于菜单项
如:菜单项【Edit】>【Find】
“”
表示使用者键入双引号中的文字或引用的系统界面中的术语/表达
如:在“Update value on”列表中选择一个数据更新方式
【】
代表屏幕对象名(菜单名或按钮)
如:菜单项【Edit】>【Find】 单击【OK】按钮
【重点提示】
知识点总结内容
(1)事务必须是成对出现,即一个事务有事务开始,必然要求也有事务结束 (2)……
谁适合阅读本书
从事性能测试工作的初级、中级和高级测试人员;
希望了解性能测试工具LoadRunner的初级、中级、高级测试人员、项目主管和项目经理;
希望解决LoadRunner应用过程中遇到问题的性能测试设计、执行、分析等相关人员;
测试组长、测试经理、质量保证工程师、软件过程改进人员。
本书作者
于涌,毕业于北京大学计算机专业,具有13年软件开发和软件测试方面的工作经验,先后担任程序员、高级程序员、测试分析师、高级测试经理、测试总监等职务,拥有多年的软件开发、软件测试项目实践和教学经验,尤其擅长自动化测试、工具应用、单元测试等方面的工作,曾为多个软件公司提供软件测试知识、软件性能测试、性能测试工具LoadRunner、功能测试工具QTP、WinRunner、Jmeter等内容的培训工作,曾在《程序员》杂志上发表过多篇文章。
网上答疑
如果读者在阅读过程中发现本书有什么错误,欢迎与作者联系,以便作者及时纠正。本书的勘误、更新信息、答疑信息都可以从作者的博客——测试者家园(http://tester2test.blog.51cto.com)上获得。读者有疑问,也可以访问作者的博客直接留言,作者也会在博客中公布本书中涉及的一些演示工具相关下载信息。如果您在阅读本书过程中,发现错误或者疑问您也可以和本书编辑联系,联系邮箱为zhangtao@ptpress.com.cn。
致谢
本书内容是建立在前人研究成果的基础上。因此,在本书完成之际,我对那些为本书提供帮助的网络作者、图书作者、读者和朋友表示衷心的感谢。作者非常高兴地通过邮件、博客、QQ等多种渠道知道,目前已经有很多高校使用《精通软件性能测试与LoadRunner实战》作为性能测试课程的教材,这令我非常骄傲和自豪,我衷心希望通过老师和我的共同努力,增强学生的综合能力,使得理论学习和实际工作应用齐头并进,让毕业生尽快融入社会工作并成为企业的中坚力量。
在本书编写过程中,很多测试同行为本书的编写提供了很多宝贵建议;我的学员们和网友提供了很多写作素材和资料,特别是我的好友高楼(7点测试网站创建人)为本书的创作提供了宝贵的建议,并撰写了系统性能测试案例章节。同时参加编写的还有于跃、滕加庄、于家、高亚南、张书铭、高桂兰、君、唐超、武志新、岳玉清、于来河等,在此一并表示感谢。
编者
参 考 文 献
精通软件性能测试与LoadRunner最佳实战
[1] 于涌,精通软件性能测试与LoadRunner实战,人民邮电出版社,2010.4。
[2] http://bbs.51testing.com/。
[4] http://tester2test.blog.51cto.com/。
[5] http://www.cnblogs.com/jackei/。
[6] 段念,软件性能测试过程详解与案例剖析(第二版),清华大学出版社,2012.6。
[7] 陈霁,性能测试进阶指南——LoadRunner11实战,电子工业出版社,2012.6。
[8] HP Virtual User Generator User Guide。
[9] HP LoadRunner Controller User Guide。
[10] HP LoadRunner Analysis User Guide。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
目录
前言
第1章 软件测试概述
1.1 软件测试基础
1.2 软件相关概念解析
1.3 软件测试的定义
1.4 软件测试的分类
1.5 软件开发与软件测试的关系
1.6 软件测试流程
1.7 测试自动化的意义
第2章 性能测试过程概述
2.1 性能测试的基本过程
2.2 性能测试需求分析
2.3 性能测试计划
2.4 性能测试用例
2.5 测试脚本编写
2.6 测试场景设计
2.7 测试场景运行
2.8 场景运行监控
2.9 运行结果分析
2.10 系统性能调优
2.11 性能测试总结
第3章 性能测试与LoadRunner 相关概念
第4章 应用LoadRunner进行 性能测试示例
第5章 脚本语言编写基础
第6章 深度解析LoadRunner 11.0 功能应用
第7章 LoadRunner常见问题解答
第8章 性能监控方法和性能监控 工具应用
第9章 性能测试项目实施过程及 文档写作
第10章 系统性能测试案例—— GIS项目
第11章 性能测试案例—— 系统实现框架对比
第12章 Web前端性能测试 工具应用
第13章 不同协议脚本应用实例讲解
第14章 利用高级语言开发性能 测试辅助工具
第15章 性能测试应用策略及性能 指标计算
参考文献