精通软件性能测试与LoadRunner最佳实战

978-7-115-31533-5
作者: 于涌 王磊 曹向志 高楼 于跃
译者:
编辑: 张涛

图书目录:

目 录

第 1章 软件测试概述 1

1.1 软件测试基础 2

1.2 软件相关概念解析 3

1.3 软件测试的定义 4

1.4 软件测试的分类 5

1.4.1 黑盒测试、白盒测试与灰盒测试 5

1.4.2 静态测试与动态测试 7

1.4.3 单元测试、集成测试、系统测试与验收测试 9

1.4.4 其他测试 14

1.5 软件开发与软件测试的关系 16

1.5.1 常见的几种软件开发模式 16

1.5.2 测试与开发各阶段的关系 19

1.5.3 测试的经济学观念 20

1.6 软件测试流程 20

1.6.1 测试计划 21

1.6.2 测试设计 22

1.6.3 测试执行 31

1.6.4 测试总结 34

1.7 测试自动化的意义 41

第 2章 性能测试过程概述 43

2.1 性能测试的基本过程 44

2.2 性能测试需求分析 45

2.3 性能测试计划 45

2.4 性能测试用例 46

2.5 测试脚本编写 48

2.6 测试场景设计 49

2.7 测试场景运行 50

2.8 场景运行监控 51

2.9 运行结果分析 51

2.10 系统性能调优 52

2.11 性能测试总结 53

第3章 性能测试与LoadRunner相关概念 55

3.1 性能测试的基本概念 56

3.1.1 典型的性能测试场景 56

3.1.2 性能测试的概念及其分类 56

3.1.3 性能测试工具的引入 57

3.2 LoadRunner及样例程序安装过程 57

3.2.1 Windows版本的安装过程 58

3.2.2 许可协议的应用 60

3.2.3 工具样例程序的安装过程 61

3.3 运行机制和主要组成部分 62

3.4 LoadRunner相关概念解析 63

3.4.1 集合点 63

3.4.2 事务 65

3.4.3 检查点 66

3.4.4 思考时间 68

第4章 应用LoadRunner进行性能测试示例 71

4.1 实例讲解脚本的录制、场景设计、结果分析过程 72

4.1.1 LoadRunner测试过程模型 72

4.1.2 实例讲解Web应用程序的应用 72

4.1.3 脚本处理部分 73

4.1.4 负载处理部分 84

4.1.5 系统性能改进意见 89

第5章 脚本语言编写基础 91

5.1 认识LoadRunner脚本语言 92

5.2 C语言基础 93

5.2.1 数据类型 93

5.2.2 C语言语句分类 99

5.2.3 基础知识 108

5.3 关联的应用 137

5.3.1 什么是关联 137

5.3.2 如何做关联 138

5.3.3 关联函数详解 143

5.3.4 实例讲解简单关联的应用 145

5.3.5 实例讲解较复杂关联的应用 147

5.4 动态链接库函数的调用 151

5.5 特殊函数应用注意事项 152

5.6 自定义函数应用 156

5.6.1 自定义函数仅应用于本脚本的实例 156

5.6.2 自定义函数的复用实例 158

5.7 IP欺骗的应用 159

第6章 深度解析LoadRunner 11.0功能应用 163

6.1 VuGen应用介绍 164

6.2 协议的选择 164

6.2.1 Vuser类型 165

6.2.2 协议选择 167

6.3 脚本的创建过程 171

6.3.1 协议理解的误区 173

6.3.2 B/S架构应用程序脚本的实例应用 173

6.3.3 C/S架构应用程序脚本的实例应用 177

6.4 脚本的参数化 182

6.4.1 参数化的方法及其技巧 183

6.4.2 数据分配方法 184

6.4.3 数据更新方式 185

6.4.4 实例讲解数据分配和数据更新方式的应用 186

6.4.5 详解表数据参数类型 186

6.4.6 内部数据参数类型 188

6.5 调试技术 191

6.5.1 断点设置 191

6.5.2 单步跟踪 192

6.5.3 日志输出 192

6.6 Controller应用介绍 193

6.7 场景设置描述 194

6.7.1 面向目标的场景设计 195

6.7.2 基于手动的场景设计 198

6.8 负载生成器 214

6.9 IP Wizard的应用 218

6.10 负载选项设置详解 221

6.11 性能指标监控 223

6.12 Analysis应用介绍 228

6.13 结果目录文件结构 229

6.14 Analysis Summary分析 230

6.15 关于事务相关信息部分内容 231

6.15.1 关于分析概要事务相关信息问题提出 231

6.15.2 关于结果概要事务相关信息问题分析 231

6.15.3 关于结果概要事务脚本设计及其相关设置 232

6.15.4 如何解决结果概要信息不计入思考时间问题 234

6.15.5 如何知道每个虚拟用户负载时的取值 235

6.15.6 如何将数据导出到Excel文件中 239

6.15.7 如何对导出的数据进行筛选 240

6.15.8 如何对结果数据进行有效的分析 241

6.16 关于吞吐量相关信息部分内容 244

6.16.1 关于概要分析吞吐量等相关信息问题提出 244

6.16.2 关于概要分析吞吐量等相关信息问题分析 245

6.16.3 关于概要分析吞吐量等相关内容设计与实现 246

6.17 执行结果分析过程 248

6.17.1 合并图的应用 250

6.17.2 合并图的3种方式 250

6.17.3 自动关联的应用 251

6.17.4 交叉结果的应用 253

6.17.5 性能测试模型 254

6.17.6 性能瓶颈定位——拐点分析法 255

6.17.7 分析相关选项设置讲解 256

6.18 主要图表分析 258

6.18.1 虚拟用户相关图表 258

6.18.2 事务相关图表 259

6.18.3 错误相关图表 263

6.18.4 Web资源相关图表 265

6.18.5 网页诊断相关图表 272

6.18.6 系统资源相关图表 278

第7章 LoadRunner常见问题解答 283

7.1 如何突破参数的百条显示限制 284

7.2 如何突破Controller可用脚本50条限制 285

7.3 如何解决数据库查询结果过大导致录制失败 286

7.4 如何调整经常用到的相关协议脚本模板 286

7.5 如何将Connect()中的密文改为明文 288

7.6 如何添加并运用附加变量 289

7.7 如何解决脚本中的乱码问题 291

7.8 如何在录制时加入自定义标头 293

7.9 线程和进程运行方式有何不同 294

7.10 如何实现脚本分步录制 297

7.11 如何在脚本中应用常量和数组 297

7.12 VuGen中支持哪些步骤类型 299

7.13 如何处理ASP.NET中的ViewState 299

7.14 如何理解Return的返回值 304

7.15 如何解决负载均衡将压力作用到一台机器 305

7.16 如何对Apache服务器上的资源使用情况进行监控 307

7.17 如何在脚本中加入DOS命令 308

7.18 如何下载并保存文件到本地 308

7.19 如何理解常用图表的含义 311

7.20 基于目标和手动场景测试有何联系和不同 313

7.21 如何在命令行下启动Controller 316

7.22 如何解决由于设置引起的运行失败问题 316

7.23 如何实现对服务器系统资源的监控 317

7.24 如何实现对数据服务器的监控 322

7.25 如何实现对Web应用程序服务器资源监控 324

7.26 如何在Analysis图表中添加分析注释 326

7.27 如何确定登录达到响应时间为3秒的指标 329

7.28 如何使用自动关联对测试结果进行分析 331

7.29 如何根据分析结果判断性能有所改善 332

7.30 如何对图表进行合并,定位系统瓶颈 334

7.31 如何应用Java Vuser验证算法的执行效率 335

7.32 如何用程序控制网站的访问次数 339

7.33 几种不同超时的处理方法 343

7.34 如何才能将日期类型数据参数化到脚本中 344

7.35 如何自定义请求,并判断返回数据的正确性 348

7.36 LoadRunner如何运行WinRunner脚本 350

7.37 LoadRunner如何利用已有文本数据 353

7.38 如何能够产生样例程序的Session 355

7.39 如何能够实现Ping IP的功能 357

7.40 如何在Vugen中自定义工具条按钮 358

7.41 如何在Vugen中Tools菜单中添加菜单项 360

7.42 如何在Vugen中给菜单项定义快捷键 361

7.43 为什么结果导出时会出现异常 362

7.44 如何增大网页细分图显示的URLS长度 362

7.45 如何设置登录的用户名和口令 363

7.46 如何在执行迭代时退出脚本 365

7.47 如何使用键盘快捷键 366

7.48 如何手动转换字符串编码 367

7.49 如何理解结果目录文件结构 368

7.50 如何监控Tomcat 369

7.51 如何在UNIX系统下用命令行运行脚本 374

7.52 如何使用C函数进行脚本跟踪 374

7.53 如何知道脚本对应路径下文件含义 375

7.54 如何结合企业特点进行性能测试 387

7.55 如何应用性能测试常用计算公式 389

7.56 如何掌握“拐点”分析方法 392

7.57 如何发现性能测试的规律 392

7.58 如何编写性能测试用例 393

7.59 如何对mysql数据库进行查询操作 396

7.60 为何无法与Load Generator通信 399

第8章 性能监控方法和性能监控工具应用 401

8.1 概述 402

8.2 进程相关指标和监控技术 402

8.2.1 Windows操作系统任务、进程介绍 402

8.2.2 Windows操作系统任务、进程监控技术 402

8.2.3 Windows操作系统任务、进程关闭技术 407

8.2.4 Linux操作系统任务、进程监控技术介绍 410

8.2.5 Linux操作系统进程监控技术 411

8.2.6 Linux操作系统进程终止技术 414

8.3 CPU相关指标和监控技术 416

8.3.1 CPU相关指标监控技术介绍 416

8.3.2 Windows操作系统中CPU相关指标监控技术 417

8.3.3 Linux操作系统中CPU相关指标监控技术 420

8.4 内存相关指标和监控技术 424

8.4.1 内存相关指标监控技术介绍 425

8.4.2 Windows操作系统中内存相关指标监控技术 425

8.4.3 Linux操作系统中内存相关指标监控技术 431

8.5 磁盘I/O相关指标和监控技术 434

8.5.1 磁盘I/O相关指标监控技术介绍 434

8.5.2 Windows操作系统磁盘I/O相关指标监控技术 436

8.5.3 Linux操作系统磁盘I/O相关指标监控技术 445

8.6 Nmon工具 448

8.6.1 Nmon工具介绍 448

8.6.2 Nmon工具使用讲解 448

8.7 Spotlight工具 458

8.7.1 Spotlight工具介绍 458

8.7.2 Spotlight on Oracle 458

8.7.3 Spotlight on Unix 467

第9章 性能测试项目实施过程及文档写作 473

9.1 基于不同用户群的性能测试 474

9.2 验收测试通常提交的成果物 474

9.3 验收测试项目完整实施过程介绍 476

9.4 项目预算和项目立项 476

9.4.1 项目预算和项目立项 476

9.4.2 项目预算相关内容及样表展示 476

9.5 项目准备阶段及验收测试方案编写 477

9.5.1 项目人员入场 477

9.5.2 项目调研 478

9.5.3 验收测试方案 478

9.5.4 验收测试方案索引目录结构 478

9.5.5 验收测试方案的“引言”部分 481

9.5.6 验收测试方案的“系统介绍”部分 482

9.5.7 验收测试方案的“测试目标和标准”部分 483

9.5.8 验收测试方案的“测试需求分析”部分 483

9.5.9 验收测试方案的“测试策略”部分 484

9.5.10 验收测试方案的“项目实施阶段”部分 488

9.5.11 验收测试方案的“测试实施安排”部分 493

9.5.12 验收测试方案的“测试计划”部分 493

9.5.13 验收测试方案的“质量保证”部分 495

9.5.14 验收测试方案的“缺陷管理”部分 499

9.5.15 验收测试方案的“项目沟通”部分 501

9.5.16 验收测试方案的“工作产品”部分 501

9.6 验收测试实施过程及性能测试计划编写 502

9.6.1 性能测试计划 502

9.6.2 性能测试计划索引目录结构 503

9.6.3 性能测试计划的“简介”部分 504

9.6.4 性能测试计划的“测试业务及性能需求”部分 505

9.6.5 性能测试计划的“测试环境”部分 506

9.6.6 性能测试计划的“测试策略”部分 506

9.6.7 性能测试计划的“命名规范”部分 509

9.6.8 性能测试计划的“用例设计”部分 511

9.6.9 性能测试计划的“场景设计”部分 512

9.6.10 性能测试计划的“测试数据准备”部分 513

9.6.11 性能测试计划的“计划安排”部分 513

9.6.12 性能测试计划的“局限条件”部分 514

9.6.13 性能测试计划的“风险评估”部分 514

9.6.14 性能测试计划的“交付产品”部分 514

9.7 验收测试实施过程 515

9.7.1 性能测试脚本设计 515

9.7.2 性能测试脚本数据准备 521

9.7.3 性能测试场景设计 521

9.7.4 性能测试场景监控与场景执行 523

9.7.5 性能测试结果分析 528

9.7.6 性能调优 529

9.8 验收测试总结及其性能测试总结的编写 530

9.8.1 某单位某系统验收测试结论 530

9.8.2 某单位某系统验收测试交付清单 531

9.8.3 某单位某系统验收测试报告 531

9.8.4 某单位某系统验收测试性能测试报告 539

9.8.5 功能/性能测试缺陷遗留评审确认表格 547

9.8.6 项目管理相关表格 547

9.9 项目验收相关文档编写 549

9.9.1 验收申请 550

9.9.2 工作量确认 550

第 10章 系统性能测试案例——GIS项目 551

10.1 GIS系统性能测试 552

10.1.1 项目性能测试需求的分析 552

10.1.2 确定性能测试考察指标 554

10.1.3 模型建立 556

10.1.4 集合点的说明 557

10.1.5 性能测试用例设计 558

10.1.6 工具的引入 560

10.1.7 脚本代码 560

10.1.8 场景设计 562

10.1.9 测试环境 562

10.1.10 场景执行 563

10.2 性能结果分析 564

第 11章 性能测试案例——系统实现框架对比 573

11.1 第 一部分 方案设计 574

11.1.1 项目性能测试需求分析 574

11.1.2 性能测试需求 574

11.1.3 系统架构 575

11.1.4 性能测试策略 575

11.1.5 测试资源 576

11.1.6 测试监控 578

11.1.7 里程碑计划 580

11.1.8 测试准则 580

11.1.9 测试风险 581

11.2 第 二部分 测试执行 581

11.2.1 脚本编写 581

11.2.2 测试过程 584

11.3 第三部分 测试报告 586

11.3.1 性能对比结论摘要 586

11.3.2 问题分析 587

11.3.3 测试结果对比 588

11.3.4 性能对比结论 592

第 12章 Web前端性能测试工具应用 595

12.1 前端性能测试 596

12.2 HttpWatch工具 596

12.2.1 HttpWatch简介 596

12.2.2 HttpWatch工具使用 597

12.3 DynaTrace Ajax工具 605

12.3.1 DynaTrace Ajax简介 605

12.3.2 DynaTrace Ajax工具使用 605

12.4 FireBug工具 610

12.4.1 FireBug简介 610

12.4.2 Firebug工具使用 611

12.5 YSlow工具 613

12.5.1 YSlow简介 613

12.5.2 YSlow工具使用 613

12.6 前端性能改进 614

12.6.1 减少请求数量 614

12.6.2 应用缓存技术 617

12.6.3 CDN技术 620

12.6.4 减少DNS解析时间 621

12.6.5 压缩内容(Gzip Components) 621

12.6.6 其他方法 622

第 13章 不同协议脚本应用实例讲解 625

13.1 一种特殊的数据库性能测试方法 626

13.1.1 数据库集群项目背景介绍 626

13.1.2 批处理方式解决方案 627

13.2 手工编写FTP脚本 629

13.2.1 手工编写脚本的策略 629

13.2.2 实例讲解手工编写FTP脚本 629

13.2.3 脚本编写注意事项 631

13.3 Foxmail邮件的发送脚本 632

13.4 详解.NET 2008插件在开发环境中的应用 635

13.5 Windows Sockets协议脚本应用 639

13.6 Terminal Emulation(RTE)协议脚本应用 646

13.7 Citrix协议脚本应用 652

13.7.1 Citrix简单介绍 652

13.7.2 Citrix相关配置说明 653

13.8 EdgeSight 656

13.8.1 EdgeSight简单介绍 657

13.8.2 EdgeSight基本使用 657

13.9 数据库相关协议应用 662

13.9.1 工具支持哪些数据库相关协议 662

13.9.2 数据库函数说明 663

13.9.3 数据库脚本关联 666

13.10 AJAX TruClient协议应用 667

13.10.1 AJAX简介 667

13.10.2 AJAX TruClient脚本 668

13.10.3 AJAX(Click and Script)脚本 672

13.11 Flex协议脚本应用 675

13.11.1 Flex简介 675

13.11.2 Flex脚本 676

13.11.3 Flex脚本关联 677

13.12 Real协议脚本应用 678

13.12.1 Real简介 678

13.12.2 Real脚本 679

13.13 Web Services协议脚本应用 681

13.13.1 Web Services简介 681

13.13.2 Delphi Web Services样例程序 684

13.13.3 Web Services脚本 692

第 14章 利用高 级语言开发性能测试辅助工具 697

14.1 LoadRunner场景运行控制器介绍 698

14.2 LoadRunner场景运行控制器源代码 700

14.2.1 场景运行控制器首界面源代码 701

14.2.2 场景运行控制器源代码 702

14.2.3 系统设置源代码 709

14.2.4 作品相关源代码 710

14.3 前端性能测试自动化介绍 715

14.4 HttpWatch前端性能测试自动化脚本 716

14.5 高 级语言调用HttpWatch完成前端性能测试 721

第 15章 性能测试应用策略及性能指标计算 725

15.1 性能测试在企业中的应用——量体裁衣 726

15.1.1 性能测试介绍 726

15.1.2 性能测试在软件企业的应用 727

15.1.3 总结 729

15.2 开发环境下的性能测试 730

15.2.1 负库存现象 730

15.2.2 插件的应用 730

15.2.3 总结 734

15.3 性能测试场景的选择及其用例设计、执行策略 735

15.3.1 性能测试用例的设计方法 735

15.3.2 实例讲解性能测试用例的设计 737

15.3.3 性能测试执行 740

15.3.4 性能测试的分析 741

15.3.5 系统的调优 741

15.4 性能测试常用计算公式汇总 742

15.4.1 吞吐量计算公式 742

15.4.2 并发数量计算公式 743

15.4.3 思考时间计算公式 744

参考文献 746

详情

本书主要集介绍制定性能测试计划方案、性能测试需求分析、测试脚本开发、场景设计、测试执行及结果分析等LoadRunner应用领域做多内容。适合软件测试从业人员,使用LoadRunner工具的测试人员大学和培训机构的辅导书

图书摘要

相关图书

渗透测试技术
渗透测试技术
现代软件测试技术之美
现代软件测试技术之美
JUnit实战(第3版)
JUnit实战(第3版)
深入理解软件性能——一种动态视角
深入理解软件性能——一种动态视角
云原生测试实战
云原生测试实战
Android自动化测试实战:Python+Appium +unittest
Android自动化测试实战:Python+Appium +unittest

相关文章

相关课程