“初识庐山”篇的编写目的是教会他人性能测试的基本功,使得新员工入职也能迅速掌握基本的性能测试工作技能,继而投入到项目中去。
“云览群山”篇的编写目的是希望走在前面的性能测试工程师能把多年的经验传承下来,让初级的测试工程师也能顺着阶梯往上爬。
“华山论剑”篇的编写目的是归纳总结不同行业、不同类型的性能测试项目特点及实战经验,让测试的同行可以参考借鉴。
本书是软件性能测试领域的一部创新著作,作者结合多年性能测试项目管理与实践经验,由浅入深地从性能测试方法、性能测试工具使用、实际大型性能测试项目实施案例等多方面进行系统讲解,既能让刚刚步入性能测试领域的新人充分掌握性能测试所需的知识和方法,又能让性能测试从业人员真正做到理论结合实际、学以致用,同时更加明确在性能测试领域的职业规划和发展方向。 全书共分为三篇:第1篇――初识庐山,主要介绍性能测试现状及必要性,性能测试常见类型、基本指标和方法,性能测试工具原理、工具使用及工具实操;第2篇――云览群山,主要介绍性能测试的基本过程、性能测试指标的监控,以及性能结果分析、瓶颈定位与调优;第3篇――华山论剑,介绍三个不同行业的实际项目案例,直观地讲述性能测试如何实施、怎样分析定位问题、如何优化等。 本书最后附有性能测试工具LoadRunner的高级使用技巧与常见问题解决方法,方便读者在学习和工作中更快捷、高效地解决性能测试中的各类问题。
第1篇 初识庐山
第1章 性能测试概论 2
1.1 什么是性能测试 2
1.2 性能测试的现状 3
1.3 性能测试的必要性 4
1.4 性能测试类型 4
1.4.1 压力测试 5
1.4.2 负载测试 5
1.4.3 强度测试 6
1.4.4 容量测试 6
1.4.5 大数据量测试 6
1.4.6 基准测试 7
1.5 软件性能的基本指标 7
1.5.1 业务指标 7
1.5.2 资源指标 10
1.6 软件性能测试方法论 12
1.6.1 SEI负载测试计划过程 12
1.6.2 RBI方法 13
1.7 软件性能测试的目标 13
1.8 本章小结 14
第2章 软件性能测试工具介绍 15
2.1 LoadRunner工具介绍 15
2.1.1 LoadRunner实现性能测试需求 16
2.1.2 LoadRunner包含的组件 16
2.1.3 LoadRunner术语 16
2.1.4 LoadRunner负载测试流程 18
2.1.5 LoadRunner核心组件VuGen简介 19
2.1.6 LoadRunner核心组件Controller简介 22
2.1.7 LoadRunner核心组件Analysis简介 23
2.1.8 LoadRunner工作原理 24
2.2 LoadRunner基本运用 26
2.2.1 使用VuGen录制脚本 26
2.2.2 使用Controller 设计场景 43
2.2.3 使用 Controller 运行场景 49
2.2.4 使用Analysis分析运行结果 51
2.3 LoadRunner常用方法介绍 54
2.3.1 参数化功能 54
2.3.2 集合点设置 58
2.3.3 思考时间设置 61
2.3.4 关联功能 63
2.3.5 检查点功能 69
2.4 LoadRunner实操训练 71
2.4.1 录制脚本 71
2.4.2 完善脚本 77
2.4.3 运行脚本 88
2.4.4 设计场景 89
2.4.5 执行压力测试 93
2.4.6 分析压力测试结果 97
2.5 本章小结 99
第2篇 云览群山
第3章 性能测试基本过程 102
3.1 性能需求分析 102
3.1.1 需求获取 102
3.1.2 需求分析 104
3.2 性能测试计划 106
3.2.1 确定测试目标 106
3.2.2 测试范围 107
3.2.3 进度计划 108
3.2.4 准入、准出和暂停准则 109
3.2.5 职责分工 109
3.3 测试环境搭建 110
3.3.1 硬件配置信息 111
3.3.2 软件配置信息 111
3.3.3 测试环境搭建流程 113
3.4 测试工具选择 115
3.5 测试执行 117
3.5.1 场景设计 117
3.5.2 测试策略 118
3.5.3 监控策略 118
3.6 测试结果分析 119
3.6.1 度量指标 120
3.6.2 分析策略 121
3.7 本章小结 121
第4章 性能监控指标 122
4.1 性能测试指标 122
4.1.1 资源指标 123
4.1.2 系统指标 124
4.2 操作系统性能监控实践 125
4.2.1 Windows操作系统监控 125
4.2.2 Linux/UNIX操作系统监控 131
4.2.3 磁盘阵列监控 142
4.3 本章小结 146
第5章 性能分析与调优 147
5.1 监控数据分析 147
5.1.1 资源指标分析 148
5.1.2 系统指标分析 149
5.2 定位性能瓶颈 151
5.2.1 查看操作系统负载 151
5.2.2 使用Profiler测试 152
5.3 常见的系统瓶颈 152
5.3.1 算法调优 153
5.3.2 代码调优 154
5.3.3 数据库调优 155
5.3.4 网络调优 157
5.3.5 系统调优 160
5.4 本章小结 162
第3篇 华山论剑
第6章 电信运营商系统性能测试案例 164
6.1 项目背景 164
6.2 实施规划 164
6.2.1 需求分析 164
6.2.2 测试方案 166
6.2.3 测试环境准备 169
6.3 性能测试执行 171
6.3.1 脚本开发阶段 171
6.3.2 脚本完善阶段 180
6.3.3 脚本通过规则 182
6.3.4 测试策略 183
6.3.5 监控部署 184
6.4 结果分析 188
6.4.1 结果分析思路 188
6.4.2 结果详细分析 189
6.5 本章小结 197
第7章 某省出入境网上办事平台性能测试案例 198
7.1 项目背景 198
7.2 实施规划 198
7.2.1 需求分析 198
7.2.2 测试方案 199
7.2.3 测试环境准备 205
7.3 项目实施过程 222
7.3.1 脚本开发 222
7.3.2 压力测试场景设计 233
7.3.3 压力测试结果监控 237
7.4 结果分析 238
7.4.1 监控数据生成图形化结果 238
7.4.2 出入境前台压力测试结果 239
7.4.3 Apache压力测试结果 241
7.4.4 Tomcat 压力测试结果 243
7.4.5 数据库压力测试结果 244
7.4.6 压力测试结果分析 246
7.4.7 回归压力测试结果 246
7.5 本章小结 247
第8章 某航空公司接口性能测试案例 249
8.1 项目背景 249
8.2 实施规划 249
8.2.1 需求分析 249
8.2.2 测试方案 250
8.2.3 测试环境准备 253
8.3 性能执行 254
8.3.1 脚本开发 254
8.3.2 场景设计 261
8.3.3 场景监控 262
8.4 结果分析 265
8.5 本章小结 271
附录A LoadRunner使用技巧 272
附录B LoadRunner常见问题及解决方法 290