第1章 性能测试基础及性能指标概述 1
1.1 典型的性能测试场景 2
1.2 不同群体眼中的性能测试 2
1.2.1 系统用户群体眼中的性能测试 2
1.2.2 软件开发群体眼中的性能测试 3
1.2.3 系统维护群体眼中的性能测试 3
1.3 功能测试与性能测试的关系 4
1.4 性能测试的概念及其分类 4
1.4.1 性能测试 4
1.4.2 负载测试 4
1.4.3 压力测试 5
1.4.4 配置测试 5
1.4.5 并发测试 5
1.4.6 容量测试 5
1.4.7 可靠性测试 5
1.4.8 失败测试 6
1.5 性能指标及相关计算公式 6
1.5.1 吞吐量计算公式 6
1.5.2 并发数量计算公式 6
1.5.3 思考时间计算公式 8
1.5.4 响应时间 8
1.5.5 点击数 9
1.5.6 性能计数器 9
1.5.7 资源利用率 10
1.5.8 网络吞吐量 10
1.5.9 错误率 10
1.5.1 0系统稳定性 11
1.6 本章小结 11
1.7 本章习题及经典面试试题 11
1.8 本章习题及经典面试试题答案 12
第2章 性能测试过程概述 15
2.1 性能测试的基本过程 16
2.2 性能测试需求分析 16
2.3 性能测试计划 17
2.4 性能测试用例 18
2.5 测试脚本编写 20
2.6 测试场景设计 20
2.7 测试场景运行 22
2.8 场景运行监控 23
2.9 运行结果分析 23
2.10 系统性能调优 24
2.11 性能测试总结 24
2.12 本章小结 25
2.13 本章习题及经典面试试题 25
2.14 本章习题及经典面试试题答案 26
第3章 LoadRunner相关概念及样例程序的安装过程 29
3.1 LoadRunner及样例程序安装过程 30
3.1.1 Windows版本的安装过程 30
3.1.2 许可协议的应用 33
3.1.3 B/S样例程序的使用 34
3.1.4 C/S样例程序的安装过程与使用 34
3.2 运行机制和主要组成部分 37
3.3 LoadRunner相关概念解析 38
3.3.1 集合点 38
3.3.2 事务 40
3.3.3 检查点 41
3.3.4 思考时间 44
3.3.5 关联 46
3.4 本章小结 47
3.5 本章习题及经典面试试题 48
3.6 本章习题及经典面试试题答案 48
第4章 深度解析LoadRunner 11.0相关功能应用 51
4.1 无工具情况下的性能测试 52
4.2 性能测试工具LoadRunner的工作原理 52
4.3 VuGen应用介绍 54
4.4 协议的类型及选择方法 54
4.4.1 Vuser类型 55
4.4.2 协议选择 57
4.4.3 单协议选择方法及脚本展示 58
4.4.4 多协议选择方法及脚本展示 58
4.4.5 建立多个Action 60
4.5 脚本的创建过程 62
4.5.1 协议理解的误区 63
4.5.2 B/S架构应用程序脚本的应用实例 64
4.5.3 C/S架构应用程序脚本的应用实例 67
4.6 脚本的参数化 73
4.6.1 参数化的方法及其技巧 74
4.6.2 数据分配方法 75
4.6.3 数据更新方式 75
4.6.4 数据分配和数据更新方式的应用实例 76
4.6.5 表数据参数类型 77
4.6.6 内部数据参数类型 79
4.6.7 Excel类型数据文件数据获取 81
4.7 调试技术 86
4.7.1 断点设置 86
4.7.2 单步跟踪 89
4.7.3 日志输出 90
4.7.4 脚本编译 92
4.7.5 脚本注释 94
4.8 Controller应用介绍 97
4.9 场景设置描述 97
4.9.1 面向目标的场景设计 98
4.9.2 面向目标的场景设计的5种目标类型 99
4.9.3 基于手动的场景设计 101
4.9.4 计划方式和运行模式 104
4.9.5 全局计划和交互计划图 105
4.9.6 服务水平协议(SLA) 110
4.10 负载生成器 118
4.11 IP Wizard的应用 121
4.12 负载选项设置详解 124
4.13 性能指标监控 126
4.13.1 性能计数器 127
4.13.2 添加性能计数器指标 127
4.13.3 性能计数器指标的采集与图表输出 129
4.14 Analysis应用介绍 131
4.15 结果目录文件结构 132
4.16 Analysis Summary分析 133
4.17 事务相关信息部分内容 134
4.17.1 分析概要事务相关信息问题的提出 134
4.17.2 结果概要事务相关信息问题的分析 134
4.17.3 结果概要事务脚本设计及其相关设置 135
4.17.4 如何解决结果概要信息不计入思考时间的问题 137
4.17.5 如何知道每个虚拟用户负载时的取值 139
4.17.6 将数据导出到Excel文件中 142
4.17.7 对导出的数据进行筛选 143
4.17.8 对结果数据进行有效的分析 144
4.18 吞吐量相关信息 147
4.18.1 概要分析吞吐量等相关信息问题的提出 147
4.18.2 概要分析吞吐量等相关信息问题的分析 148
4.18.3 概要分析吞吐量等相关内容的设计与实现 149
4.19 执行结果分析过程 151
4.19.1 合并图的应用 152
4.19.2 合并图的3种方式 153
4.19.3 自动关联的应用 154
4.19.4 交叉结果的应用 156
4.19.5 性能测试模型 157
4.19.6 性能瓶颈定位——拐点分析法 158
4.19.7 分析相关选项设置 159
4.20 主要图表分析 161
4.20.1 虚拟用户相关图表 161
4.20.2 事务相关图表 162
4.20.3 错误相关图表 166
4.20.4 Web资源相关图表 168
4.20.5 网页诊断相关图表 175
4.20.6 系统资源相关图表 181
4.21 本章小结 184
4.22 本章习题及经典面试试题 184
4.23 本章习题及经典面试试题答案 185
第5章 实例讲解脚本的录制、场景设计、结果分析过程 187
5.1 脚本的录制、场景设计、结果分析 188
5.1.1 LoadRunner测试过程模型 188
5.1.2 Web应用程序的应用 188
5.1.3 脚本处理 189
5.1.4 负载处理部分 199
5.1.5 系统性能改进意见 205
5.2 本章小结 206
5.3 本章习题及经典面试试题 206
5.4 本章习题及经典面试试题答案 208
第6章 脚本语言编写基础及关联技术应用 209
6.1 认识LoadRunner脚本语言 210
6.2 C语言基础 211
6.2.1 数据类型 211
6.2.2 C语言语句分类 216
6.2.3 基础知识 225
6.3 关联的应用 251
6.3.1 什么是关联 252
6.3.2 自动关联 253
6.3.3 手动关联 255
6.3.4 关联规则 257
6.3.5 关联函数详解 260
6.3.6 简单关联的应用实例 262
6.3.7 较复杂关联的应用实例 264
6.4 动态链接库函数的调用 267
6.5 特殊函数应用注意事项 269
6.6 自定义函数应用 272
6.6.1 自定义函数仅应用于本脚本的实例 272
6.6.2 自定义函数的复用实例 274
6.7 本章小结 275
6.8 本章习题及经典面试试题 275
6.9 本章习题及经典面试试题答案 277
第7章 性能测试及LoadRunner应用常见问题解答 283
7.1 如何突破参数的百条显示限制 284
7.2 如何突破Controller可用脚本50条限制 284
7.3 如何解决数据库查询结果过大导致的录制失败 285
7.4 如何调整经常用到的相关协议脚本模板 286
7.5 如何将Connect()中的密文改为明文 287
7.6 如何添加并运用附加变量 289
7.7 如何解决脚本中的乱码问题 290
7.8 如何在录制时加入自定义标头 292
7.9 线程和进程运行方式有何不同 293
7.10 如何实现脚本分步录制 295
7.11 如何在脚本中应用常量和数组 296
7.12 VuGen中支持哪些步骤类型 297
7.13 如何处理ASP.NET中的ViewState 298
7.14 如何理解Return的返回值 302
7.15 如何解决负载均衡将压力作用到一台机器 304
7.16 如何对Apache服务器上的资源使用情况进行监控 305
7.17 如何在脚本中加入DOS命令 306
7.18 如何下载并保存文件到本地 307
7.19 如何理解常用图表的含义 310
7.20 基于目标和手动场景测试有何联系和不同 311
7.21 如何在命令行下启动Controller 313
7.22 如何解决由于设置引起的运行失败问题 314
7.23 如何实现对服务器系统资源的监控 315
7.24 如何实现对数据服务器的监控 319
7.25 如何实现对Web应用程序服务器资源的监控 321
7.26 如何在Analysis图表中添加分析注释 324
7.27 如何确定登录达到响应时间为3s的指标 326
7.28 如何使用自动关联对测试结果进行分析 328
7.29 如何根据分析结果判断性能有所改善 330
7.30 如何对图表进行合并,定位系统瓶颈 331
7.31 如何应用JavaVuser验证算法的执行效率 332
7.32 如何用程序控制网站的访问次数 335
7.33 几种不同超时的处理方法 339
7.34 如何将日期类型数据参数化到脚本中 340
7.35 如何自定义请求,并判断返回数据的正确性 344
7.36 LoadRunner如何运行WinRunner脚本 346
7.37 LoadRunner如何利用已有文本数据 349
7.38 如何能够产生样例程序的Session 350
7.39 如何实现ping IP的功能 352
7.40 如何在Vugen中自定义工具条按钮 353
7.41 如何在Vugen中的Tools菜单中添加菜单项 354
7.42 如何在Vugen中定义菜单项的快捷键 356
7.43 为什么结果导出时会出现异常 356
7.44 如何增大网页细分图显示的URLS长度 357
7.45 如何设置登录的用户名和口令 358
7.46 如何在执行迭代时退出脚本 359
7.47 如何使用键盘快捷键 360
7.48 如何手动转换字符串编码 361
7.49 如何理解结果目录文件结构 362
7.50 如何监控Tomcat 363
7.51 如何在UNIX系统下用命令行运行脚本 367
7.52 如何使用C函数进行脚本跟踪 368
7.53 如何知道脚本对应路径下文件的含义 369
7.54 如何结合企业特点进行性能测试 379
7.55 如何应用性能测试常用计算公式 381
7.56 如何掌握“拐点”分析方法 384
7.57 如何发现性能测试的规律 384
7.58 如何编写性能测试用例 385
7.59 如何对MySQL数据库进行查询操作 388
7.60 为何无法与Load Generator通信 390
7.61 本章小结 391
7.62 本章习题及经典面试试题 392
7.63 本章习题及经典面试试题答案 393
第8章 性能测试项目实施过程及文档写作 397
8.1 基于不同用户群的性能测试 398
8.2 验收测试通常提交的成果物 398
8.3 验收测试项目的完整过程 399
8.4 项目预算和项目立项 400
8.4.1 项目预算和项目立项 400
8.4.2 项目预算相关内容及样表 400
8.5 项目准备阶段及验收测试方案编写 401
8.5.1 项目人员入场 401
8.5.2 项目调研 402
8.5.3 验收测试方案 402
8.5.4 验收测试方案索引目录结构 402
8.5.5 验收测试方案的引言部分 405
8.5.6 验收测试方案的系统简介部分 406
8.5.7 验收测试方案的测试目标和标准部分 406
8.5.8 验收测试方案的测试需求分析部分 407
8.5.9 验收测试方案的测试策略部分 408
8.5.10 验收测试方案的项目实施阶段部分 412
8.5.11 验收测试方案的“测试实施安排”部分 416
8.5.12 验收测试方案的“测试计划”部分 417
8.5.13 验收测试方案的“质量保证”部分 418
8.5.14 验收测试方案的缺陷管理部分 422
8.5.15 验收测试方案的“项目沟通”部分 423
8.5.16 验收测试方案的“工作产品”部分 424
8.6 验收测试实施过程及性能测试计划编写 424
8.6.1 性能测试计划 425
8.6.2 性能测试计划索引目录结构 425
8.6.3 性能测试计划的“简介”部分 426
8.6.4 性能测试计划的“测试业务及性能需求”部分 428
8.6.5 性能测试计划的“测试环境”部分 428
8.6.6 性能测试计划的“测试策略”部分 429
8.6.7 性能测试计划的“命名规范”部分 431
8.6.8 性能测试计划的“用例设计”部分 433
8.6.9 性能测试计划的“场景设计”部分 434
8.6.10 性能测试计划的“测试数据准备”部分 434
8.6.11 性能测试计划的“计划安排”部分 435
8.6.12 性能测试计划的“局限条件”部分 435
8.6.13 性能测试计划的“风险评估”部分 435
8.6.14 性能测试计划的“交付产品”部分 436
8.7 验收测试实施过程 436
8.7.1 性能测试脚本设计 436
8.7.2 性能测试脚本数据准备 439
8.7.3 性能测试场景设计 440
8.7.4 性能测试场景监控与场景执行 442
8.7.5 性能测试结果分析 446
8.7.6 性能调优 447
8.8 验收测试总结及其性能测试总结的编写 448
8.8.1 某单位某系统验收测试结论 448
8.8.2 某单位某系统验收测试交付清单 449
8.8.3 某单位某系统验收测试报告 449
8.8.4 某单位某系统验收测试性能测试报告 456
8.8.5 功能/性能测试缺陷遗留评审确认表格 463
8.8.6 项目管理相关表格 463
8.9 项目验收相关文档编写 465
8.9.1 验收申请 466
8.9.2 工作量确认 466
8.10 本章小结 466
8.11 本章习题及经典面试试题 466
8.12 本章习题及经典面试试题答案 467
第9章 性能测试经典面试试题及面试技巧 469
9.1 软件性能测试综合模拟试题 470
9.2 LoadRunner英文性能测试的面试题 472
9.3 经常被问道的智力面试题目 474
9.3.1 百枚金币问题 474
9.3.2 污染药丸问题 474
9.3.3 三人住宿问题 474
9.3.4 小鸟飞行距离问题 475
9.3.5 烧香问题 475
9.3.6 分金条问题 475
9.3.7 过桥问题 475
9.3.8 三个灯泡问题 476
9.4 找测试工作的策略 476
9.4.1 找工作前需要做些什么 476
9.4.2 面试时该做些什么 479
9.4.3 面试后该做的事情 482
9.5 软件性能测试综合模拟试题答案 483