标题：LoadRunner9.1实战
内容简介
第一步（了解理论）：磨刀不误砍柴工，打下基础；第二步（掌握工具）：深  入介绍LoadRunner工具三大部分（Virtual User Generator、Controller、Analysis）分别是如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析；第三步（项目实施）：理论联系实际，介绍性能测试项目实施的流程和性能测试部门的组织管理；第四步（进阶提升）：对一些当下流行的或比较特殊的协议和开发技巧进行真实案例的介绍。
本书结合了很多工作中的实际案例，图文并茂，既适合渴望了解性能测试的新人，也适合对性能测试有一定认识和经验的中、高级测试工程师。该书也可以作为高校开展性能测试课程的参考教材，让在校学生能对性能测试的本质和价值有一定的认识。[1]
内容摘录
序系统规模持续增大，用户数量呈几何级数增长，因性能缺陷导致的事故往往影响范围更广，对企业信誉和品牌造成的负面冲击更加严重。日本证交所事故、北京奥运票务系统事故、上海福利彩票系统事故、上海“7-18”私车牌照拍卖系统事故……
这些事故时刻都在为系统的性能问题敲响警钟，因此如何有效开展性能测试成为众多企业、众多测试从业者关注的目标。
正在准备从事和已经从事性能测试的工程师都在努力地通过各种渠道提高自己的性能测试技能。在这种情况下，一本好书、一堂好课、一场同行间的切磋、一次论坛的PK，都能够帮助大家改进性能测试流程、方法、技术和实践。而且性能测试也被越来越多的企业高层管理人员所关注，企业在性能测试投入力度上也在不断加强。
我和云层老师经常在一起探讨性能测试方法、技术、发展等话题，并不断改进我们的授课内容和授课方式，力图向我们的客户传递最实用的性能测试技能。云层老师花费近一年时间，结合性能测试、实战经验和丰富的教学经验，完成了这本测试力作。图书内容力求实用、系统、易学，尽最大努力符合企业的实际需要。本书既可以作为初学者的入门书籍，也可以作为性能工程师的案头资料。
性能测试实践性极强，理论联系实际才是王道，建议读者在认真阅读本书的同时反复练习，达到成功完成实际性能测试项目的目的，成长为优秀的性能测试工程师。
闲话少“序”，翻过此页，精彩内容马上开始。
王海龙 
2009年10月3日
前 言性能测试并不是一个很新的名词，但自从LoadRunner进入国内并流行，带动了性能测试的潮流，一时间测试人员的口边已经离不开这个HP的性能测试神器。如果你不会使用它进行性能测试，出门都不好意思和同行打招呼，似乎掌握了该工具就成为了测试的资深专家。可以说性能测试的流行从某些角度也反映了国内软件测试技术的进步，从过去的手工化功能测试逐步开始涉及通过开发编程的方式对系统进行功能测试，而现在进一步地开展性能测试。
为什么写这本书
看过很多性能测试方面的书，也在论坛上不断地解决各种问题，但总会发现新手问题反复发，高手问题无人解的问题。仔细一看很多书都有介绍，但是要么高深莫测要么缺乏实用性，而且出现了一年多的LoadRunner 9.x系列版本没有任何一本书来进行全面的介绍。在培训中，每次解决各种问题的同时都感到一点点厌倦，从而考虑把遇到的各种问题整理出来，随着整理过程的深入，我渐渐发现内容不少，而在朋友和同事的指引下，这本书就诞生了。限于作者的经验和水平，书中的不足和纰漏之处在所难免，恳请广大读者批评指正。
本书面向的读者
本书并不是完全为初学者设计的，因为性能测试本来就不是一个新人能够涉及的内容，想要掌握性能测试需要多年的测试基础及广泛的知识面。
对于一个刚刚涉及性能测试的朋友来说，这本书可以解答你遇到的所有问题，虽然刚开始看会稍显吃力，但随着逐步的深入，会越发轻松。对于已入门的朋友，在简单地了解性能测试基础及LoadRunner的实现原理后，本书的深度会让你进一步看透一些朦胧的东西。而对于高手来说，工具的介绍和后面的脚本开发可以帮助你进一步扩展思路。
本书作者
陈霁，51Testing论坛中ID为云层，集上海人和四川人的优缺点于一身。自认公司内皮肤最白，经常被学员笑称“云版”或“棉花糖”老师，现任51Testing高级讲师，主攻性能测试。
2001年至2004年在多家软件公司任职测试工程师，在底层摸爬滚打多年，对各种类型的软件测试都有所涉及。
2004年至2007年在Gameloft上海部曾任测试经理、SQA及SCM。
2007年中加入51Testing任职高级讲师一职，负责软件测试相关培训的授课工作。
牛霜霞，西安电子科技大学控制理论与控制工程专业硕士，ISO 及CNAS内审员，河南电力试验研究院高级工程师。具有多年从事软件开发、软件测试及质量管理工作的经验，负责过多个大型项目的设计、开发、测试及维护工作。
龚永鑫，计算机、通信工程双专业。曾在国内知名IT公司从事多年大型系统的研发工作，对复杂系统的性能瓶颈定位和规避有着独特的视角。后加盟中国移动从事IT系统运营管理工作，所设计的信息管理系统、卫星地面站监控系统、变更管理平台多次获得省部级和通信协会科技创新奖项，作为核心设计人员设计的业务运营支撑系统，已是中国移动六个省份核心生产系统。
本书由陈霁、牛霜霞、龚永鑫共同编写，其中陈霁负责第1章至第7章的编写工作，牛霜霞负责第1章、第2章、第5章、第7章部分内容及附录部分（共计约5万字）的编写工作，龚永鑫参与部分章节的修改、编写工作。
本书的结构
本书分为7章，其内容如下表所示。
篇 章节 内容介绍
基础篇 
第1章 性能测试基础，主要是为初学的朋友介绍简单的性能测试原理及相关知识
工具篇 
第2章 综述，全面介绍了LoadRunner工具的组成、安装及性能测试协议基础
第3章 性能测试用户行为模拟工具VuGen，详细介绍了如何录制用户行为生成脚本并进行脚本开发，实现完美的用户行为模拟
第4章 性能测试负载生成工具Controller，使用该工具实现场景设计及系统监控
第5章 性能测试分析工具Analysis，如何使用该工具对场景负载后的数据进行整理分析
实战篇 
第6章 性能测试实战，通过对Discuz论坛进行一次真实的性能测试，全面介绍在工作中如何进行性能测试的需求分析、测试设计、脚本开发、环境搭建及各种性能分析的方法
第7章 高级脚本开发，除了介绍常见的AJAX、Windows Sockets以外，还提供了基于开心网、Flex、SMTP/POP等比较特殊的开发案例
从本书能收获什么
对于读者来说，通过本书的学习可以完全掌握LoadRunner 9.1的各种功能，并了解性能测试的实施过程，做到理论联系实际。本书中所有的例子都可以在本地或者权威网站进行实践，包括项目实践的所有内容也可在本地完成，从而真正实现自学成材。虽然本书是介绍如何使用LoadRunner这一性能测试工具来进行性能测试，但是书中还穿插了大量的辅助工具，从而弥补了LoadRunner自身工具的不足。在实战阶段提供了详尽的性能需求分析方法、测试数据构造方式、性能测试分析方法及性能测试团队构建方式，让菜鸟迅速成长为高手。
致谢
测试做久了总习惯挑别人毛病或者具备一点完美主义精神，看了很多论坛上的提问和市面上的书籍后，我自信地认为能写本“比别人好点的书”。当开始执笔时，一本“完美”的书一直压迫得我喘不过气来，经过多次辗转，最终这个相对“完美”的版本没有胎死腹中，这里不得不感谢那些在这一年中和我互相学习分享知识的朋友。
对我来说最幸福的事情是在进入高中时拥有了一台小小的学习机，当第一次接触到键盘，第一次编写Basic小程序时仿佛失了魂，按照现在的说法也就是“宅”了。这里要感谢我的父母，他们并没有阻止我沉迷于计算机之中，从而让我找到了自己的兴趣并进一步将兴趣转化为了职业。
第一次接触软件测试是在2001年，作为一个刚毕业、自我感觉良好的大学生，我只身来到了上海。四处碰壁后“委身”于一家软件公司任职测试工程师，就这样误打误撞地进入软件测试行业，多亏当时面试我的原IBM测试经理田芳女士给了我这样的机会。师傅领进门，修行靠个人，待我明白这个道理并奋发努力后，在Wang Sheng和Steven Ye的栽培下我逐渐成为了独当一面的测试经理，而在不如意的那段时间里飞雨给了我很多鼓励和人生规划上的指导。
加入51Testing对我来说是个不小的转变，作为原Gameloft的测试经理，游戏测试及管理和软件测试还有一条不小的鸿沟，而性能测试以前并不是我的主攻方向，期间受到Sincky、海龙、老朴、徐林林的细心指点，使我对性能测试的理解逐步加深，也逐渐接过了性能测试培训的教鞭。而海龙作为我的老师，本书的很多思想流程也是继承于他，正是因为海龙“忙”而我“闲”，才会由我代笔完成了本书所有的编写工作。
在本书的编写过程中，周春江、宋锋、吴晓红、陈文广等老师都在各个方面给予了我很多支持。最后还要感谢可爱的学员们，在我授课的过程中给了我不少有用的建议和灵感。而学员Lucia、井淼、牛敏、方闻、小虫虫帮助我完成了Beta和RC1版本的测试工作，并在校稿中做了很多的工作，包括内容的收集、评审和整理，在此表示感谢。[1]
书籍目录
第1章 性能测试基础 1
1.1 性能测试工程师的标准及挑战 1
1.1.1 性能测试工程师的考评指标 1
1.1.2 性能测试工程师的挑战 3
1.2 性能测试基础 4
1.2.1 性能 4
1.2.2 性能指标 13
1.2.3 性能分析及调优 14
1.2.4 单机软件性能与网络架构软件性能 18
1.2.5 性能测试的流程 18
1.2.6 性能测试的注意要点 19
1.2.7 性能测试招聘要求 20
小结 21
第2章 LoadRunner综述 22
2.1 LoadRunner简介 22
2.2 LoadRunner工具组成 25
2.3 性能测试原理 25
2.4 自动化测试工具和性能测试工具的区别 27
2.5 协议分析 27
2.5.1 HTTP详细介绍 27
2.5.2 HTTP报文结构 29
2.5.3 HTTP请求 30
2.5.4 HTTP应答 31
2.5.5 HTTP捕获 32
2.5.6 HTTP回放 33
2.6 安装 34
2.6.1 在Windows下安装LoadRunner 36
2.6.2 安装Load Generator 36
2.6.3 附加组件 40
2.6.4 LoadRunner License 40
2.6.5 测试环境的安装 41
2.7 LoadRunner性能测试操作流程预览 42
小结 44
第3章 用户行为模拟 46
3.1 VuGen界面介绍 47
3.1.1 Tree图形化模式 47
3.1.2 脚本模式 48
3.1.3 Output Window 48
3.2 录制用户行为 48
3.2.1 录制流程 48
3.2.2 协议选择 48
3.2.3 录制选项 50
3.2.4 开始录制 63
3.2.5 插入命令 63
3.2.6 结束录制 63
3.2.7 回放验证 64
3.2.8 录制回放常见问题 65
3.3 脚本开发 66
3.3.1 Action简介 66
3.3.2 脚本如何注释 66
3.3.3 语言规则 67
3.3.4 如何使用模板 68
3.3.5 脚本的导入导出 69
3.3.6 脚本调试 69
3.4 通用选项（General Options） 70
3.4.1 Parameterization标签 70
3.4.2 Replay标签 71
3.5 运行设置（Run-Time Setting） 74
3.5.1 Run Logic 74
3.5.2 Pacing 78
3.5.3 Log 78
3.5.4 Think Time 80
3.5.5 Additional attributes 81
3.5.6 Miscellaneous 82
3.5.7 Speed simulation 83
3.5.8 Browser Emulation 83
3.5.9 Preferences 84
3.6 参数化 85
3.6.1 参数化的操作 86
3.6.2 Parameter List界面介绍 91
3.6.3 VuGen中的参数 93
3.6.4 Controller中的参数 100
3.6.5 同行取值（Same line as） 105
3.6.6 参数模拟（Simulate Parameter） 106
3.6.7 参数类型 106
3.6.8 数据向导（Data Wizard） 114
3.6.9 参数和变量 117
3.7 关联 122
3.7.1 关联原理 122
3.7.2 自动关联 128
3.7.3 手动关联 131
3.7.4 一边录制一边关联 132
3.7.5 关联函数web_reg_save_param详解 134
3.7.6 关联函数的高级使用 143
3.8 检查点 149
3.8.1 文本检查点 151
3.8.2 自动检查点 153
3.8.3 图片检查点 154
3.9 事务 154
3.9.1 响应时间 154
3.9.2 添加事务 157
3.9.3 事务时间 160
3.9.4 手工事务 162
3.10 集合点 165
小结 167
第4章 负载生成及监控Controller 168
4.1 设计场景 168
4.1.1 新建场景 168
4.1.2 负载生成器管理 179
4.1.3 用户管理 181
4.1.4 运行设置 181
4.1.5 IP虚拟 183
4.1.6 场景运行原理 185
4.1.7 Service Level Agreement（服务品质保障） 186
4.2 系统监控 188
4.2.1 Scenario Groups（场景用户状态） 189
4.2.2 Scenario Status（场景运行状态） 190
4.2.3 计数器原理 190
4.2.4 计数器管理 192
4.2.5 SiteScope 197
4.3 场景运行 199
4.4 QTP脚本在场景中的运行 199
4.5 场景数据 200
小结 201
第5章 数据收集分析Analysis 202
5.1 新建Analysis分析 202
5.2 Analysis Summary 203
5.2.1 Analysis Summary（场景的摘要） 203
5.2.2 Statistics Summary（场景状态的统计说明） 203
5.2.3 5 Worst Transaction（SLA失败事务） 204
5.2.4 Scenario Behavior Over Time（场景行为综述） 204
5.2.5 Transaction Summary（事务摘要） 205
5.2.6 Service Level Agreement Legend
5.2.6 （SLA图标说明） 206
5.2.7 HTTP Responses Summary（HTTP响应摘要） 206
5.3 Graphs（数据图） 207
5.3.1 Vusers（虚拟用户状态） 208
5.3.2 Errors（错误统计） 209
5.3.3 Transactions（事务） 210
5.3.4 Web Resources（网页资源信息） 212
5.3.5 Web Page Diagnostics（网页分析） 214
5.3.6 Network Monitor（网络监控） 218
5.3.7 Resources（资源监控） 219
5.4 图设置与操作 230
5.4.1 Merge Graphs（合并图） 230
5.4.2 Auto Correlate（自动定位瓶颈） 232
5.5 Transaction Report（事务报告） 235
5.6 SLA Report（系统阈值监控报告） 237
5.7 External Monitor（外部监控数据导入） 238
5.8 Cross with result（跨脚本横向比较） 240
5.9 生成测试报告 240
5.9.1 创建HTML报告 241
5.9.2 创建Word报告 241
5.9.3 创建水晶报表 241
小结 243
第6章 性能测试实战 244
6.1 性能测试流程 244
6.1.1 计划测试 244
分析系统阶段
定义测试目标
明确定义概念
搭建测试环境
6.1.2 创建脚本 278
6.1.3 创建场景 292
6.1.4 运行场景 296
6.1.5 分析性能数据 297
性能调优原理
前端性能分析
后端性能分析
6.1.6 性能测试报告 321
6.2 性能测试组织 343
6.2.1 性能测试团队 343
6.2.2 性能测试流程分工 345
6.2.3 配置管理 346
6.2.4 性能测试自动化 349
小结 352
第7章 高级脚本开发 353
7.1 AJAX 353
7.2 开心网咬人游戏 364
7.3 基于域权限的登录 375
7.4 FLEX 376
7.5 Windows Sockets 386
7.6 E-mail（SMTP/POP3） 395
附录A 常见HTTP请求返回简介 403
附录B LoadRunner 9.5简介 406
附录C 常见LoadRunner问题索引 407
附录D 常见性能测试工具 409
附录E 常用文档模板 417
参考资料 432[1]