目录
第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脚本运行成功
1