目录
第1章 为什么要做性能测试 1
1.1 从终端用户角度看性能 1
1.1.1 性能度量 2
1.1.2 性能标准 3
1.1.3 万维网与电子商务 4
1.2 为什么性能问题如此常见 5
1.2.1 IT商业价值曲线 5
1.2.2 性能测试成熟度 6
1.2.3 在应用设计阶段缺少性能考虑 7
1.2.4 最后一刻才想起性能测试 7
1.2.5 可扩展性 7
1.2.6 低估受欢迎程度 8
1.2.7 性能测试还是一门非正式学科 9
1.2.8 没有使用自动化测试工具 9
1.2.9 应用技术的影响 10
1.3 小结 10
第2章 选择合适的性能测试工具 11
2.1 性能测试工具架构 12
2.2 如何选择性能测试工具 13
2.3 性能测试工具集:概念验证 16
2.4 小结 19
第3章 有效性能测试的基础 20
3.1 确保应用一切就绪 22
3.2 为性能测试预留足够的时间 23
3.3 冻结代码变更 24
3.4 设计性能测试环境 25
3.4.1 虚拟化 26
3.4.2 云计算 27
3.4.3 施压能力 29
3.4.4 网络部署模型的影响 31
3.4.5 环境确认表 32
3.4.6 软件安装 33
3.5 设定合理的性能目标 33
3.5.1 达成一致 34
3.5.2 性能目标定义 35
3.5.3 可用性 36
3.5.4 并发 36
3.5.5 吞吐率 37
3.5.6 响应时间 38
3.5.7 网络利用率 39
3.5.8 服务器利用率 40
3.6 梳理关键业务用例和编写脚本 41
3.6.1 用例检查表 41
3.6.2 用例回放和验证 42
3.6.3 度量目标 43
3.6.4 登录还是不登录 44
3.6.5 共存系统问题 44
3.7 准备测试数据 44
3.7.1 输入数据 45
3.7.2 目标数据 45
3.7.3 会话数据 46
3.7.4 数据安全 46
3.8 精确的设计性能测试 47
3.8.1 性能测试的基本类型 47
3.8.2 负载模型 49
3.8.3 思考时间 51
3.8.4 步调时间 51
3.9 确定关键性能指标 56
3.9.1 服务器指标 56
3.9.2 网络指标 59
3.9.3 应用服务器指标 60
3.10 小结 61
第4章 性能测试流程 62
4.1 性能测试步骤时间指南 62
4.2 性能测试流程 64
4.2.1 步骤1:获取非功能需求 64
4.2.2 步骤2:构建性能测试环境 67
4.2.3 步骤3:编写性能测试脚本 68
4.2.4 步骤4:构建性能测试场景 69
4.2.5 步骤5:执行性能测试和分析 70
4.2.6 步骤6:测试结果分析和报告 71
4.3 案例1:在线银行 72
4.3.1 应用部署架构 72
4.3.2 应用用户 73
4.3.3 步骤1:获取非功能需求 74
4.3.4 步骤2:搭建性能测试环境 74
4.3.5 步骤3:编写性能测试脚本 75
4.3.6 步骤4:构建性能测试场景 76
4.3.7 步骤5:执行性能测试 77
4.3.8 在线银行案例回顾 77
4.4 案例2:呼叫中心 79
4.4.1 应用部署架构 79
4.4.2 应用用户 80
4.4.3 步骤1:获取非功能需求 80
4.4.4 步骤2:搭建性能测试环境 82
4.4.5 步骤3:编写性能测试脚本 82
4.4.6 步骤4:构建性能测试场景 83
4.4.7 步骤5:执行性能测试 83
4.4.8 呼叫中心案例回顾 83
4.5 小结 85
第5章 性能测试结果解读 86
5.1 分析流程 87
5.1.1 实时分析 87
5.1.2 事后分析 88
5.2 性能测试输出数据的类型 88
5.2.1 统计学基础 88
5.2.2 响应时间的衡量 90
5.2.3 吞吐率和容量 93
5.2.4 监控关键性能指标 95
5.2.5 服务器关键性能指标 97
5.2.6 网络关键性能指标 97
5.2.7 施压机性能 98
5.3 根源分析 99
5.3.1 可扩展性和响应时间 99
5.3.2 继续挖深 101
5.3.3 深入应用服务器内部 102
5.3.4 寻找性能拐点 103
5.3.5 处理错误 104
5.3.6 建立基线 105
5.4 分析检查表 105
5.4.1 测试前的工作 105
5.4.2 测试中的工作 106
5