图书目录

目 录

第 1 章  软件测试概述 1

 1.1 软件、软件危机和软件工程 1

1.1.1 软件、软件危机和软件工程的基本概念 1

1.1.2 软件工程的目标及其一般开发过程 3

1.1.3 软件过程模型 4

 1.2 软件缺陷与软件故障 8

 1.3 软件质量与质量模型 10

 1.4 软件测试 13

1.4.1 软件测试的定义与目的 13

1.4.2 软件测试的原则 15

1.4.3 软件测试与软件开发各阶段的关系 16

1.4.4 软件测试过程模型 17

1.4.5 软件测试的分类 20

1.4.6 软件测试流程 23

1.4.7 软件测试发展历程和发展趋势 27

1.4.8 软件测试人员的基本素质 28

 1.5 本章小结 30

 1.6 思考和练习 30

第 2 章  软件测试计划 31

 2.1 软件测试计划的目的 31

 2.2 制订测试计划的原则 33

 2.3 如何制订软件测试计划 33

 2.4 制订测试计划时面对的问题 35

 2.5 测试计划评估标准 35

 2.6 制订测试计划 36

 2.7 本章小结 43

 2.8 思考和练习 44

第 3 章  黑盒测试与测试用例设计 45

 3.1 测试用例综述 45

3.1.1 测试用例的定义 45

3.1.2 测试用例的设计 46

 3.2 等价类设计方法 52

3.2.1 等价类划分 53

3.2.2 等价类划分方法 54

3.2.3 等价类划分的测试运用 56

 3.3 边界值设计方法 61

3.3.1 边界值分析法原理 61

3.3.2 边界值分析原则 63

3.3.3 健壮性分析 64

3.3.4 边界值分析法的测试运用 65

 3.4 因果图设计法 66

3.4.1 因果图原理 66

3.4.2 因果图法应用 67

3.4.3 决策表法 69

 3.5 正交实验设计方法 71

3.5.1 正交实验设计法原理 72

3.5.2 利用正交实验法设计测试用例 74

 3.6 本章小结 75

 3.7 思考和练习 76

第 4 章  白盒测试 77

 4.1 程序控制流图 77

4.1.1 基本块 77

4.1.2 流图的定义与图形表示 78

 4.2 逻辑覆盖测试 79

4.2.1 测试覆盖率 79

4.2.2 逻辑覆盖 80

4.2.3 测试覆盖准则 81

 4.3 路径分析与测试 82

 4.4 数据流测试分析 84

4.4.1 测试充分性基础 84

4.4.2 测试充分性准则的度量 85

4.4.3 测试集充分性的度量 87

4.4.4 数据流概念 87

4.4.5 基于数据流的测试充分性准则 90

 4.5 变异测试 91

4.5.1 变异和变体 91

4.5.2 强变异和弱变异 92

4.5.3 用变异技术进行测试评价 93

4.5.4 变异算子 95

4.5.5 变异算子的设计 96

4.5.6 变异测试的基本原则 96

 4.6 本章小结 97

 4.7 思考和练习 98

第 5 章  软件测试过程 99

 5.1 软件测试过程概述 99

 5.2 单元测试 100

5.2.1 单元测试概述 100

5.2.2 单元测试的重要性与原则 101

5.2.3 单元测试的主要任务 103

5.2.4 单元测试环境的建立 105

5.2.5 单元测试技术和测试数据 106

5.2.6 单元测试工具 109

5.2.7 单元测试人员 110

 5.3 集成测试 110

5.3.1 集成测试概述 110

5.3.2 集成测试的任务 111

5.3.3 集成测试遵循的原则 111

5.3.4 集成测试实施方案 112

5.3.5 集成测试技术与测试数据 116

5.3.6 集成测试人员 117

 5.4 系统测试 118

5.4.1 系统测试概述 118

5.4.2 系统测试前的准备工作 119

5.4.3 系统测试技术和测试数据 120

5.4.4 系统测试人员 121

 5.5 验收测试 122

5.5.1 验收测试概述 122

5.5.2 验收测试的主要内容 123

5.5.3 验收测试技术和测试数据 127

5.5.4 α测试和β测试 128

5.5.5 验收测试人员 128

 5.6 回归测试 129

5.6.1 回归测试技术和测试数据 129

5.6.2 回归测试的范围 130

5.6.3 回归测试人员 131

 5.7 系统排错 131

 5.8 本章小结 133

 5.9 思考和练习 133

第 6 章  测试报告与测试评估 135

 6.1 软件缺陷及缺陷类型 135

6.1.1 软件缺陷概述 135

6.1.2 软件缺陷类型 136

6.1.3 软件缺陷的特性 139

 6.2 软件缺陷的生命周期 143

 6.3 分离和再现软件缺陷 144

 6.4 软件测试人员需正确面对软件缺陷 146

 6.5 报告软件缺陷 147

6.5.1 报告软件缺陷的基本原则 147

6.5.2 IEEE软件缺陷报告模板 149

 6.6 软件缺陷的跟踪管理 150

6.6.1 软件缺陷跟踪管理系统 150

6.6.2 手工报告和跟踪软件缺陷 152

 6.7 软件测试评估 153

6.7.1 覆盖评测 153

6.7.2 质量评测 156

 6.8 测试总结报告 160

 6.9 本章小结 161

 6.10 思考和练习 161

第 7 章  软件测试项目管理 163

 7.1 软件测试项目管理基础 163

7.1.1 软件测试项目管理概述 163

7.1.2 软件测试项目的范围管理 166

 7.2 软件测试文档 166

7.2.1 软件测试文档的作用 167

7.2.2 软件测试文档的类型 168

7.2.3 主要的软件测试文档 168

 7.3 软件测试的组织与人员管理 171

7.3.1 软件测试的组织与人员 171

7.3.2 组织结构 172

7.3.3 软件测试人员 174

7.3.4 沟通管理 174

7.3.5 激励机制 174

7.3.6 测试培训 175

7.3.7 风险管理 176

 7.4 软件测试过程管理 176

7.4.1 软件项目的跟踪与质量控制 176

7.4.2 软件测试项目的过程管理 177

 7.5 软件测试的配置管理 178

 7.6 软件测试风险管理 180

 7.7 软件测试的成本管理 184

7.7.1 软件测试成本管理概述 184

7.7.2 软件测试成本管理的一些基本概念 184

7.7.3 软件测试成本管理的基本原则和措施 188

 7.8 本章小结 189

 7.9 思考和练习 189

第 8 章  面向对象软件测试 191

 8.1 面向对象软件的特点及其对测试的影响 191

8.1.1 封装性 192

8.1.2 继承性 193

8.1.3 多态性 193

 8.2 面向对象软件测试的不同层次及其特点 194

8.2.1 面向对象单元测试——类测试 194

8.2.2 面向对象的集成测试 198

8.2.3 面向对象的系统测试 201

 8.3 面向对象软件测试模型 202

8.3.1 面向对象分析的测试 203

8.3.2 面向对象设计的测试 205

8.3.3 面向对象编程的测试 206

 8.4 本章小结 207

 8.5 思考和练习 207

第 9 章  Web应用测试 209

 9.1 Web应用测试概述 209

 9.2 Web应用的性能测试 210

9.2.1 Web性能测试的主要术语和性能指标 211

9.2.2 Web性能测试的目标和测试策略 213

9.2.3 Web应用系统性能测试人员应具有的能力 214

9.2.4 Web应用系统性能测试的种类 214

9.2.5 Web应用系统性能测试规划与设计 216

9.2.6 Web应用系统全面性能测试模型 218

9.2.7 Web应用系统性能测试流程 223

 9.3 Web应用的功能测试 224

 9.4 Web应用的界面测试 229

 9.5 Web应用的客户端兼容性测试 238

 9.6 Web应用的安全性测试 239

9.6.1 Web应用的安全性概述 239

9.6.2 安全性测试 240

 9.7 本章小结 241

 9.8 思考和练习 242

第 10 章  软件测试自动化 243

 10.1 软件测试自动化基础 243

10.1.1 软件测试自动化的起源 243

10.1.2 什么是软件自动化测试 244

 10.2 软件测试自动化的作用和优势 244

10.2.1 构建一个可靠的系统 245

10.2.2 提升测试工作质量 247

10.2.3 提升测试效率 248

 10.3 软件测试自动化的引入条件 250

 10.4 软件测试自动化的实施过程 252

 10.5 主流软件测试工具 253

10.5.1 白盒测试工具 253

10.5.2 黑盒测试工具 257

10.5.3 性能测试工具 258

10.5.4 测试管理工具 263

 10.6 本章小结 266

 10.7 思考和练习 266

第 11 章  测试项目案例 267

 11.1 被测试软件项目介绍 267

11.1.1 HIS系统定义 267

11.1.2 HIS系统的功能模块 268

11.1.3 挂号管理子系统介绍 269

11.1.4 挂号管理子系统的功能需求分析 271

11.1.5 挂号管理子系统的性能及可用性需求 273

 11.2 测试计划 274

11.2.1 概述 274

11.2.2 定义 275

11.2.3 质量风险摘要 275

11.2.4 测试进度计划 276

11.2.5 进入标准 277

11.2.6 退出标准 277

11.2.7 测试配置和环境 277

11.2.8 测试开发 277

11.2.9 关键参与者 278

11.2.10 测试预算 278

11.2.11 参考文档 278

 11.3 HIS测试过程概述 279

11.3.1 单元测试 279

11.3.2 集成测试 280

11.3.3 系统测试 280

11.3.4 验收测试 281

 11.4 测试用例设计 281

11.4.1 挂号管理子系统测试大纲 281

11.4.2 其他可用性测试检查标准 283

11.4.3 功能测试用例 284

11.4.4 性能测试用例 294

 11.5 缺陷报告 295

11.5.1 建立缺陷报告数据库 295

11.5.2 编写缺陷报告 296

 11.6 测试结果总结分析 297

11.6.1 测试总结报告 297

11.6.2 测试用例分析 298

11.6.3 软件测试结果统计分析 299

 11.7 本章小结 301

 11.8 思考和练习 302

参考文献   303