《捉虫记 大容量Web应用性能测试与LoadRunner实战》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:施迎著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302222316
  • 页数:395 页
图书介绍:本书共17章,分为5篇。第1篇介绍软件测试的定义、方法和过程等内容;第2篇介绍Web应用、Web性能测试的分类、基本硬件知识、Web应用服务器选型等内容;第3篇介绍如何使用LoadRunner进行Web应用性能测试;第4篇介绍通用性能测试结果分析及其他性能测试工具;第5篇介绍大容量Web应用性能测试实战案例及Web性能优化等内容。

第1篇 Web测试背景知识 2

第1章 什么是软件测试(教学视频:26分钟) 2

1.1 软件开发的基本知识 2

1.1.1 软件开发公司技术部门的基本结构 2

1.1.2 软件危机 3

1.1.3 软件危机的几个体现 4

1.1.4 软件生命周期 4

1.1.5 常见的软件生命周期模型 5

1.1.6 直接冲过河去的大爆炸模型 5

1.1.7 摸着石头过河的边做边改模型 6

1.1.8 制定周密过河计划的瀑布模型 6

1.1.9 计划赶得上变化的螺旋模型 7

1.1.10 4种模型的总结 7

1.1.11 软件开发的几个阶段 8

1.1.12 软件发布的方式 8

1.1.13 项目管理与甘特图 9

1.2 关于虫子的故事 10

1.2.1 虫子的来世今生 10

1.2.2 软件Bug的5个要素 10

1.2.3 发现虫子的危害 12

1.3 软件测试的定义与分类 13

1.3.1 软件测试的定义 13

1.3.2 软件测试工程师的工作内容 13

1.3.3 软件测试的分类 13

1.4 软件测试的核心Ⅰ:测试用例 14

1.4.1 什么是测试用例 14

1.4.2 测试用例的几大要素 14

1.5 软件测试的核心Ⅱ:测试工程师 16

1.5.1 测试工程师与软件质量保障 16

1.5.2 测试工程师应该具备的素质 17

1.5.3 测试工程师的职业发展 17

1.6 本章小结 18

第2章 测试方法与过程(教学视频:14分钟) 19

2.1 测试的主要方法与分类 19

2.1.1 白与黑 19

2.1.2 黑盒与白盒测试的比较 20

2.1.3 黑盒测试方法简介 21

2.2 等价类划分方法 22

2.2.1 什么是等价类划分 22

2.2.2 等价类划分的标准 23

2.2.3 划分等价类的方法 23

2.2.4 利用等价类划分设计测试用例 24

2.3 边界值分析法 24

2.3.1 边界值分析法的数据选取原则 24

2.3.2 根据边界值分析法设计测试用例的原则 25

2.4 判定表方法 25

2.4.1 判定表生成测试用例的5个步骤 26

2.4.2 判定表的结构 26

2.4.3 判定表的建立步骤 26

2.5 其他黑盒测试方法 27

2.6 测试分类简介Ⅰ:性能与代码覆盖 27

2.6.1 性能测试与压力测试 27

2.6.2 行路难:代码覆盖 28

2.7 测试分类简介Ⅱ:本地化与国际化 29

2.7.1 国际化与i18n 29

2.7.2 本地化与Localization 30

2.7.3 国际化测试与本地化测试的区别 31

2.7.4 国际化、本地化测试的具体内容 31

2.7.5 国际化、本地化测试的简要步骤 31

2.8 各种测试简介Ⅲ:回归、人工与自动测试 32

2.8.1 回归测试 32

2.8.2 人工测试与自动测试 32

2.9 测试过程:有关项目和里程碑 33

2.9.1 测试贯穿整个项目流程 33

2.9.2 什么是里程碑 34

2.9.3 Project软件中的里程碑 35

2.10 项目管理中的ISO 9000与CMM 35

2.10.1 ISO 9000标隹 35

2.10.2 CMM标准 36

2.10.3 CMM的一些基本概念 36

2.10.4 CMM的五级成熟度 37

2.10.5 CMM五级成熟度分级别详解 37

2.11 软件测试中的维恩图 39

2.11.1 维恩图简介 39

2.11.2 软件测试中的维恩图详解 40

2.12 两组容易混淆的测试用语 41

2.12.1 精确性与准确性 41

2.12.2 验证合格与确认可用 42

2.13 本章小结 42

第3章 Web应用与Web测试(教学视频:15分钟) 43

3.1 Web应用的基本知识 43

3.1.1 什么是服务 43

3.1.2 服务的场所 44

3.1.3 创建服务场所——建立网站 45

3.1.4 网站文件的上传 46

3.1.5 开启网页发布服务 48

3.1.6 用户浏览网站的过程 49

3.1.7 协议 50

3.1.8 前台页面与后台数据库 51

3.2 Web开发技术简介 52

3.2.1 Java简史 52

3.2.2 Java语言的特点 53

3.2.3 .NET平台的Web开发技术 54

3.2.4 基于PHP的Web开发技术 55

3.2.5 AJAX开发技术 57

3.3 Web功能测试的特点与方法 57

3.3.1 网页测试的组成部分 58

3.3.2 链接测试及其要点 59

3.3.3 链接测试工具Sleuth 60

3.3.4 孤儿网页 62

3.3.5 表单测试及其要点 62

3.3.6 客户端表单信息的验证、收集和提交 63

3.3.7 服务器端用户信息的保存过程 63

3.3.8 服务器端提示信息的返回 64

3.3.9 网页内容测试 64

3.3.10 网页用户界面测试 65

3.3.11 浏览器交互测试 66

3.4 其他Web功能测试 67

3.4.1 Cookie测试 67

3.4.2 Web Service测试 68

3.4.3 Web功能测试的一般原则 68

3.5 兼容性测试与安全测试 68

3.5.1 兼容性测试 69

3.5.2 平台测试要点 69

3.5.3 浏览器测试要点 70

3.5.4 显示设置测试要点 70

3.5.5 网络连接测试 71

3.5.6 打印测试 71

3.5.7 安全测试 71

3.6 本章小结 72

第2篇 Web性能测试入门 76

第4章 起点:Web性能测试概述(教学视频:11分钟) 76

4.1 Web性能的背景知识 76

4.1.1 什么是Web性能 77

4.1.2 Web性能的影响 78

4.1.3 Web性能测试在网站开发中的位置 81

4.1.4 Web性能测试的目的 82

4.2 影响Web性能的重要硬件Ⅰ:CPU 82

4.2.1 中央处理器(CPU)简介 82

4.2.2 CPU-Z简介 83

4.2.3 CPU-Z的使用方法 83

4.3 影响Web性能的重要硬件Ⅱ:硬盘 86

4.3.1 硬盘的类型 87

4.3.2 硬盘的转速 87

4.3.3 硬盘缓存 88

4.3.4 操作系统中的硬盘写入缓存 88

4.3.5 HD-Tach的下载、安装与使用 90

4.3.6 Web应用对硬盘消耗的特点 91

4.3.7 Baseline和Benchmark 91

4.4 本章小结 92

第5章 Web性能测试方法(教学视频:19分钟) 93

5.1 Web性能测试的目的与方法 93

5.1.1 Web性能测试的目的 93

5.1.2 Web性能测试方法的先决条件 93

5.1.3 Web性能测试的详细分类 94

5.1.4 性能测试(Performance Testing) 94

5.1.5 小白的第一次性能测试 95

5.1.6 小白的思考 96

5.1.7 压力测试(Stress Testing) 97

5.1.8 负载测试(Stress Testing)简介 98

5.1.9 负载测试的特点 98

5.1.10 并发测试(Concurrency Testing)简介 99

5.1.11 并发测试所关注的性能问题 100

5.1.12 并发测试的特点与工具 101

5.1.13 配置测试(Configuration Testing) 101

5.1.14 耐久度测试(Endurance Testing) 102

5.1.15 可靠性测试(Reliability Testing) 104

5.1.16 尖峰冲击测试(Spike Testing) 104

5.1.17 失败恢复测试(FailOver Testing) 105

5.2 Web性能测试方法的比较与共性 107

5.2.1 各种Web性能测试方法的比较 107

5.2.2 各种Web性能测试方法的相同点 108

5.3 本章小结 108

第6章 性能测试计数器(教学视频:23分钟) 110

6.1 性能计数器简介 111

6.2 Windows系统下的性能计数器 111

6.2.1 Windows系统下性能计数器数值的直观获得 111

6.2.2 Windows系统下性能监视器的使用 112

6.2.3 编程获得Windows系统下性能计数器的方法 117

6.2.4 Windows系统下常见的性能计数器的含义 119

6.3 Mac OS X系统的性能计数器 121

6.3.1 Mac OS X系统下性能计数器的直观获得 121

6.3.2 Mac OS X性能分析专业工具 122

6.4 Linux(Unix)系统的性能计数器 123

6.4.1 Linux系统下性能计数器的直观获得 123

6.4.2 vmstat命令详解 124

6.4.3 top命令以及其他工具包 125

6.4.4 Linux(Unix)系统下性能计数器的含义 126

6.5 内存性能分析 127

6.5.1 内存泄露及判断 127

6.5.2 内存瓶颈简介 128

6.5.3 页面和虚拟内存 129

6.5.4 软、硬页面错误 130

6.5.5 发现内存瓶颈 131

6.5.6 发现程序使用内存的问题 131

6.6 CPU性能分析 132

6.6.1 重要的CPU性能计数器 133

6.6.2 有关多CPU与多核CPU的性能计数器 134

6.7 磁盘性能分析 135

6.7.1 磁盘性能相关计数器 136

6.7.2 与其他性能对象的综合考虑 136

6.8 网络性能分析 137

6.9 应用服务器性能简要分析 137

6.9.1 IIS应用服务器性能分析 137

6.9.2 IIS相关性能计数器 138

6.9.3 Weblogic性能信息的直观获得 139

6.9.4 Weblogic相关性能计数器说明 139

6.10 数据库性能简要分析 140

6.10.1 业内常见的数据库产品 141

6.10.2 数据库性能问题对应的性能计数器 141

6.11 本章小结 142

第3篇 使用LoadRunner进行Web应用性能测试第7章 LoadRunner的基本使用(教学视频:59分钟) 144

7.1 测试工具软件的选择 144

7.1.1 自行编写与购买测试工具的比较 144

7.1.2 常用的性能测试工具软件 146

7.1.3 性能测试工具软件的评估 147

7.1.4 小白的最终选择 148

7.2 LoadRunner的下载与安装 148

7.2.1 LoadRunner的下载 148

7.2.2 LoadRunner的安装 149

7.3 LoadRunner入门 150

7.3.1 LoadRunner的导航窗口 151

7.3.2 Virual User Generator虚拟用户生成器 152

7.3.3 创建VuGen脚本Ⅰ:录制过程 154

7.3.4 创建VuGen脚本Ⅱ:强化脚本 158

7.3.5 创建VuGen脚本Ⅲ:准备工作负荷 158

7.3.6 创建VuGen脚本Ⅳ:完成阶段 161

7.3.7 创建VuGen脚本Ⅴ:利用示例站点录制一个脚本 162

7.3.8 创建VuGen脚本Ⅵ:录制脚本失败原因分析与会话 168

7.3.9 创建VuGen脚本Ⅶ:利用关联解决脚本播放失败 169

7.3.10 创建VuGen脚本Ⅷ:利用其他Web协议进行录制简介 173

7.3.11 LoadRunner进行性能测试的简要步骤 175

7.4 本章小结 175

第8章 编写测试计划(教学视频:11分钟) 177

8.1 了解被测试Web应用的结构 177

8.1.1 逻辑结构 178

8.1.2 物理结构 179

8.1.3 系统结构 179

8.2 确认业务流程 180

8.2.1 业务流程对性能测试的影响 180

8.2.2 了解Web应用的功能模块 181

8.2.3 确定用户经常使用的功能 182

8.2.4 用户登录部分与验证码 182

8.2.5 商品展示部分 183

8.2.6 用户订单部分 183

8.2.7 事务与网上支付 183

8.2.8 社区内容部分 185

8.2.9 后台管理部分 185

8.2.10 业务流程中有关性能测试的难点 185

8.2.11 业务性能分析文档 185

8.3 性能测试标准的确定 186

8.3.1 确定性能测试目标 187

8.3.2 确定性能测试标准 187

8.3.3 常见的Web应用性能测试指标 188

8.3.4 性能测试标准范例 188

8.4 编写性能测试计划 189

8.4.1 性能测试人员组成 189

8.4.2 性能测试工具的选择 189

8.4.3 性能测试进度安排 190

8.4.4 性能测试计划模板 191

8.5 本章小结 192

第9章 配置测试环境(教学视频:22分钟) 193

9.1 测试环境 193

9.1.1 准备测试环境的益处 193

9.1.2 准备测试环境的原则 195

9.2 虚拟化在准备测试环境中的应用 195

9.2.1 虚拟化技术 196

9.2.2 常见的虚拟化软件 197

9.2.3 虚拟化软件在软件测试中的应用 197

9.3 VirtualBox实战 197

9.3.1 VirtualBox简介与安装 198

9.3.2 VirtualBox管理菜单介绍 199

9.3.3 利用VirtualBox设置虚拟电脑配置 201

9.3.4 安装VirtualBox中的增强功能 208

9.3.5 与宿主电脑共享文件 208

9.3.6 利用VirtualBox组建网络 211

9.3.7 VirtualBox中的状态备份 213

9.3.8 使用VirtualBox搭建测试环境 215

9.4 本章小结 215

第10章 LoadRunner中的场景(教学视频:48分钟) 216

10.1 场景的创建 216

10.1.1 场景创建设置对话框 217

10.1.2 场景的分类 218

10.1.3 面向目标场景的创建 218

10.1.4 场景目标的编辑 219

10.1.5 手动场景的设置 221

10.1.6 压力产生器 223

10.1.7 用户组的增加与修改删除 226

10.1.8 运行时设置(RTS) 227

10.1.9 场景详细信息设置(Details按钮) 228

10.2 集合点 228

10.2.1 集合点的设置步骤 229

10.2.2 在脚本中加入集合点 229

10.2.3 在场景中配置集合点 230

10.3 场景的执行计划 233

10.3.1 熟悉设置场景运行计划界面 233

10.3.2 设置场景开始运行的时间 233

10.3.3 设置场景执行的方式 234

10.3.4 修改场景操作的具体属性 234

10.3.5 图形方式设置手动场景的运行计划 236

10.4 控制器的全局设置 237

10.4.1 超时设置(Timeout) 237

10.4.2 运行时设置(Run-Time Settings) 237

10.4.3 运行时文件存储位置(Run-Time File Storage) 238

10.4.4 路径翻译表(Path translation table) 238

10.4.5 监视器(Monitors) 239

10.5 本章小结 240

第11章 运行前准备:监控图表与函数(教学视频:15分钟) 241

11.1 监控图表与配置 241

11.1.1 监控与图表 241

11.1.2 对运行状况、交易状况进行监控 243

11.1.3 对系统与网络资源进行监控 244

11.1.4 对防火墙、网络服务器进行监控 246

11.1.5 对中间件进行监控 248

11.1.6 对数据库进行监控 249

11.1.7 监控图表的常见操作技巧 250

11.2 LoadRunner中的函数 252

11.2.1 LoadRunner函数的简单理解 252

11.2.2 在脚本中应用函数 252

11.2.3 Web应用常见函数列表 254

11.2.4 学习使用LoadRunner函数的方法 254

11.3 本章小结 255

第12章 执行场景(教学视频:36分钟) 257

12.1 LoadRunner性能测试的执行 257

12.1.1 执行性能测试 257

12.1.2 场景执行时的控制器 258

12.1.3 场景执行过程中的状态信息 259

12.1.4 场景执行完毕 261

12.2 服务质量协议(SLA) 262

12.2.1 添加服务质量协议(SLA) 262

12.2.2 选择时间决定的SLA 263

12.2.3 选择运行决定的SLA 265

12.2.4 利用高级按钮设置时间间隔 267

12.3 解读测试分析概要 267

12.3.1 测试分析概要界面 268

12.3.2 统计概要 268

12.3.3 场景执行过程信息表 269

12.3.4 对事务进行SLA相关分析 270

12.3.5 分析SLA 271

12.3.6 事务概要 272

12.3.7 HTTP响应概要 274

12.4 本章小结 276

第13章 分析结果(教学视频:43分钟) 277

13.1 分析器简介 277

13.1.1 分析器界面的几大部分 277

13.1.2 在分析器中修改场景属性 278

13.1.3 定义测试报告格式 279

13.1.4 分析器导出数据 281

13.1.5 分析器数据存放位置 282

13.1.6 与其他工具软件协同 282

13.1.7 分析器的全局设置(Options) 283

13.2 利用图表分析性能 284

13.2.1 添加更多图表 284

13.2.2 虚拟用户图(VUser图) 285

13.2.3 细化图表数据:过滤/分组 287

13.2.4 细化图表数据:下钻 288

13.2.5 细化图表数据:取消过滤/分组/下钻设置 289

13.2.6 辅助图表工具:设置粒度 289

13.2.7 图表辅助工具:显示光标 291

13.2.8 事务图(Transaction图) 292

13.2.9 平均事务响应时间图 292

13.2.10 利用合并图进行图表的联合分析 297

13.2.11 利用交叉结果图进行多场景的横向分析 300

13.2.12 网络资源图(Web Resources图) 302

13.2.13 网页调试图(Web Page Diagnostic图) 304

13.3 本章小结 308

第4篇 Web性能测试提高篇 312

第14章 通用性能测试结果分析(教学视频:20分钟) 312

14.1 性能测试结果的可靠性 312

14.1.1 原始数据 313

14.1.2 平均值 313

14.1.3 中值 314

14.1.4 正常值 314

14.1.5 标准偏差 315

14.1.6 正态分布 317

14.1.7 一致分布 317

14.1.8 置信度与置信区间 318

14.1.9 数据可靠性判断的规则 319

14.2 性能测试结果分析方法 319

14.2.1 判断影响性能的因素 320

14.2.2 隔离与对比 320

14.2.3 详实记录中间结论 321

14.3 性能测试报告编写技巧 321

14.3.1 什么是好的性能测试报告 321

14.3.2 提交报告时机 322

14.3.3 与测试主管的讨论 322

14.3.4 有效总结测试数据 323

14.3.5 测试报告与图表的结合 323

14.3.6 在Excel中为数据生成图 323

14.4 本章小结 328

第15章 更多的性能测试工具(教学视频:17分钟) 329

15.1 更多性能测试工具简介 330

15.1.1 性能测试工具的分类 330

15.1.2 企业级性能测试工具简介 330

15.1.3 轻量级测试工具的优点 331

15.2 WAS的使用简介 331

15.2.1 WAS的安装与启动 331

15.2.2 录制脚本 332

15.2.3 执行测试 333

15.2.4 分析结果 335

15.3 Visual Studio 2008中的性能测试工具简介 336

15.3.1 性能测试流程 337

15.3.2 调用树与热路径 341

15.3.3 测试实例 341

15.4 本章小结 343

第5篇 Web性能测试实成 346

第16章 大容量Web应用性能测试实例(教学视频:6分钟) 346

16.1 Web应用背景 346

16.2 性能测试设计 347

16.2.1 人员与计划 347

16.2.2 测试环境的准备 349

16.2.3 测试场景的设计 351

16.2.4 测试脚本的录制 352

16.2.5 测试监控设置 356

16.3 执行性能测试 357

16.4 测试结果与分析 358

16.4.1 发现服务器问题 358

16.4.2 发现网络问题 360

16.4.3 发现软件代码问题 361

16.5 测试报告的生成 362

16.6 本章小结 362

第17章 Web性能优化(教学视频:4分钟) 364

17.1 Web应用代码的优化 364

17.1.1 ASP.NET页面的优化原则 364

17.1.2 节约原则与ViewState 364

17.1.3 服务器控件的优化选择 366

17.1.4 恰当原则与Session 366

17.1.5 Page.IsPostBack的运用 367

17.1.6 合理使用DataGrid控件 367

17.1.7 合理进行字符串操作 368

17.1.8 缓冲原则 368

17.1.9 CLRProfiler的安装与基本操作 370

17.1.10 CLRProfiler分析内存分配问题 374

17.2 对应用服务器配置进行优化 376

17.2.1 启用IIS压缩 376

17.2.2 IIS压缩比的选择 378

17.2.3 IIS 7压缩的进一步完善 379

17.2.4 其他IIS性能优化措施 380

17.3 对数据库进行优化 382

17.3.1 查询语句的优化 383

17.3.2 查看SQL语句执行计划与数据库当前事件 385

17.3.3 提高存储过程与自定义函数性能 387

17.3.4 数据库的硬件配置优化 388

17.4 结束语 392

附录A 主要性能测试工具下载网址 393

附录B 部分性能测试网站列表 395