![](http://club.book.csdn.net/pic2/213728.jpg)
- 书名:LoadRunner性能测试实战
- 作者:陈绍英 刘建华 金成姬 著
- 来源:电子工业出版社
- 出版时间:2007年09月
- ISBN:9787121049460
- 定价:45元
内容简介
很多使用LoadRunner的测试人员经常面临两个难题:脚本开发与性能测试分析。
本书就是基于帮助测试人员解决这两个问题而编写,致力于使读者学精LoadRunnner这一强大的性能测试工具。
全书共分为4个部分:入门篇、基础篇、探索篇、实战篇。
第一部分入门篇的内容包括第1章和第2章,着重于讲解性能测试与LoadRunner的基础理论知识。第二部分基础篇的内容包括第3章至第5章,是LoadRunner的基本使用部分,着重讲解Virtual User Generator、Controller、Analysis的使用方法。
第三部分探索篇的内容包括第4章到第9章,着重讲解LoadRunner的高级应用。
第四部分实战篇即第10章,结合案例来讲解在具体项目中如何应用LoadRunner完成性能测试工作。通过真实的性能测试实例,向读者展示了如何在项目中完成性能测试的整体规划与设计、测试的准备与实施、测试结果分析等内容。
本书主要面向项目经理、测试组长、性能测试设计人员、性能测试开发人员、性能测试分析人员以及需要进行性能测试工作的开发人员。本书亦可作为大学教材来使用。前言
在作者的另一作品《Web性能测试实战》中,曾经提到过“软件亚健康”这个概念。现在,亚健康不但威胁着IT人的生活质量,也威胁很多应用软件的性能。为此,在《Web性能测试实战》一书中,作者提出了“全面性能测试模型 ”,期望能够成为解决软件亚健康问题的一剂“良药”。
“全面性能测试模型”包含了测试策略制定、测试用例设计、模型使用方法三部分内容,基本覆盖了性能测试规划和设计的相关内容,为开展性能测试提供了一种可行的方案。借助本模型,软件开发和测试人员可以更好的组织与规划性能测试,避免在项目后期遭遇性能问题的被动局面。
不过要想做好性能测试,仅有性能测试模型还是远远不够的,因为还缺少像LoadRunner这样令性能测试工作如虎添翼的性能测试利器。本书将和读者一起深入LoadRunner的性能测试世界,探讨在企业的性能测试项目中如何应用它来发现应用系统存在的性能问题。
LoadRunner在性能测试中的地位
对于很多使用LoadRunner的测试人员而言,性能测试工作中最大的障碍就是测试脚本开发与测试结果分析,这导致很多测试人员忽略了测试规划与设计的重要性,反而认为能开发测试脚本、运行测试场景、分析测试结果就算做好性能测试了。
要想做好性能测试,首先应该把重心放在测试的规划与设计上,尤其要注重测试用例的设计,仅仅能写测试程序与运行测试脚本是远远不够的。诸如LoadRunner等测试工具仅仅是性能测试的执行与分析工具,它们应该服从于测试设计人员的意志。测试工具的使用属于测试人员的基本功,应该在开展性能测试工作前修炼好。只有好的测试用例或者测试场景才能发现系统的问题,这才是性能测试的本质所在。
性能测试分析同样依赖于前面工作的输出结果,不是随便一个测试结果就能发现问题的。所谓“万丈高楼平地起”,性能分析的准确性同样取决于此前所做的设计与实施等“地基”是否可靠。可以说,性能测试分析仅仅是百米赛跑的最后二十米而已。当然,这并不是说性能测试分析不重要,因为“最后冲刺的二十米没有跑好”,前面工作做的再好也是徒劳的。因此不难理解,性能测试分析工作开展的根基就是前面测试场景执行的结果。要想保证性能测试分析的结论是正确的,则测试结果数据首先就应该是正确的,而这也意味着测试场景以及测试执行过程都应该是正确的。
实际上,性能测试从始至终都应该是相当严谨的一项工程,各个阶段的工作环环相扣,性能测试工程师应该认真对待各个阶段的工作。如果一味地追求找出系统瓶颈,无疑是舍本逐末的做法。
因此,在性能测试工作中首先要做好性能测试的规划与设计工作,然后再借助LoadRunner的强大功能来发现系统存在的问题。
如何通过本书学习LoadRunner
首先应该弄清楚学习LoadRunner的目的,那就是在项目的性能测试中应用LoadRunner来发现系统的性能问题。因此,仅仅会用LoadRunner还远远不够,这也是为什么很多培训班出来的学员虽然把工具用的非常熟练,但是仍然不能做好性能测试工作。
学好LoadRunner的标准是真正能够把LoadRunner应用到实际项目中去,这就要求学习LoadRunner的同时一定要学好性能测试相关知识。本书的第1章即为基本的性能测试知识,读者需要认真体会这些内容,建议在学习后面的内容时,经常翻阅本章的内容。如果要学习更多的性能测试规划与设计的知识以及性能测试案例,建议读者参考本书的姊妹篇《Web性能测试实战》。
本书的第2章是LoadRunner的简介部分,读者需要通过本章了解LoadRunner的工作原理、测试流程、部署与安装等内容,尤其要掌握图2-1所示的LoadRunner工作原理,这是用LoadRunner开展工作的基础。
本书的第3章、第4章、第5章分别讲解了LoadRunner的Virtual User Generator、Controller、Analysis。这三大组件分别负责脚本的录制与开发、场景的创建与执行、测试结果分析工作。用LoadRunner来开展性能测试,必须要掌握这三大组件的使用。如果连基本的工具都没有用好,很难正确地执行设计好的测试用例,更不用说根据结果来分析系统的瓶颈了。在第3~5章中,详细探讨了LoadRunner各个组件的使用细节,但是这还远远不够,尤其对于那些只会录制或者简单修改录制结果的测试人员!学习这三章的内容时,最好的方法是结合LoadRunner的联机帮助文档,这样可以学习到更多的内容。
学习完第3~5章后,可能还有一些读者会问:“我还是不会自己写测试脚本,很多协议仍然不能进行测试怎么办?”碰到这种情况就需要补习自己的开发知识了。
开发知识应该分两个方面来学习:一是面向对象基础知识的学习,二是开发语言的学习。很多人可能会认为面向对象基础知识比较通用,相对容易学习;而开发语言种类繁多,不知道如何入手。根据作者的经验,这两个方面应该结合起来进行:面向对象是现在主流开发语言的灵魂,一起学习可以互相促进。具体做法就是选择C++、Java、C#等一种主流语言来学习,只要这门语言是自己所在公司的主流语言即可。当学会面向对象基础和一门语言后,再去学习其它的语言将会非常容易。
具有一定的开发能力后,就可以开始本书探索篇第6~9章的学习。这四章是LoadRunner的探索篇,讲解了在LoadRunner中如何应用C++、Java、C#语言进行开发以及一些特殊的脚本协议。
相信通过前面9章的学习,读者已经掌握LoadRunner的精髓了。不过本书不是一本“LoadRunner使用百科大全”,接下来就需要读者自己不断地应用与探索LoadRunner了,逐步完成成为一个LoadRunner高手的蜕变过程。
如何学习本书的性能测试案例
本书在第10章中,花了很大的篇幅介绍了一个电子商务平台的性能测试案例,目的不是为了介绍如何测试电子商务系统,而是让读者在掌握前面技能的基础上,更加深入地体会在项目中如何通过LoadRunner来实施性能测试。因此,案例的业务并不重要,读者也没有必要深究具体的细节。通过本案例,能清晰地了解了能测试的整个过程就已经达到了目的。
本书案例的学习重点在以下几个方面:
? 借助案例体会“全面性能测试模型”在GBE项目中的应用;
? 学习性能测试规划与设计中的需求分析过程,例如测试环境需求、人力资源;
? 学习性能测试规划与设计中的测试场景分析与设计、测试用例设计;
? 学习如何做好性能测试实施前的准备工作;
? 测试执行过程的进度与变更控制;
? 一些分析性能问题的过程。
关于性能测试案例更多的内容,读者可以阅读《Web性能测试实战》中的案例部分。
关于本书
本书的主旨在于让读者学会LoadRunner的应用,并能在此基础上自行探索性能测试世界。
本书共分为四部分:入门篇、基础篇、探索篇、实战篇。
第一部分:入门篇,包括第1章和第2章,着重于讲解性能测试与LoadRunner的基础理论知识。在第1章中,讲解了性能测试基本概念、全面性能测试模型、性能测试调整等基础的性能测试理论知识;
第2章则介绍了LoadRunner的特点与术语、工作原理、测试流程、部署与安装等内容。
第二部分:基础篇,包括第3章至第5章,着重讲解LoadRunner三大组件的使用,是LoadRunner的基本使用部分。在第3章中,主要讲解如何在Virtual User Generator中完成代码的录制与开发;
第4章讲解如何在Controller中创建与执行场景;
第5章中讲解如何结合Analysis来分析性能测试结果。
第三部分:探索篇,包括第6章至第9章,着重讲解LoadRunner的高级应用。第6章讲解如何用Visual C++来增强虚拟用户;
第7章深入探索了Java虚拟用户;
第8章深入探索了.NET虚拟用户;
第9章则讲解了Socket虚拟用户的相关知识。
第四部分:实战篇,即第10章,结合案例来讲解在具体项目中如何应用LoadRunner来完成性能测试工作。在第10章中,通过真实的性能测试实例,向读者展示了如何在项目中完成性能测试的整体规划与设计、测试的准备与实施、测试结果分析等工作。
致谢
感谢广大读者对《Web性能测试实战》一书的支持,读者的支持是作者写作的真正动力。正是一年来因为大家对《Web性能测试实战》的肯定才促使我完成本书的写作工作;
感谢博文视点周筠老师对本书的支持,周老师对我这个新人一直给予很大的鼓励;
感谢电子工业出版社博文视点资讯有限公司的陈元玉编辑,她是本书的责任编辑;
感谢师兄王玉亭,他再次为本书提供了很多素材;
感谢同事关晓培、周雪松、李熠,他们为本书提供了很多素材;
感谢电子工业出版社为本书辛勤付出的所有朋友们;
特别感谢夫人小姬,她通篇审校了本书并润色了那些难于理解的句子,特别是她对我在公司的日常工作和编写工作的支持,因为本书占据了大量可以陪她的时间;
最后要感谢自己的父母和老师,能写出本书是父母和老师多年教育的结果。目录
第1部分 入门篇
第1章 性能测试基础知识
1.1 性能测试基本概念
1.2 全面性能测试模型
1.3 性能测试调整基础
1.4 如何做好性能测试
1.5 本章小结
第2章 LoadRunner基础知识
2.1 LoadRunner简介
2.2 LoadRunner工作原理
2.3 LoadRunner测试流程
2.4 LoadRunner的部署与安装
2.5 本章小结
第2部分 基础篇
第3章 脚本的录制与开发
3.1 Virtual User Generator简介
3.2 Vu Gen录制功能详解
3.3 修改虚拟用户脚本
3.4 配置虚拟用户脚本
3.5 两个常用函数介绍
3.6 本章小结
第4章 场景的创建与执行
4.1 Controller简介
4.2 场景类型介绍
4.3 测试场景设计
4.4 执行测试场景
4.5 监控系统资源
4.6 本章小结
第5章 性能测试结果分析
5.1 如何分析性能测试结果
5.2 如何从分析图中发现问题
5.3 分析图的处理方法
5.4 Analysis分析报告
5.5 本章小结
第3部分 探索篇
第6章 用Visual C++增强虚拟用户
第7章 深入Java虚拟用户
第8章 深入.NET虚拟用户
第9章 LoadRunner特殊协议应用
第4部分 实战篇
第10章 电子商务平台测试案例
附录A LoadRunner性能测试常见问题
附录B LoadRunner性能测试模板
后记序
软件在性能方面的“亚健康”问题一直伴随着国内很多企业的软件产品而存在。早期由于多数软件应用系统在企业中得不到有效的推广应用,因此用户往往会忽略自己在性能方面的需求。而现在软件几乎渗透到人们工作与生活的各个方面,因而软件的性能开始得到越来越多的重视。
随着软件工程技术、软件开发方法和软件开发工具的发展,一方面使人们可以快速开发更加复杂的应用,另一方面也使开发出的软件规模越来越庞大,架构越来越复杂。随之而来的是软件性能问题也越来越多,最终导致很多软件系统由于性能方面存在问题而停止使用,给软件公司以及客户都带来了一定的损失。因此,解决软件性能问题是十分必要的一项工作中,对于企业自身以及客户都具有重要的现实意义。
在绍英的上一本著作《Web性能测试实战》中,为接近软件性能问题提出了“全面性能测试模型”,以期成为解决软件亚健康问题的一剂良药。“全面性能测试模型”包含了性能测试策略制定、测试用例设计、模型使用方法三部分内容,覆盖了性能测试规划和设计的相关内容,为开展性能测试工作提供了一种可行的方案。但是仅有理论是不够的,对于性能测试工作而言,不但需要好的性能测试理论作为工作指导,更需要掌握好的性能测试工具,因此本书的几位作者共同创作了《LoadRunner性能测试实战》一书。
LoadRunner是目前国内性能测试领域应用最广泛的工具之一,它可以通过模拟成千上万的用户,很快地帮助用户确认和查找性能问题。但是国内图书市场上却没有任何相关书籍,《LoadRunner性能测试实战》填补了这个空白。
《LoadRunner性能测试实战》是非常注重实际应用的作品。书中详细描述了LoadRunner在性能测试领域诸多方面的应用,并结合具体的案例来说明如何应用《Web性能测试实战》一书中提到的“全面性能测试模型”。强大的性能测试工具加上合理的理论来指导,将为读者打开很多新的思路。
本书是由三位作者共同完成的。绍英有流媒体、P2P、电子政务、银行、门户网站等领域应用软件的性能测试经验,在LoadRunner方面更有五年以上的使用经验。他曾到很多公司去推广自己的性能测试模型以及讲解LoadRunner课程,对企业在软件测试方面的需求非常熟悉;建华是在读研究生,因此有充裕的时间来研究LoadRunner的特殊应用;小姬在性能测试方面也有着丰富的经验。相信他们的这些实践经验是很多测试人员急需的。
本书对国内软件企业提高性能测试水平是很有价值的。我很高兴能为这本实战性非常强的作品做序,预祝《LoadRunner性能测试实战》早日出版。也希望国内有更多的人来关注软件性能测试,探讨解决软件亚健康问题的方法!
北京大学软件与微电子学院副教授
北京市软件促进中心专家顾问 黎怡兰(Melody Le)
2007年7月1日LoadRunner性能测试入门与虚拟用户开发基础视频
http://www.itcast.net/portal/courses/unit/85