图书目录

目录

第1章软件质量和测试的背景

1.1软件特征与软件工程

1.1.1软件分类

1.1.2层次化软件工程

1.1.3软件范型的转变

1.1.4现代软件开发

1.2软件质量

1.2.1质量概念

1.2.2质量运动

1.2.3软件质量概念

1.2.4软件质量评价体系与标准

1.3软件测试与可靠性概述

1.3.1软件测试的意义

1.3.2软件测试的定义

1.3.3软件测试方法

1.3.4软件测试自动化

1.3.5软件缺陷的修复费用

1.4软件质量保证与测试人才的特点

1.4.1现代软件研发对软件人才的需求

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

1.5小结

1.6思考题

第2章软件质量工程体系

2.1软件质量控制的基本方法

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

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

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

2.2.1软件质量控制模型

2.2.2软件质量控制模型参数

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

2.2.4软件质量控制技术

2.3软件质量保证体系

2.3.1能力成熟度模型

2.3.2软件质量保证

2.4小结

2.5思考题

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

3.1概述

3.1.1度量

3.1.2软件度量

3.1.3软件度量的作用

3.2软件质量度量

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

3.2.2影响软件质量的因素

3.2.3质量保证模型

3.2.4缺陷排除效率

3.3软件过程度量

3.3.1软件过程度量概念

3.3.2软件过程度量常见问题

3.3.3基于目标的软件过程度量方法

3.4软件配置管理

3.4.1软件配置管理的目标

3.4.2软件配置管理角色职责

3.4.3软件配置管理过程描述

3.4.4软件配置管理的关键活动

3.4.5常用的软件配置管理工具

3.5小结

3.6思考题

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

4.1软件可靠性

4.1.1软件可靠性发展史

4.1.2软件可靠性的定义

4.1.3软件可靠性的基本数学关系

4.1.4软件可靠性与硬件可靠性的区别

4.1.5影响软件可靠性的因素

4.1.6软件的差错、故障和失效

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

4.2.1软件可靠性模型

4.2.2软件可靠性模型参数

4.2.3软件可靠性模型及其应用

4.2.4软件可靠性模型评价准则

4.3软件可靠性测试和评估

4.3.1软件可靠性评测

4.3.2软件可靠性测试的具体实施过程

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

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

4.4.2选择开发方法

4.4.3软件重用

4.4.4使用开发管理工具

4.4.5加强测试

4.4.6容错设计

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

4.6小结

4.7思考题

第5章软件质量标准

5.1软件质量标准概述

5.1.1国际标准

5.1.2国家标准

5.1.3行业标准

5.1.4企业规范

5.1.5项目规范

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

5.3能力成熟度模型CMM&CMMI

5.3.1CMM质量思想

5.3.2CMM关键域

5.3.3PSP和TSP

5.3.4CMMI

5.3.5CMM中的质量框架

5.4IEEE软件工程标准

5.4.1IEEE 730:2001结构与内容

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

5.4.3IEEE Std 1012——验证与确认

5.4.4IEEE Std 1028——评审

5.5其他质量标准

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

5.5.2TickIT

5.6小结

5.7思考题

第6章软件评审

6.1为什么需要软件评审

6.2软件评审的角色和职能

6.3评审的内容

6.3.1管理评审

6.3.2技术评审

6.3.3文档评审

6.3.4过程评审

6.4评审的方法和技术

6.4.1评审的方法

6.4.2评审的技术

6.5评审会议流程

6.5.1准备评审会议

6.5.2召开评审会议

6.5.3跟踪和分析评审结果

6.6小结

6.7思考题

第7章软件全面质量管理

7.1全面质量管理概述

7.1.1质量控制理论的发展阶段

7.1.2相关问题探讨

7.1.3全面质量管理与ISO 9000

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

7.26σ项目管理

7.2.16σ管理法简介

7.2.26σ管理法与零缺陷

7.2.36σ管理的特征

7.2.46σ管理的优点

7.2.5DPMO与6σ的关系

7.2.66σ管理的人员组织结构

7.2.76σ与其他管理工具的比较

7.3质量功能展开设计

7.3.1质量功能展开的概念

7.3.2质量功能展开分解模型

7.3.3质量屋的构成

7.3.4质量功能展开的特点

7.4DFSS流程及主要设计工具

7.4.1DMAIC与DFSS简介

7.4.2DFSS的重要性及其内涵

7.4.3DFSS与DMAIC的区别

7.4.4DFSS流程及主要设计工具

7.4.5DFSS的集成框架

7.4.66σ实施中的注意问题

7.4.7DFSS的发展方向

7.5小结

7.6思考题

第8章高质量编程

8.1代码风格

8.1.1程序的书写格式

8.1.2Windows程序命名规则

8.1.3共性规则

8.1.4表达式和基本语句

8.2函数设计规则

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

8.2.2参数规则

8.2.3返回值的规则

8.2.4函数内部的实现规则

8.3提高程序质量的技术

8.3.1内存管理规则

8.3.2面向对象的设计规则

8.4代码审查

8.4.1代码审查的主要工作

8.4.2代码审查的流程

8.4.3Java代码审查的常见错误

8.5小结

8.6思考题

第9章软件测试过程

9.1计算机软件的可靠性要素

9.1.1软件可靠性工程

9.1.2注意的要素

9.2软件测试的目的和原则

9.2.1软件测试的目的

9.2.2软件测试的原则

9.3软件测试过程

9.3.1软件测试过程概述

9.3.2单元测试

9.3.3集成测试

9.3.4系统测试

9.3.5验收测试

9.3.6回归测试

9.4软件测试与软件开发的关系

9.4.1软件测试贯穿于整个软件开发生命周期

9.4.2生命周期测试与V模型

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

9.6我国软件测试产业的现状

9.7测试工具选择

9.7.1白盒测试工具

9.7.2黑盒测试工具

9.7.3测试设计和开发工具

9.7.4测试执行和评估工具

9.7.5测试管理工具

9.7.6功能和成本

9.8小结

9.9思考题

第10章黑盒测试

10.1黑盒测试的基本概念

10.2等价类划分

10.2.1划分等价类

10.2.2划分等价类的方法

10.2.3设计测试用例

10.3边界值分析法

10.3.1边界条件

10.3.2次边界条件

10.3.3其他一些边界条件

10.3.4边界值的选择方法

10.4因果图法

10.4.1因果图设计方法

10.4.2因果图测试用例

10.5功能图法

10.5.1功能图设计方法

10.5.2功能图法生成测试用例

10.6黑盒测试方法的比较与选择

10.7黑盒测试工具介绍

10.7.1WinRunner介绍

10.7.2LoadRunner的使用

10.7.3QuickTest Pro的使用

10.8小结

10.9思考题

第11章白盒测试

11.1白盒测试概述

11.2控制流测试

11.2.1语句覆盖

11.2.2判定覆盖

11.2.3条件覆盖

11.2.4判定条件覆盖测试

11.2.5路径覆盖

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

11.2.7循环测试

11.3基本路径测试

11.3.1程序的控制流图

11.3.2程序结构的要求

11.3.3举例分析

11.4程序插装

11.5程序变异测试

11.6白盒测试工具

11.6.1C++Test介绍

11.6.2白盒测试工具JUnit

11.7软件缺陷分析

11.7.1简介

11.7.2软件缺陷的类别

11.7.3软件缺陷的级别

11.7.4软件缺陷产生的原因

11.7.5软件缺陷的构成

11.8小结

11.9思考题

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

12.1概述

12.1.1相关定义

12.1.2软件缺陷的产生原因

12.1.3减少缺陷的关键因素

12.1.4软件缺陷的特征

12.2软件缺陷属性

12.2.1缺陷类型

12.2.2缺陷严重程度

12.2.3同行评审错误严重程度

12.2.4缺陷优先级

12.2.5缺陷状态

12.2.6缺陷起源

12.2.7缺陷来源

12.2.8缺陷根源

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

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

12.3.2处理缺陷的严重性和优先级的常见错误

12.3.3缺陷的严重性和优先级的表示和确定

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

12.4.1初始级的缺陷管理

12.4.2可重复级的缺陷管理

12.4.3已定义级的缺陷管理

12.4.4定量管理级的缺陷管理

12.4.5持续优化级的缺陷管理

12.5报告软件缺陷

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

12.5.2IEEE软件缺陷报告模板

12.6软件缺陷管理

12.6.1缺陷管理目标

12.6.2人员职责

12.6.3缺陷生命周期

12.6.4缺陷管理系统

12.7软件缺陷分析

12.7.1缺陷分析方法

12.7.2缺陷分析指标

12.8小结

12.9思考题

第13章集成测试

13.1概述

13.1.1集成测试的定义

13.1.2集成测试与单元测试和系统测试的区别

13.1.3集成测试的主要任务

13.1.4集成测试的层次与原则

13.2集成测试策略

13.2.1非增量式集成

13.2.2增量式集成

13.2.3其他集成测试策略

13.2.4几种集成测试实施方案的比较

13.3集成测试用例设计

13.3.1为系统运行起来设计用例

13.3.2为正向测试设计用例

13.3.3为逆向测试设计用例

13.3.4为满足特殊需求设计用例

13.3.5为高覆盖率设计用例

13.3.6基于模块接口依赖关系设计用例

13.4集成测试的过程

13.4.1计划阶段

13.4.2设计实现阶段

13.4.3执行评估阶段

13.5面向对象的集成测试

13.5.1对象交互

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

13.5.3面向对象的集成测试常用的测试技术

13.6小结

13.7思考题

第14章系统测试

14.1概述

14.1.1系统测试的定义

14.1.2系统测试的流程

14.1.3系统测试的目标

14.1.4系统测试的方针

14.1.5系统测试的原则

14.2系统测试主要方法

14.2.1性能测试

14.2.2强度测试

14.2.3安全性测试

14.2.4兼容性测试

14.2.5恢复测试

14.2.6用户图形界面测试

14.2.7安装测试

14.2.8可靠性测试

14.2.9配置测试

14.2.10可用性测试

14.2.11文档资料测试

14.2.12网站测试

14.3系统测试工具及其应用

14.3.1系统测试工具分类

14.3.2测试管理系统TestDirector的使用

14.4小结

14.5思考题

第15章测试管理

15.1概述

15.1.1测试的过程及组织

15.1.2测试方法的应用

15.1.3测试的人员组织

15.1.4软件测试文件

15.2建立软件测试管理体系

15.2.1如何建立软件测试管理体系

15.2.2软件测试项目组织结构设计与选择

15.2.3测试管理者的工作原则

15.3测试文档的撰写

15.3.1测试计划

15.3.2测试规范

15.3.3测试案例和测试报告

15.3.4软件缺陷报告

15.4调试的技巧

15.4.1调试过程

15.4.2心理因素

15.4.3调试方法

15.5软件测试自动化

15.5.1实施软件测试自动化的理由

15.5.2软件测试自动化的引入条件

15.5.3不同阶段自动化测试的优势

15.5.4常用自动测试开发工具

15.6小结

15.7思考题

附录A基本术语

附录B计算机软件质量保证计划规范

附录C计算机软件测试文件编制规范

参考文献