第1章 性能测试基础知识 1
1.1 为什么要进行性能测试 1
1.1.1 性能测试与功能测试的关系 1
1.1.2 性能自动化测试优势 2
1.2 性能测试定义与要点 4
1.3 性能测试分类 5
1.4 性能测试术语 8
1.4.1 虚拟用户 8
1.4.2 并发及并发用户数 8
1.4.3 响应时间 9
1.4.4 每秒事务数 10
1.4.5 吞吐量与吞吐率 10
1.4.6 点击率 10
1.4.7 性能计数器 10
1.4.8 资源利用率 11
1.5 性能测试流程 11
1.6 性能需求分析 12
1.6.1 什么是性能需求 13
1.6.2 常用的性能需求获取方法 13
1.6.3 通过服务器日志获取需求 15
1.7 性能测试用例与场景设计 23
1.7.1 性能测试用例与场景设计原则 24
1.7.2 性能测试用例与场景设计思路 24
1.7.3 SCIS系统实例分享 24
1.8 性能测试工具 27
第2章 LoadRunner基础知识 31
2.1 LoadRunner概述 31
2.2 LoadRunner部署与安装 31
2.2.1 LoadRunner安装环境要求 32
2.2.2 LoadRunner安装过程 32
2.2.3 LoadRunner的授权 34
2.3 LoadRunner原理与工作流程 36
2.3.1 LoadRunner工具组成 36
2.3.2 LoadRunner工具原理 37
2.3.3 LoadRunner工作流程 39
2.4 LoadRunner基础使用演示 39
2.4.1 LoadRunner自带程序演示 39
2.4.2 BugFree项目案例演示 43
2.4.3 LoadRunner入门操作演示 49
2.5 同步训练 54
2.5.1 实验目标 54
2.5.2 前提条件 54
2.5.3 实验任务 54
第3章 用户行为脚本录制与开发 55
3.1 VuGen基础 55
3.1.1 VuGen简介 55
3.1.2 VuGen录制原理 57
3.1.3 VuGen录制的前期准备 58
3.2 VuGen脚本录制 61
3.2.1 脚本录制 61
3.2.2 脚本查看与阅读 64
3.2.3 脚本编译回放及调试 81
3.2.4 脚本保存 83
3.2.5 配置录制参数 83
3.3 VuGen脚本增强 92
3.3.1 脚本增强的意义 92
3.3.2 什么是脚本增强 92
3.3.3 脚本增强的方式 94
3.4 VuGen相关设置 133
3.4.1 “运行时设置” 133
3.4.2 配置“常规选项” 138
3.5 同步训练 139
3.5.1 实验目标 139
3.5.2 前提条件 139
3.5.3 实验任务 139
第4章 用户活动场景创建执行与监控 142
4.1 Controller基础 142
4.1.1 Controller简介 143
4.1.2 场景类型介绍 145
4.2 测试场景设计 148
4.2.1 Manual Scenario场景类型 148
4.2.2 Goal-Oriented Scenario场景类型 161
4.2.3 配置集合点策略 165
4.2.4 配置IP欺骗 166
4.3 测试场景执行与监控 169
4.3.1 启动场景 169
4.3.2 场景组查看与监控 170
4.3.3 操作按钮 172
4.3.4 场景状态查看与监控 173
4.3.5 查看联机图 174
4.3.6 集合点手动释放 175
4.4 系统资源监控 175
4.4.1 系统资源监控简介 175
4.4.2 Windows系统资源监控 176
4.4.3 Linux系统资源监控 180
4.5 同步训练 182
4.5.1 实验目标 182
4.5.2 前提条件 182
4.5.3 实验任务 182
第5章 性能测试结果分析 184
5.1 Analysis基础 184
5.1.1 Analysis简介 185
5.1.2 Analysis启动与界面 185
5.2 Analysis分析概要 186
5.3 Analysis图 189
5.3.1 虚拟用户图 191
5.3.2 Error图 192
5.3.3 事务图 194
5.3.4 Web资源图 199
5.3.5 网页细分图 202
5.3.6 系统资源图 208
5.4 Analysis报告 209
5.4.1 HTML报告 209
5.4.2 Word报告 209
5.4.3 Crystal Report 211
5.5 Analysis常用操作及配置 212
5.5.1 服务水平协议配置 213
5.5.2 事务分析选项配置 213
5.5.3 图的合并 216
5.5.4 自动关联 218
5.5.5 数据的过滤筛选 220
5.5.6 场景及Analysis配置查看 222
5.5.7 场景结果的比较 224
5.6 同步训练 225
5.6.1 实验目标 225
5.6.2 前提条件 225
5.6.3 实验任务 225
第6章 Discuz!社区项目实战 227
6.1 Discuz!社区项目实战背景 227
6.1.1 系统介绍 227
6.1.2 系统搭建 227
6.2 性能测试前期准备 230
6.2.1 熟悉需求 230
6.2.2 创建WBS 231
6.2.3 熟悉性能测试规范 231
6.3 性能测试计划制定 232
6.3.1 项目概述 232
6.3.2 术语及缩略语 232
6.3.3 参考文档 232
6.3.4 测试环境 232
6.3.5 测试工具列表 233
6.3.6 测试对象及范围 233
6.3.7 测试需求提取及场景设计 234
6.3.8 角色与职责 236
6.3.9 测试启动和结束准则 236
6.4 性能测试环境与测试数据准备 237
6.4.1 性能测试环境准备 237
6.4.2 测试数据创建 237
6.5 LoadRunner执行测试 238
6.5.1 测试脚本创建 238
6.5.2 测试场景创建与执行 250
6.5.3 测试结果分析 252
6.6 性能测试总结 258
6.7 同步训练 258
6.7.1 实验目标 258
6.7.2 前提条件 259
6.7.3 实验任务 259
第7章 C Vuser脚本开发 260
7.1 Vuser脚本基础知识 260
7.1.1 Vuser脚本语言分类 260
7.1.2 Vuser函数分类 261
7.1.3 C Vuser脚本简介 261
7.2 C语言基础知识 261
7.2.1 C语言结构 261
7.2.2 C语言常用语句 262
7.3 C Vuser函数介绍 265
7.3.1 hello world程序 265
7.3.2 lr参数的赋值与取值 266
7.3.3 字符串处理 266
7.3.4 message函数 269
7.3.5 Web操作函数 271
7.3.6 cookie函数 275
7.3.7 身份验证函数 276
7.3.8 检查函数 277
7.3.9 dll文件的调用 280
7.4 C Vuser脚本开发实例 282
7.4.1 SMTP服务器选择 282
7.4.2 环境配置与测试 282
7.4.3 脚本开发 286
附录A 292
附录B 294
B.1 2009年上半年软件评测师下午试题 294
B.2 2008年上半年软件评测师下午试题 295
B.3 2007年上半年软件评测师下午试题 296
参考文献 298