《21世纪高等学校规划教材 软件质量保证与测试 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:秦航,杨强著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302467632
  • 页数:386 页
图书介绍:本书全面系统地讲述了软件质量保证与测试的概念、原理和典型的方法,并介绍了相关软件项目的管理技术。本书条理清晰、语言流畅、通俗易懂,在内容组织上力求自然、合理、循序渐进,并提供了丰富的实例和实践要点。

第1章 概述 1

1.1 软件特征 1

1.1.1 软件分类 3

1.1.2 层次化软件工程 4

1.1.3 软件范型的转变 8

1.1.4 现代软件开发 9

1.2 软件质量 11

1.2.1 质量概念 12

1.2.2 质量运动 13

1.2.3 软件质量概念 14

1.2.4 评价体系与标准 16

1.3 软件测试与可靠性 17

1.3.1 软件测试的意义 18

1.3.2 软件测试的定义 21

1.3.3 软件测试的方法 23

1.3.4 软件缺陷的修复费用 26

1.4 工业时代的人才特点 27

1.4.1 软件人才的需求 27

1.4.2 软件测试员应具备的素质 31

1.5 小结 33

思考题 33

第2章 软件质量工程体系 34

2.1 软件质量控制的基本概念和方法 34

2.1.1 软件质量控制的基本概念 34

2.1.2 软件质量控制的基本方法 35

2.2 软件质量控制模型和技术 38

2.2.1 软件质量控制模型 38

2.2.2 软件质量控制模型参数 39

2.2.3 软件质量控制的实施过程 40

2.2.4 软件质量控制技术 41

2.3 软件质量保证体系 46

2.3.1 软件质量保证的内容 46

2.3.2 SQA活动和实施 48

2.4 小结 51

思考题 51

第3章 软件质量度量和配置管理 52

3.1 度量和软件度量 52

3.1.1 度量 52

3.1.2 软件度量 53

3.1.3 作用 54

3.2 软件质量度量 55

3.2.1 软件质量和软件质量要素 55

3.2.2 影响软件质量的因素 55

3.2.3 质量保证模型 56

3.2.4 缺陷排除效率 58

3.3 软件过程度量 58

3.3.1 概念 58

3.3.2 常见问题 60

3.3.3 基于目标的方法 61

3.4 软件配置管理 63

3.4.1 目标 64

3.4.2 角色职责 64

3.4.3 过程描述 65

3.4.4 关键活动 67

3.4.5 VSS的使用 70

3.5 小结 75

思考题 75

第4章 软件可靠性度量和测试 76

4.1 软件可靠性 76

4.1.1 软件可靠性的发展史 76

4.1.2 软件可靠性的定义 79

4.1.3 基本数学关系 80

4.1.4 影响因素 81

4.1.5 软件的差错、故障和失效 82

4.2 可靠性模型及其评价标准 83

4.2.1 软件可靠性模型 83

4.2.2 模型及其应用 86

4.2.3 软件可靠性模型评价准则 88

4.3 软件可靠性测试和评估 90

4.3.1 软件可靠性评测 90

4.3.2 具体实施过程 91

4.4 提高软件可靠性的方法和技术 92

4.4.1 建立以可靠性为核心的质量标准 92

4.4.2 选择开发方法 93

4.4.3 软件重用 94

4.4.4 使用开发管理工具 95

4.4.5 加强测试 95

4.4.6 容错设计 96

4.5 软件可靠性研究的主要问题 97

4.6 小结 97

思考题 98

第5章 软件质量标准 99

5.1 软件质量标准概述 99

5.1.1 国际标准 99

5.1.2 国家标准 100

5.1.3 行业标准 100

5.1.4 企业规范 100

5.1.5 项目规范 100

5.2 ISO 9001和9000-3在软件中的应用 101

5.3 能力成熟度模型 102

5.3.1 CMM质量思想 102

5.3.2 CMM关键域 105

5.3.3 PSP和TSP 109

5.3.4 CMMI 111

5.3.5 CMM中的质量框架 112

5.4 IEEE软件工程标准 114

5.4.1 IEEE 730:2001结构与内容 115

5.4.2 IEEE/EIA Std 12207软件生命周期过程 116

5.4.3 IEEE Std 1012验证与确认 117

5.4.4 IEEE Std 1028评审 118

5.5 其他质量标准 118

5.5.1 ISO/IEC 15504-2:2003软件过程评估标准 118

5.5.2 Tick IT 120

5.6 小结 121

思考题 121

第6章 软件评审 122

6.1 为什么需要软件评审 122

6.2 软件评审的角色和职能 123

6.3 评审的内容 125

6.3.1 管理评审 125

6.3.2 技术评审 127

6.3.3 文档评审 128

6.3.4 过程评审 129

6.4 评审的方法和技术 130

6.4.1 评审的方法 130

6.4.2 评审的技术 132

6.5 评审会议流程 132

6.5.1 准备评审会议 133

6.5.2 召开评审会议 134

6.5.3 跟踪和分析评审结果 136

6.6 小结 138

思考题 138

第7章 软件全面质量管理 139

7.1 全面质量管理概述 139

7.1.1 发展阶段 139

7.1.2 相关问题 142

7.1.3 全面质量管理与ISO 9000 143

7.1.4 全面质量管理与统计技术 144

7.2 6σ项目管理 145

7.2.1 6σ管理法简介 145

7.2.2 6σ管理法与零缺陷 148

7.2.3 6σ管理的特征 149

7.2.4 6σ管理的优点 150

7.2.5 DPMO与6σ的关系 152

7.2.6 人员组织结构 153

7.2.7 6σ与其他管理工具的比较 154

7.3 质量功能展开设计 155

7.3.1 质量功能展开的概念 156

7.3.2 质量功能展开的分解模型 156

7.3.3 质量屋的构成 157

7.3.4 质量功能展开的特点 158

7.4 DFSS流程及主要设计工具 158

7.4.1 DMAIC与DFSS简介 159

7.4.2 DFSS的重要性及其内涵 160

7.4.3 DFSS与DMAIC的区别 161

7.4.4 DFSS流程及主要设计工具 162

7.4.5 DFSS的集成框架 164

7.4.6 注意问题 166

7.4.7 发展方向 167

7.5 小结 168

思考题 168

第8章 高质量编程 169

8.1 代码风格 169

8.1.1 程序的书写格式 171

8.1.2 Windows程序命名规则 174

8.1.3 共性规则 176

8.1.4 表达式和基本语句 178

8.2 函数设计规则 182

8.2.1 函数外部特性的注释规则 182

8.2.2 参数规则 183

8.2.3 返回值的规则 184

8.2.4 函数内部的实现规则 185

8.3 提高程序质量的技术 186

8.3.1 内存管理规则 186

8.3.2 面向对象的设计规则 189

8.4 代码审查 199

8.4.1 代码审查的主要工作 200

8.4.2 代码审查的流程 200

8.4.3 Java代码审查的常见错误 201

8.5 小结 205

思考题 205

第9章 软件测试 206

9.1 目的和原则 206

9.1.1 软件测试的目的 206

9.1.2 软件测试的原则 207

9.2 软件测试的种类 208

9.2.1 软件测试过程概述 208

9.2.2 单元测试 209

9.2.3 集成测试 213

9.2.4 系统测试 215

9.2.5 验收测试 219

9.2.6 回归测试 221

9.2.7 敏捷测试 224

9.3 软件测试与软件开发 226

9.3.1 整个软件开发生命周期 227

9.3.2 生命周期测试与V模型 227

9.3.3 软件测试IDE产品 229

9.4 软件测试的现状 230

9.4.1 软件测试的过去、现在和未来 230

9.4.2 产业现状 231

9.5 测试工具的选择 232

9.5.1 白盒测试工具 233

9.5.2 黑盒测试工具 234

9.5.3 测试设计和开发工具 234

9.5.4 测试执行和评估工具 234

9.5.5 测试管理工具 235

9.5.6 功能和成本 235

9.6 小结 236

思考题 236

第10章 黑盒测试 237

10.1 等价类划分法 237

10.1.1 划分等价类 238

10.1.2 方法 239

10.1.3 设计测试用例 239

10.2 边界值分析法 242

10.2.1 边界条件 242

10.2.2 次边界条件 243

10.2.3 其他边界条件 244

10.2.4 边界值的选择方法 244

10.3 因果图法 244

10.3.1 因果图设计方法 245

10.3.2 因果图测试用例 246

10.4 功能图法 248

10.4.1 功能图设计方法 248

10.4.2 功能图法生成测试用例 249

10.5 比较与选择 249

10.6 黑盒测试工具 250

10.6.1 WinRunner的使用 251

10.6.2 LoadRunner的使用 255

10.6.3 QTP的使用 259

10.7 小结 268

思考题 268

第11章 白盒测试 270

11.1 白盒测试的目的 270

11.2 控制流测试 272

11.2.1 语句覆盖 272

11.2.2 判定覆盖 273

11.2.3 条件覆盖 273

11.2.4 判定-条件覆盖 274

11.2.5 路径覆盖 275

11.2.6 几种常用逻辑覆盖的比较 276

11.2.7 循环测试 276

11.3 基本路径测试 277

11.3.1 程序的控制流图 277

11.3.2 程序结构的要求 278

11.3.3 举例 278

11.4 程序插装 280

11.5 程序变异测试 280

11.6 C++Test和白盒测试工具 281

11.6.1 C++Test的使用 281

11.6.2 白盒测试工具 282

11.7 软件缺陷分析 288

11.7.1 简介 288

11.7.2 软件缺陷的类别 288

11.7.3 软件缺陷的级别 289

11.7.4 软件缺陷产生的原因 289

11.7.5 软件缺陷的构成 290

11.8 小结 293

思考题 293

第12章 基于缺陷模式的软件测试 294

12.1 相关定义 294

12.1.1 软件缺陷的产生原因 295

12.1.2 减少缺陷的关键因素 296

12.1.3 软件缺陷的特征 297

12.2 软件缺陷的属性 298

12.3 软件缺陷的严重性和优先级 300

12.3.1 缺陷的严重性和优先级的关系 301

12.3.2 常见错误 301

12.3.3 表示和确定 302

12.4 软件缺陷管理和CMM的关系 303

12.4.1 初始级的缺陷管理 303

12.4.2 可重复级的缺陷管理 303

12.4.3 已定义级的缺陷管理 303

12.4.4 定量管理级的缺陷管理 304

12.4.5 持续优化级的缺陷管理 304

12.5 报告软件缺陷 305

12.5.1 报告软件缺陷的基本原则 305

12.5.2 IEEE软件缺陷报告模板 306

12.6 软件缺陷管理 307

12.6.1 缺陷管理目标 307

12.6.2 人员职责 308

12.6.3 缺陷生命周期 308

12.6.4 缺陷管理系统 309

12.6.5 缺陷分析方法 312

12.6.6 缺陷分析指标 313

12.7 小结 316

思考题 316

第13章 集成测试 317

13.1 集成测试的定义 317

13.1.1 区别 317

13.1.2 集成测试的主要任务 318

13.1.3 集成测试的层次与原则 318

13.2 集成测试策略 319

13.2.1 非渐增式集成 319

13.2.2 渐增式集成 320

13.2.3 其他集成测试策略 322

13.2.4 几种实施方案的比较 323

13.3 集成测试用例设计 324

13.4 集成测试的过程 325

13.4.1 计划阶段 325

13.4.2 设计实现阶段 326

13.4.3 执行评估阶段 326

13.5 面向对象的集成测试 326

13.5.1 对象交互 327

13.5.2 面向对象的集成测试的步骤 328

13.5.3 常用的测试技术 328

13.6 小结 329

思考题 330

第14章 系统测试 331

14.1 系统测试的定义 331

14.2 系统测试的流程 332

14.3 系统测试的主要方法 333

14.3.1 性能测试 333

14.3.2 强度测试 335

14.3.3 安全性测试 335

14.3.4 兼容性测试 336

14.3.5 恢复测试 337

14.3.6 用户图形界面测试 338

14.3.7 安装测试 339

14.3.8 可靠性测试 340

14.3.9 配置测试 341

14.3.10 可用性测试 342

14.3.11 文档资料测试 344

14.3.12 网站测试 345

14.4 系统测试工具 348

14.4.1 系统测试工具的分类 348

14.4.2 TestDirector的使用 350

14.5 小结 357

思考题 357

第15章 测试管理 358

15.1 测试管理过程 358

15.1.1 测试的过程及组织 358

15.1.2 测试方法的应用 360

15.1.3 测试的人员组织 361

15.1.4 软件测试文件 361

15.2 建立软件测试管理体系 362

15.2.1 软件测试管理体系的组成和建立目的 363

15.2.2 软件测试项目组织结构的设计 366

15.2.3 测试管理者工作原则 368

15.3 测试文档的撰写 369

15.3.1 测试计划 370

15.3.2 测试规范 371

15.3.3 测试案例和测试报告 372

15.3.4 软件缺陷报告 373

15.4 调试的技巧 373

15.4.1 调试过程 374

15.4.2 心理因素 375

15.4.3 调试方法 375

15.5 软件测试自动化 376

15.5.1 实施理由 377

15.5.2 引入条件 377

15.5.3 不同阶段的优势 379

15.5.4 常用开发工具 380

15.6 小结 383

思考题 383

参考文献 384