第1章 软件性能测试 1
1.1 什么是软件的性能 1
1.1.1 软件 1
1.1.2 软件性能的产生 4
1.1.3 功能与性能的关系 4
1.1.4 用户眼里的软件性能 6
1.1.5 软件人员眼里的软件性能 12
1.2 软件性能测试 16
1.2.1 性能测试在软件测试的周期位置 16
1.2.2 性能测试策略揭秘 20
1.3 如何做性能测试 23
1.3.1 goal(定义目标) 26
1.3.2 analysis(分析) 28
1.3.3 metrics(度量) 29
1.3.4 execution(执行) 30
1.3.5 adjust(调整) 31
1.4 性能测试工具的评估和选择 32
1.4.1 测试预算vs工具价格 33
1.4.2 协议、开发技术、平台、中间件vs工具的支持 33
1.4.3 工具可使用的复杂程度vs项目计划的影响 34
.第2章 第一次亲密接触loadrunner 35
2.1 从性能测试到loadrunner的映射 35
2.2 loadrunner工作原理 38
2.3 安装loadrunner 41
2.4 揭开license的神秘面纱 42
第3章 走近loadrunner 44
3.1 loadrunner的运行原理 45
3.1.1 loadrunner三大高手 45
3.1.2 三大高手联手的一场性能测试盛大演出 48
3.2 loadrunner的录制原理 50
3.2.1 网络协议与loadrunner的vuser 50
3.2.2 选择loadrunner protocol的两大定律 55
3.2.3 loadrunner录制技术 56
第4章 loadrunner脚本语言基础 62
4.1 c语言与loadrunner脚本 66
4.1.1 看不见的main 67
4.1.2 全局变量与局部变量 71
4.1.3 在loadrunner脚本里灵活使用c语言 74
4.1.4 高级——用户自定义函数 78
4.2 通用vu函数 81
4.2.1 事务和事务控制函数 82
4.2.2 命令行分析函数 83
4.2.3 系统信息函数 83
4.2.4 字符串函数 83
4.2.5 消息函数 84
4.2.6 运行时(run-time)函数 84
4.3 协议相关函数 85
4.3.1 http协议原理 85
4.3.2 http在loadrunner的实现 86
第5章 vu——用户行为的模拟器 89
5.1 图灵试验与loadrunner vu模拟奥秘 90
5.1.1 图灵试验场景 90
5.1.2 loadrunner模拟揭秘 91
5.2 录制脚本 94
5.2.1 选择协议 94
5.2.2 规划脚本结构 96
5.2.3 http vuser中的url mode和html mode 96
5.2.4 查看日志 99
5.3 回放脚本 101
5.4 关联 102
5.4.1 录制前correlation(关联) 103
5.4.2 录制后关联 106
5.4.3 手动关联 109
5.5 脚本视图和树视图 113
5.5.1 树视图(tree view) 113
5.5.2 脚本视图(script view) 114
5.5.3 理解snapshot 115
5.6 事务、同步点和思考时间 115
5.6.1 transaction(事务) 115
5.6.2 rendezvous point(同步点) 118
5.6.3 注释 119
5.6.4 think time(思考时间) 119
5.7 数据驱动——参数化(parameters) 121
5.7.1 为什么需要参数化 121
5.7.2 参数的创建 123
5.7.3 定义参数的属性 130
5.7.4 高级——从已存在的数据库中导入参数数据 136
5.8 检查点(check point) 142
5.8.1 为什么需要检查点 142
5.8.2 检查点实施之一:contentcheck定义 144
5.8.3 检查点实施之二:检查函数 144
5.8.4 检查点设置技巧 147
5.9 高级——多action 147
5.10 高级——脚本错误处理机制 150
5.11 高级——脚本调试技巧 152
5.11.1 动态运行(animated run)与非动态运行(non-animated run) 152
5.11.2 日志设置 153
5.12 高级——编写脚本的最佳实践 156
5.13 vu脚本运行成功后 157
第6章 controller——性能测试的指挥中心 158
6.1 得到细化后的性能需求 159
6.2 设计性能测试场景 162
6.2.1 创建手工场景 164
6.2.2 百分比模式创建手工场景 173
6.2.3 创建面向目标场景 174
6.2.4 多ip的实现原理以及模拟 180
6.3 运行场景 183
6.3.1 场景控制 183
6.3.2 执行期间查看场景 191
6.3.3 监视场景 196
6.3.4 高级——用户自定义数据采集点 201
6.3.5 主要的计数器 203
6.3.6 实例——分析实时监视图表 211
6.4 场景运行后 213
6.5 高级——如何合理规划性能测试拓扑 213
6.5.1 选择最优的测试机配置 215
6.5.2 客户端cpu瓶颈估算 216
6.5.3 客户端网络瓶颈估算 217
6.5.4 客户端内存瓶颈估算 219
6.5.5 总评估 221
第7章 analysis——寻找系统瓶颈的得力助手 222
7.1 analysis报告概要(summary) 223
7.1.1 概要部分 223
7.1.2 统计部分 224
7.1.3 事务统计 225
7.1.4 http响应统计 227
7.2 analysis标准图 227
7.2.1 vuser图 227
7.2.2 事务图 228
7.2.3 网页细分图 230
7.3 交叉结果和合并图 233
7.3.1 叠加 235
7.3.2 平铺 236
7.3.3 关联 236
7.4 生成测试报告 237
7.4.1 创建html格式报告 237
7.4.2 创建word格式报告 238
7.4.3 高级——数据点报告 239
第8章 欲善其事先利其器——vu脚本开发实战 240
8.1 邮件服务smtp/imap协议介绍 241
8.1.1 电子邮件的工作原理 241
8.1.2 smtp协议介绍 241
8.1.3 pop3协议介绍 243
8.1.4 imap协议介绍 244
8.2 vu的smtp vuser对smtp协议的封装及实现 244
8.2.1 使用smtp vuser录制outlook 2003发送邮件 247
8.2.2 对smtp vuser录制生成的脚本进行分析 251
8.2.3 回放smtp vuser脚本并分析网络日志 253
8.3 vu java vuser自开发smtp程序 255
8.3.1 vu创建java模板虚拟用户 255
8.3.2 设置java环境 257
8.3.3 在java vuser中开发smtp发送mail脚本 258
8.3.4 参数化增强脚本 260
第9章 学以致用——一步一步做web系统性能测试 264
9.1 软件系统背景及架构设计介绍 264
9.2 性能要求和性能指标分析(goal阶段) 267
9.2.1 性能指标 267
9.2.2 业务模型分析和需求细化 268
9.3 性能测试方案和用例设计(analysis阶段) 268
9.4 性能测试各种度量的建立(metrics阶段) 273
9.4.1 性能脚本的生成 273
9.4.2 定义用户行为 274
9.4.3 场景的设置与运行 274
9.4.4 计数器的设置与性能数据收集 276
9.5 运行场景,得到测试结果和相关数据(execution阶段) 277
9.5.1 脚本的开发 277
9.5.2 数据的生成 278
9.5.3 并发登录测试 279
9.5.4 负载测试 279
9.6 分析测试瓶颈(adjust阶段) 280
9.6.1 并发测试结果分析 280
9.6.2 交易流程测试结果分析及性能评价 281
9.6.3 查询流程测试结果分析 281
第10章 循序渐进——进阶loadrunner高手 282
10.1 性能测试用例的设计策略 282
10.1.1 “普遍撒网,重点查看”的原则 282
10.1.2 保证数据的有效性 284
10.2 loadrunner高级功能的使用——web click vuser 286
10.2.1 web click vuser的产生背景 286
10.2.2 web click vuser与传统vuser的差别 286
10.2.3 使用web click vuser 286
第11章 定量分析及诊断——建立性能度量模型 291
11.1 实现性能度量的准备工作 292
11.1.1 性能度量 292
11.1.2 度量方式 294
11.2 案例实践——性能测试第一阶段ajax页面基准性能分析 298
11.2.1 页面基准分析目标 298
11.2.2 分析所使用的工具 299
11.2.3 术语揭示 299
11.2.4 基准测试案例设计及运行 300
11.2.5 结果分析 305
11.2.6 优化建议 306
11.2.7 预测 306
11.3 案例实践:性能测试第二阶段ajax系统负载测试 307
11.3.1 本轮测试目的 307
11.3.2 测试场景规划 307
11.3.3 负载测试案例分析 309
11.3.4 性能结果量化分析 312
11.4 总结 315
第12章 测试也开发——自开发性能测试框架 316
12.1 性能测试框架架构设计 317
12.1.1 技术考虑的准备 317
12.1.2 automation center性能测试框架设计实例 319
12.1.3 定义xml格式的性能测试任务文件 325
12.1.4 automation center性能测试调度运行 329
12.1.5 性能测试报告诊断系统 330
12.2 核心技术及具体实现方法 332
12.2.1 性能测试数据源格式定义 332
12.2.2 测试程序与性能测试框架的接口实现 336
12.2.3 测试任务克隆技术 339
12.2.4 多任务通信技术 340
12.2.5 observer性能监控技术 341
12.2.6 基于xsl技术的性能测试报告构建 344
12.3 总结 346
附录a 有关loadrunner的常见问题解答 347
· · · · · · (
收起)