
前言
随着计算机行业的蓬勃发展和用户要求不断的提高,现行的应用软件功能已经变得越来越强大,系统也越来越复杂。软件用户关注的内容不再仅仅是功能实现的正确性,系统的性能表现也同样是用户关注的重点,而性能测试是测试系统性能的主要手段,所以它是软件测试的重中之重。另外,性能测试通常和应用程序、操作系统、数据库服务器、中间件服务器、网络设备等有关,定位问题也很难,如何能够快速、有效地定位并解决性能问题,无疑是性能测试人员面临的一个重要任务。为了帮助测试人员快速掌握软件测试特点、性能测试技术及性能测试工具的实际应用,作者精心编写了本书。
关于本书
作者前两本书《软件性能测试与LoadRunner实战教程》和《精通软件性能测试与LoadRunner最佳实战》上市后,受到广大软件测试和开发人员的关注与好评。目前LoadRunner最新版本为LoadRunner 12.60,而市场上应用的主流版本为LoadRunner 11.0,故本书主要基于LoadRunner 11.0版本进行讲解,同时考虑到仍有很多读者对LoadRunner最新版本感兴趣,本书也专门用一章来详细讲述在LoadRunner 12.60版本中出现的一些新功能、新的解决方案和使用方法。很多热心的读者也针对该书提出了一些好的建议,故本书在前两本书的基础上,针对读者提出的所有问题,进行了修改、完善。但值得强调的是,本书不是《精通软件性能测试与LoadRunner实战》内容的简单增减,而是在丰富了内容并充分考虑不同层次读者需求的基础上,添加了更多的性能测试实战知识,如LoadRunner工具使用技巧,性能瓶颈分析方法,Nmon与Spotlight性能监控工具,Citrix性能测试工具EdgeSight,性能指标分析,前端性能测试,前端性能测试工具开发,Flex、Citrix、Web Services等多种协议的脚本开发,基于LoadRunner的场景控制器开发等。随着敏捷思想及实践深入地应用于软件开发过程,越来越多的软件企业更加注重接口测试、开源的性能测试工具(如JMeter)和自动化测试工具(如Selenium)的应用,来提升测试的工作质量和工作效率,这也是持续集成不可或缺的重要过程,LoadRunner 12.60版本新增了很多功能和解决方案来对这些内容进行支持。这些新增内容使得本书在结构和内容上都更加系统化、完整化,实用性更强,希望通过我们的努力,能开阔您在性能测试、接口测试、自动化测试等方面的视野,有助于您开展性能测试工作。
内容介绍
本书的目的是为从事软件测试、性能测试及LoadRunner工具应用的读者答疑解惑,并结合案例讲解性能测试中的实战技术。
第1章介绍了软件测试的现状以及发展前景、软件测试相关概念、软件生命周期、软件测试定义与分类、软件开发与软件测试的关系,以及软件测试流程和自动化测试的意义等内容。
第2章介绍了性能测试的基本过程,以及性能测试需求分析、性能测试计划、性能测试用例、测试脚本编写、测试场景设计、测试场景运行、场景运行监控、运行结果分析、系统性能调优、性能测试总结的内容与注意事项。
第3章介绍了典型的性能测试场景、性能测试的概念以及分类,详细介绍了工具及其样例程序的安装过程,重点介绍了工具的运行机制及组成部分,同时结合生动的生活场景深入浅出地解释了工具中的集合点、事务、检查点、思考时间等重要概念。
第4章基于一个Web样例程序,将工具的VuGen、Controller、Analysis这3者有机地结合起来,把集合点、事务、检查点、参数化等技术的应用集中在此实例得以体现,讲述了从性能测试需求提出、需求分析、脚本编写、完善、数据准备、场景设计、监控、执行到分析的完整过程。
第5章介绍了LoadRunner脚本语言、LoadRunner重要的关联问题、关联技术应用、动态链接库函数调用、特殊函数的应用注意事项、自定义函数应用和IP欺骗技术等。这部分是从事测试脚本开发的基础,建议读者认真阅读。
第6章介绍了协议的类型、协议理解误区、协议选择的方法,同时以C/S、B/S两种构架的应用作为实例,详细讲解了协议的选择和脚本的录制,讲述了参数化的方法及其应用技巧、数据分配方式和更新方法,并对脚本录制、负载(场景设计、执行)、结果分析、断点设置、单步跟踪、日志输出等调试技术进行了详细阐述,还对工具产生的相关指标的由来进行了系统的分析,并解释相关图表的用途和拐点分析方法等。
第7章结合作者工作经验、学员以及网上论坛经常提出的问题,总结了关于工具设置、使用、结果分析等问题的解决方案,旨在起到举一反三的作用,指导读者实际应用于工作当中。
第8章结合目前最新版的LoadRunner 12.60,介绍了Vugen功能改进与实用操作、同步录制和异步录制以及如何在Controller中实现对JMeter脚本的支持、应用Vugen开发Selenium脚本等实用方法。
强大的LoadRunner不仅在性能测试方面表现卓越,它也是接口测试利器。第9章详细讲解了接口测试的执行过程(包括接口测试需求、接口测试功能性用例设计、测试用例脚本实现、接口性能测试用例设计、接口性能测试脚本实现、性能测试场景执行和性能测试执行结果分析与总结)。
第10章结合主流的Windows操作系统和Linux操作系统介绍了如何监控进程、CPU、内存、磁盘I/O等性能,并结合系统提供的工具以及第三方工具,讨论如何监控测试中的相关项目,重点讲解了Nmon和Spotlight工具及其相关指标的含义等。
第11章详细地介绍了外包性能测试项目的实施完整过程与其项目性能测试的实施过程,以及“性能测试计划”“性能测试用例”“测试脚本编写”“测试场景设计”“测试场景运行”“场景运行监控”“运行结果分析”“系统性能调优”“性能测试总结”等文档内容的编写和实施过程中各环节的注意事项。
第12章以讲解完整的系统框架性能对比测试的案例为线索,全面介绍了LoadRunner在性能测试中的应用过程。具体包括模型建立、性能测试用例设计、工具的引入、脚本代码的编写、场景设计、性能结果分析等重要环节,培养读者独立进行项目测试的能力。
第13章介绍了前端性能测试的一些知识和前端性能测试分析工具HttpWatch、DynaTrace Ajax、Firebug、YSlow的使用方法和案例分析。
第14章介绍了FTP、SMTP、Sockets、RTE、Flex、Real、Web Services等协议的实际应用和注意事项,同时还介绍了EdgeSlight等其他性能测试工具的应用。
第15章介绍了如何利用高级语言进行性能测试辅助工具的开发,介绍了利用Windows计划和LoadRunner控制台命令来完成性能测试任务的思想和操作方法,并借助Delphi实现,同时还介绍了如何在高级语言中应用第三方工具提供的插件,并结合HttpWatch插件,展示了如何完成一个前端性能测试小工具。
附录部分(见配套资源)提供了一些测试模板文件,具体包括测试计划、测试总结、测试日志、功能测试用例及性能测试用例等模板、样例文档。
本书阅读建议
本书图文并茂、通俗易懂,同时在配书资源中提供了样例程序和脚本代码。希望读者在阅读本书的同时,能够边看边实践,深入理解脚本,这样可以提高学习效率,尽快将实战知识应用于项目的性能测试中。
本书行文约定
本书遵循如下行文约定。

谁适合阅读本书
● 从事性能测试工作的初级、中级和高级测试人员;
● 希望了解性能测试工具LoadRunner的初级、中级、高级测试人员,项目主管和项目经理;
● 希望解决LoadRunner应用过程中遇到问题的性能测试设计、执行、分析等的相关人员;
● 测试组长、测试经理、质量保证工程师、软件过程改进人员。
本书主要作者
于涌,具有近20年软件开发和软件测试方面的工作经验,先后担任程序员、高级程序员、测试分析师、高级测试经理、测试总监等职务,拥有多年的软件开发、软件测试项目实践和教学经验,尤其擅长自动化测试、工具应用、单元测试等方面的工作,曾为多个软件公司提供软件测试知识、软件性能测试、性能测试工具LoadRunner、功能测试工具QTP、WinRunner、JMeter等内容的培训工作。
网上答疑
如果您在阅读过程中发现本书有什么错误,欢迎与作者联系,以便作者及时纠正。本书的勘误、更新信息、答疑信息都可以从作者的博客—测试者家园上获得。您有疑问,也可以在作者的博客中直接留言,作者也会在博客中公布本书中涉及的一些演示工具的相关下载信息。如果您在阅读本书过程中,发现错误或者疑问也可以和本书编辑联系,联系邮箱为zhangtao@ptpress.com.cn。
致谢
本书内容建立在前人研究成果的基础上。因此,在本书完成之际,我对那些为本书提供帮助的网络作者、图书作者、读者和朋友表示衷心的感谢。目前已经有很多高校使用《软件性能测试与LoadRunner实战教程》作为性能测试课程的教材,这令我非常骄傲和自豪,我衷心希望通过高校老师和我的共同努力,能增强学生的综合能力,使得理论学习和实际工作应用齐头并进,让毕业生尽快融入社会工作并成为企业的中坚力量。
在本书编写过程中,很多测试同行为本书的编写提供了很多宝贵建议;我的学员和网友提供了很多写作素材与资料,特别是我的好友高楼(7点测试网站创建人)为本书的创作提供了宝贵的建议,并撰写了第12章系统性能测试案例,在此一并表示感谢。
于涌