基础篇 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性能测试的流程 15
1.2.5性能测试招聘要求 15
1.2.6性能测试学习阶段 16
1.3性能分析与调优 17
1.3.1性能分析及调优原理 19
1.3.2常见系统性能瓶颈 27
1.3.3性能测试的注意要点 35
1.4小结 36
工具篇 37
第2章 LoadRunner综述 37
2.1 LoadRunner简介 37
2.2 LoadRunner工具组成 40
2.3性能测试原理 40
2.4自动化测试工具和性能测试工具的区别 42
2.5协议分析 42
2.5.1 HTTP详细介绍 43
2.5.2 HTTP报文结构 43
2.5.3 HTTP请求 44
2.5.4 HTTP应答 45
2.5.5 HTTP捕获 46
2.5.6 HTTP回放 48
2.6安装 49
2.6.1在Windows下安装LoadRunner 52
2.6.2安装Load Generator 53
2.6.3附加组件 56
2.6.4 LoadRunner License 57
2.7 LoadRunner性能测试操作流程预览 58
2.8小结 61
第3章 用户行为模拟 62
3.1 VuGen界面介绍 63
3.1.1 Tree图形化模式 63
3.1.2脚本模式 65
3.1.3 Output Window 65
3.2录制用户行为 66
3.2.1录制流程 66
3.2.2协议选择 66
3.2.3录制选项 67
3.2.4开始录制 96
3.2.5插入命令 96
3.2.6结束录制 96
3.2.7回放验证 97
3.2.8录制回放常见问题 98
3.3脚本开发 99
3.3.1 Action简介 99
3.3.2脚本如何注释 100
3.3.3语言规则 100
3.3.4如何使用模板 101
3.3.5脚本的导入导出 102
3.3.6脚本调试 103
3.4通用选项(General Options) 103
3.4.1 Parameterization标签 104
3.4.2 Replay标签 104
3.4.3 Environment标签 105
3.4.4 Display标签 106
3.4.5 Correlation标签 107
3.5运行设置(Run-Time Setting) 107
3.5.1 Run Logic 108
3.5.2 Pacing 114
3.5.3 Log 115
3.5.4 Think Time 116
3.5.5 Additional attributes 117
3.5.6 Miscellaneous 118
3.5.7 Speed Simulation 119
3.5.8 Browser Emulation 119
3.5.9 Preferences 120
3.5.10 Download Filters 121
3.5.11 Data Format Extensions 122
3.6参数化 122
3.6.1参数化的操作 123
3.6.2 Parameter List界面介绍 127
3.6.3 VuGen中的参数 129
3.6.4 Controller中的参数 135
3.6.5同行取值(Same line as) 140
3.6.6参数类型 141
3.6.7数据向导(Data Wizard) 146
3.6.8参数和变量 149
3.7关联 161
3.7.1关联原理 161
3.7.2自动关联 166
3.7.3手动关联 170
3.7.4一边录制一边关联 171
3.7.5关联函数web_reg_save_param_ex详解 172
3.7.6关联函数web_reg_save_param_regexp详解 183
3.7.7关联函数web_reg_save_param_xpath详解 185
3.7.8关联函数的高级使用 187
3.8检查点 196
3.8.1文本检查点 198
3.8.2自动检查点 199
3.8.3图片检查点 200
3.9事务 201
3.9.1响应时间 201
3.9.2添加事务 203
3.9.3事务时间 205
3.9.4手工事务 208
3.10集合点 211
3.11小结 213
第4章 负载生成及监控Controller 214
4.1设计场景 214
4.1.1新建场景 214
4.1.2负载生成器管理 225
4.1.3用户管理 228
4.1.4运行设置 228
4.1.5 IP虚拟 229
4.1.6场景运行原理 231
4.1.7 Service Level Agreement(服务品质保障) 233
4.2系统监控 236
4.2.1 Scenario Groups(场景用户状态) 236
4.2.2 Scenario Status(场景运行状态) 238
4.2.3计数器原理 238
4.2.4计数器管理 240
4.2.5 SiteScope 247
4.3场景运行 248
4.4 QTP脚本在场景中的运行 249
4.5场景数据 250
4.6小结 251
第5章 数据收集分析Analysis 252
5.1新建Analysis分析 252
5.2 Analysis Summary 253
5.2.1 Analysis Summary(场景的摘要) 253
5.2.2 Statistics Summary(场景状态的统计说明) 253
5.2.3 5 Worst Transaction(SLA失败事务) 254
5.2.4 Scenario Behavior Over Time(场景行为综述) 254
5.2.5 Transaction Summary(事务摘要) 254
5.2.6 HTTP Responses Summary(HTTP响应摘要) 256
5.3 Graphs(数据图) 256
5.3.1 Vusers(虚拟用户状态) 258
5.3.2 Errors(错误统计) 259
5.3.3 Transactions(事务) 259
5.3.4 Web Resources(网页资源信息) 262
5.3.5 Web Page Diagnostics(网页分析) 264
5.3.6 Network Monitor(网络监控) 269
5.3.7 Resources(资源监控) 270
5.4图设置与操作 280
5.4.1 Merge Graphs(合并图) 281
5.4.2 Auto Correlate(自动定位瓶颈) 283
5.5 Transaction Report(事务报告) 286
5.6 SLA Report(系统阈值监控报告) 286
5.7 External Monitor(外部监控数据导入) 287
5.8 Cross with result(跨脚本横向比较) 289
5.9生成测试报告 289
5.9.1 New Report(新建报告) 289
5.9.2 Report Templates(报告模板) 291
5.9.3 HTML报告 292
5.10小结 292
实战篇 294
第6章 性能测试实战 294
6.1计划测试 295
6.1.1分析系统阶段 295
6.1.2定义测试目标 301
6.1.3明确定义概念 321
6.1.4编写性能测试计划 322
6.1.5编写性能测试方案 326
6.1.6编写性能测试用例 330
6.2搭建测试环境 331
6.2.1测试平台评估 331
6.2.2数据生成 332
6.2.3测试环境搭建手册 340
6.3创建脚本 347
6.3.1用户注册 347
6.3.2用户查询 349
6.3.3用户看帖 350
6.3.4用户回帖 351
6.4创建场景 359
6.4.1场景设计 360
6.4.2负载监控 361
6.5运行场景 367
6.5.1场景运行Checklist 367
6.5.2场景运行记录 368
6.6分析性能数据 369
6.6.1性能调优原理 369
6.6.2前端性能分析 375
6.6.3后端性能分析 382
6.7性能测试报告 404
6.7.1平台对比性能测试报告 406
6.7.2 Phpwind85性能分析报告 414
6.7.3 DiscuzX2 VS Phpwind85性能对比报告 436
6.7.4 Phpwind85验收指标性能测试报告 446
6.7.5 Phpwind85压力测试报告 450
6.8小结 454
第7章 性能测试组织 455
7.1性能测试团队 455
7.2性能测试流程分工 456
7.3配置管理 457
7.4性能测试自动化 463
7.5小结 467
第8章 高级脚本开发 469
8.1 AJAX 469
8.1.1使用HTTP/HTML模式开发AJAX脚本 472
8.1.2使用Click and Script模式开发AJAX脚本 477
8.1.3使用TruClient模式开发AJAX脚本 480
8.2本地动态JS Session 482
8.3基于域权限的登录 492
8.4 Flex 494
8.5 Silverlight 508
8.6 Web Service 514
8.6.1基于WSDL的调用 514
8.6.2基于SOAP的调用 518
8.6.3基于HTTP的调用 521
8.6.4基于Windows Sockets的调用 524
8.6.5扩展Oracle数据库性能测试 527
8.7 Windows Sockets 531
8.8 E-mail(SMTP/POP3) 539
8.9 FTP/HTTP混合协议 545
8.10.NET Vuser 549
8.10.1使用.NET Vuser测试SQL Server 2008数据库性能 551
8.10.2使用.NET Vuser测试C#类库 552
8.11 Java Vuser 554
8.11.1使用Java Vuser测试MySQL数据库性能 555
8.11.2使用Java Vuser测试JAR包 557
8.12 iPhone4 Vuser 558
8.13小结 562
附录A常见HTTP请求返回简介 563
附录B几款性能测试工具入门速成 566
B.1 VSTS2010 566
B.2 Apache AB 570
B.3 WebBench 574
B.4 HTTP LoaD 574
B.5 Siege 576
B.6 JMeter 576
附录C常见LoadRunner问题索引 584
附录D常见性能测试工具 596
D.1应用性能测试工具 596
D.1.1商用 596
D.1.2开源 597
D.2系统监控 598
D.3硬件瓶颈定位 599
D.4白盒分析工具 601
D.5网络工具 602
附录E常用文档模板 604
E.1性能测试需求分析 604
E.2性能测试计划 606
E.3性能测试方案 610
E.4性能测试报告 615
E.5性能测试申请单 616
E.6性能测试脚本业务报告 617
E.7场景运行checklist 618
附录F基于XAMPP测试环境搭建 619
F.1搭建XAMPP 619
F.2搭建PhpWind 测试环境 622
索引 624
参考资料 630