《软件测试的有效方法 第3版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)WILLIAME.PERRY著;高猛,冯飞,徐璐译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:7302166927
  • 页数:643 页
图书介绍:本书介绍软件测试的概念和有效方法。

第Ⅰ部分 软件测试能力与资格的评估 3

第1章 评估软件测试的能力、人员资格与用户满意度 3

1.1 成为世界级软件测试公司的三步式过程 3

1.2 步骤1:定义世界级软件测试模型 4

1.3 步骤2:为您的公司开发基线 7

1.3.1 评估1:评估测试环境 7

1.3.2 评估2:评估您的现有测试过程的能力 11

1.3.3 评估3:评估测试人员的资格 11

1.4 步骤3:制定改进计划 13

1.5 小结 15

第Ⅱ部分 构建软件测试环境 25

第2章 创建支持软件测试的环境 25

2.1 最小化风险 25

2.1.1 软件质量的风险承受能力 25

2.1.2 与实现规范有关的风险 26

2.1.3 与不符合客户需求有关的风险 27

2.1.4 开发软件测试人员的角色 30

2.2 编写软件测试的政策 31

2.2.1 测试政策的标准 31

2.2.2 制定测试政策的方法 32

2.3 测试的经济学 33

2.4 测试——公司的问题 35

2.5 软件测试的管理支持 35

2.6 构建软件测试的结构化方法 36

2.6.1 需求 38

2.6.2 设计 38

2.6.3 编程 38

2.6.4 测试 38

2.6.5 安装 39

2.6.6 维护 39

2.7 制定测试策略 39

2.7.1 使用工作表2-1 41

2.7.2 使用工作表2-2 41

2.8 小结 42

第3章 创建软件测试过程 45

3.1 软件测试指导原则 45

3.1.1 指导原则1:测试应该降低软件开发风险 46

3.1.2 指导原则2:应该有效地进行测试 46

3.1.3 指导原则3:测试应该能揭示缺陷 46

3.1.4 指导原则4:应该使用业务逻辑进行测试 47

3.1.5 指导原则5:在整个开发生命周期中都应该进行测试 48

3.1.6 指导原则6:应该要测试结构和功能 49

3.2 工作台的概念 51

3.3 定制软件测试过程 53

3.3.1 确定测试策略的目标 53

3.3.2 确定开发项目的类型 54

3.3.3 确定软件系统的类型 54

3.3.4 确定项目范围 55

3.3.5 标识软件风险 55

3.3.6 确定应该何时进行测试 57

3.3.7 定义系统测试计划的标准 57

3.3.8 定义单元测试计划的标准 59

3.3.9 将测试策略转换成测试战略 60

3.4 过程预备检查表 62

3.5 小结 62

第4章 选择和安装软件测试工具 75

4.1 将工具结合到测试人员的作业过程中 75

4.2 可用于测试软件的工具 76

4.3 选择和使用测试工具 78

4.3.1 匹配工具和它的使用 79

4.3.2 选择适合于其生命周期阶段的工具 79

4.3.3 匹配工具和测试人员的技能水平 81

4.3.4 选择可负担的工具 84

4.4 培训测试人员使用工具 85

4.5 任命工具经理 85

4.5.1 创建工具经理职位的先决条件 86

4.5.2 选择工具经理 87

4.5.3 分配工具经理任务 87

4.5.4 限制工具经理的任期 88

4.6 小结 88

第5章 培养软件测试人员的能力 92

5.1 CBOK的定义 92

5.2 负责培养软件测试人员能力的人员 93

5.3 如何将个人能力用于工作绩效中 93

5.4 制定培训课程 95

5.5 小结 96

第Ⅲ部分 七步测试过程 111

第6章 软件测试过程综述 111

6.1 分步过程的优点 111

6.2 计算机测试的成本 112

6.2.1 对改正缺陷的成本进行限定 112

6.2.2 降低测试成本 113

6.3 七步软件测试过程 113

6.3.1 七步过程的目的 115

6.3.2 定制七步过程 116

6.3.3 管理七步过程 117

6.3.4 在七步过程中使用测试人员工作台 118

6.4 工作台技能 118

6.5 小结 119

第7章 第1步:软件测试的组织 120

7.1 目标 120

7.2 工作台 120

7.3 输入 121

7.4 实施规程 121

7.4.1 任务1:任命测试经理 122

7.4.2 任务2:指明测试的范围 122

7.4.3 任务3:组建测试小组 122

7.4.4 任务4:验证开发文档 125

7.4.5 任务5:测试估算和项目状态汇报过程的验证 132

7.5 检查规程 145

7.6 输出结果 145

7.7 小结 146

第8章 第2步:测试计划的开发 151

8.1 概述 151

8.2 目标 151

8.3 关注问题 152

8.4 工作台 152

8.5 输入 153

8.6 实施规程 153

8.6.1 任务1:勾勒软件项目的蓝图 154

8.6.2 任务2:了解项目的风险 156

8.6.3 任务3:选择测试技术 161

8.6.4 任务4:计划的单元测试与分析 171

8.6.5 任务5:构建测试计划 178

8.6.6 任务6:检视测试计划 186

8.7 检查规程 191

8.8 输出 191

8.9 指导原则 192

8.10 小结 192

第9章 第3步:验证测试 208

9.1 概述 208

9.2 目标 210

9.3 关注方面 210

9.4 工作台 211

9.5 输入 211

9.5.1 需求阶段 211

9.5.2 设计阶段 212

9.5.3 编程阶段 212

9.6 实施规程 213

9.6.1 任务1:需求阶段的测试 213

9.6.2 任务2:设计阶段的测试 225

9.6.3 任务3:编程阶段的测试 230

9.7 检查规程 236

9.8 输出 236

9.9 指导原则 237

9.10 小结 237

第10章 第4步:确认测试 297

10.1 概述 297

10.2 目标 297

10.3 关注方面 298

10.4 工作台 298

10.5 输入 299

10.6 实施规程 299

10.6.1 任务1:建立测试数据 299

10.6.2 任务2:执行测试 311

10.6.3 任务3:记录测试结果 313

10.7 检查规程 315

10.8 输出 315

10.9 指导原则 315

10.10 小结 316

第11章 第5步:分析和报告测试结果 331

11.1 概述 331

11.2 关注方面 332

11.3 工作台 332

11.4 输入 332

11.4.1 测试计划和项目计划 333

11.4.2 预期的处理结果 333

11.4.3 测试期间收集的数据 333

11.4.4 存储测试期间收集的数据 334

11.5 实现规程 334

11.5.1 任务1:报告软件状态 334

11.5.2 任务2:报告中间测试结果 340

11.5.3 任务3:报告最终的测试结果 347

11.6 检查规程 349

11.7 输出 349

11.8 指导原则 349

11.9 小结 350

第12章 第6步:验收和操作测试 354

12.1 概述 354

12.2 目标 355

12.3 关注方面 355

12.4 工作台 356

12.5 输入规程 357

12.5.1 任务1:验收测试 358

12.5.2 任务2:操作前测试 366

12.5.3 任务3:操作后测试 370

12.6 检查规程 376

12.7 输出 376

12.7.1 应用程序中的自动化部分是否可接受? 377

12.7.2 应用程序自动化部分测试失败通知 377

12.7.3 手动部分是否可接受? 377

12.7.4 培训失败通知单 378

12.8 指导原则 378

12.9 小结 379

第13章 实现后分析 405

13.1 概述 405

13.2 关注方面 405

13.3 工作台 406

13.4 输入 407

13.5 实施规程 407

13.5.1 任务1:建立评估目标 407

13.5.2 任务2:标识度量的内容 407

13.5.3 任务3:分配度量职责 408

13.5.4 任务4:选择评价的方法 408

13.5.5 任务5:标识所需的事实 408

13.5.6 任务6:收集评价数据 409

13.5.7 任务7:评估测试的有效性 409

13.6 检查规程 412

13.7 输出 412

13.8 指导原则 412

13.9 小结 412

第Ⅳ部分 集成专门的测试职责 417

第14章 软件开发方法 417

14.1 需要的测试数量 417

14.1.1 软件开发方法 417

14.1.2 定义需求 422

14.1.3 方法成熟度 424

14.1.4 所需能力 426

14.1.5 职员经验 427

14.1.6 配置管理控制 428

14.1.7 配置标识 430

14.1.8 配置控制 431

14.2 测量软件开发过程的影响 431

14.3 小结 432

第15章 测试客户端/服务器系统 435

15.1 概述 435

15.2 关注方面 436

15.3 工作台 437

15.4 输入 437

15.5 实施规程 437

15.5.1 任务1:评估准备程度 437

15.5.2 任务2:评估关键组件 443

15.5.3 任务3:评估客户端需求 444

15.6 检查过程 445

15.7 输出 445

15.8 指导原则 445

15.9 小结 445

第16章 测试快速应用开发系统 451

16.1 概述 451

16.2 目标 451

16.3 关注方面 452

16.3.1 测试迭代 452

16.3.2 测试组件 452

16.3.3 测试性能 452

16.3.4 记录测试信息 452

16.4 工作台 453

16.5 输入 453

16.6 实施规程 454

16.6.1 迭代RAD内的测试 454

16.6.2 螺旋测试 455

16.6.3 任务1:确定RAD的适合度 455

16.6.4 任务2:测试计划迭代 456

16.6.5 任务3:测试后续计划迭代 457

16.6.6 任务4:测试最终计划迭代 458

16.7 检查规程 458

16.8 输出 458

16.9 指导原则 458

16.10 小结 459

第17章 测试内部控制 465

17.1 概述 465

17.2 内部控制系统 466

17.2.1 控制目标 466

17.2.2 预防性控制系统 467

17.2.3 检测性控制系统 470

17.2.4 纠正性控制系统 472

17.2.5 成本/收益分析 473

17.3 评估内部控制 473

17.3.1 任务1:了解正在测试的系统 474

17.3.2 任务2:确定风险 474

17.3.3 任务3:审查应用程序控制 474

17.3.4 任务4:测试应用程序控制 475

17.3.5 任务5:文档控制的优势和劣势 481

17.4 质量控制检查表 482

17.5 小结 482

第18章 测试COTS和外包软件 486

18.1 概述 486

18.2 COTS软件的优势、劣势和风险 487

18.2.1 COTS与外包软件 487

18.2.2 COTS优势 487

18.2.3 COTS劣势 488

18.2.4 实施风险 488

18.2.5 测试COTS软件 489

18.2.6 测试外包软件 490

18.3 目标 490

18.4 关注方面 491

18.5 工作台 491

18.6 输入 492

18.7 实施规程 492

18.7.1 任务1:测试是否满足业务需求 492

18.7.2 任务2:测试是否满足运行需求 494

18.7.3 任务3:测试是否满足用户需求 498

18.7.4 任务4:验收——测试软件过程 498

18.7.5 修改外包软件的测试过程 500

18.8 检查规程 500

18.9 输出 501

18.10 指导原则 501

18.11 小结 501

第19章 多平台环境下的测试 506

19.1 概述 506

19.2 目标 506

19.3 关注方面 506

19.4 多平台环境下的测试背景 507

19.5 工作台 507

19.6 输入 508

19.7 实施规程 508

19.7.1 任务1:定义平台配置涉及的问题 509

19.7.2 任务2:列出所需平台配置 510

19.7.3 任务3:评估试验室配置 510

19.7.4 任务4:列出受平台影响的结构组件 510

19.7.5 任务5:列出受平台影响的接口 512

19.7.6 任务6:执行测试 512

19.8 检查规程 512

19.9 输出 512

19.10 指导原则 513

19.11 小结 513

第20章 测试软件系统安全性 517

20.1 概述 517

20.2 目标 517

20.3 关注方面 518

20.4 工作台 518

20.5 输入 519

20.6 漏洞出现的位置 519

20.7 实施规程 521

20.7.1 任务1:建立安全基线 521

20.7.2 任务2:构建渗透点矩阵 529

20.7.3 任务3:分析安全测试结果 535

20.8 评估安全措施是否充分 536

20.9 检查过程 537

20.10 输出 537

20.11 指导原则 537

20.12 小结 537

第21章 测试数据仓库 539

21.1 概述 539

21.2 关注方面 539

21.3 工作台 540

21.4 输入 541

21.5 实施规程 541

21.5.1 任务1:度量数据仓库问题的严重性 541

21.5.2 任务2:标识要测试的数据仓库活动过程 542

21.5.3 任务3:测试数据仓库活动过程的充分性 545

21.6 检查规程 550

21.7 输出 550

21.8 指导原则 550

21.9 小结 550

第22章 测试基于Web的系统 558

22.1 概述 558

22.2 关注方面 559

22.3 工作台 559

22.4 输入 560

22.5 实施规程 560

22.5.1 任务1:选中应纳入测试计划的基于Web的风险 560

22.5.2 任务2:选择基于Web的测试 564

22.5.3 任务3:选择基于Web的测试工具 565

22.5.4 任务4:测试基于Web的系统 565

22.6 检查规程 566

22.7 输出 566

22.8 指导原则 566

22.9 小结 566

第Ⅴ部分 将敏捷性融入到测试过程中 573

第23章 使用敏捷方法改善软件测试 573

23.1 敏捷的重要性 573

23.2 构建敏捷测试过程 574

23.3 制约敏捷的因素 574

23.4 改善的必要性 575

23.5 压缩时间 576

23.5.1 难题 577

23.5.2 解决方案 577

23.5.3 度量准备工作 578

23.5.4 由7个步骤组成的过程 579

23.6 小结 579

第24章 将敏捷性融入到测试过程中 581

24.1 步骤1:度量软件过程的可变性 581

24.1.1 时间轴 581

24.1.2 过程步骤 582

24.1.3 改进购物列表 588

24.1.4 质量控制检查表 588

24.1.5 结论 589

24.2 步骤2:最大化最佳实践 589

24.2.1 测试人员的敏捷性 589

24.2.2 改进购物列表 599

24.2.3 质量控制检查表 600

24.2.4 结论 600

24.3 步骤3:建筑优势,削弱劣势 600

24.3.1 有效测试过程 600

24.3.2 劣质测试过程 602

24.3.3 改进购物列表 602

24.3.4 质量控制检查表 603

24.3.5 结论 603

24.4 步骤4:标识和打破前进壁垒 603

24.4.1 利益相关者的观点 603

24.4.2 棘手问题和热点问题 605

24.4.3 人员能力壁垒 605

24.4.4 管理/组织壁垒 606

24.4.5 确定壁垒/障碍的根本原因 607

24.4.6 解决壁垒/障碍的根源 607

24.4.7 质量控制检查表 608

24.4.8 结论 609

24.5 步骤5:标识和解决文化及交流壁垒 609

24.5.1 管理文化 609

24.5.2 文化壁垒 615

24.5.3 开放和有效的沟通 616

24.5.4 质量控制检查表 619

24.5.5 结论 619

24.6 步骤6:确定可实现的改进 619

24.6.1 什么是可实现? 619

24.6.2 确定可通过时间压缩实现的思路 620

24.6.3 排列可实现思路的优先级 622

24.6.4 记录方法 623

24.6.5 质量控制检查表 623

24.6.6 结论 623

24.7 步骤7:制定和执行实施计划 624

24.7.1 质量控制检查表 626

24.7.2 结论 626

24.8 小结 626