本书全面系统地讲述了软件质量保证与测试的概念、原理和典型的方法, 并介绍了相关软件项目的管理技术。本书条理清晰、语言流畅、通俗易懂, 在内容组织上力求自然、合理、循序渐进, 并提供了丰富的实例和实践要点。
 
	第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.4工业时代的人才特点
	 
	1.4.1软件人才的需求
	 
	1.4.2软件测试员应具备的素质
	 
	1.5小结
	 
	思考题
	 
	第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.2SQA活动和实施
	 
	2.4小结
	 
	思考题
	 
	第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.5VSS的使用
	 
	3.5小结
	 
	思考题
	 
	第4章软件可靠性度量和测试
	 
	4.1软件可靠性
	 
	4.1.1软件可靠性的发展史
	 
	4.1.2软件可靠性的定义
	 
	4.1.3基本数学关系
	 
	4.1.4影响因素
	 
	4.1.5软件的差错、故障和失效
	 
	4.2可靠性模型及其评价标准
	 
	4.2.1软件可靠性模型
	 
	4.2.2模型及其应用
	 
	4.2.3软件可靠性模型评价准则
	 
	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小结
	 
	思考题
	 
	第5章软件质量标准
	 
	5.1软件质量标准概述
	 
	5.1.1国际标准
	 
	5.1.2国家标准
	 
	5.1.3行业标准
	 
	5.1.4企业规范
	 
	5.1.5项目规范
	 
	5.2ISO 9001和90003在软件中的应用
	 
	5.3能力成熟度模型
	 
	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 155042:2003软件过程评估标准
	 
	5.5.2Tick IT
	 
	5.6小结
	 
	思考题
	 
	第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小结
	 
	思考题
	 
	第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.6人员组织结构
	 
	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.6注意问题
	 
	7.4.7发展方向
	 
	7.5小结
	 
	思考题
	 
	第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小结
	 
	思考题
	 
	第9章软件测试
	 
	9.1目的和原则
	 
	9.1.1软件测试的目的
	 
	9.1.2软件测试的原则
	 
	9.2软件测试的种类
	 
	9.2.1软件测试过程概述
	 
	9.2.2单元测试
	 
	9.2.3集成测试
	 
	9.2.4系统测试
	 
	9.2.5验收测试
	 
	9.2.6回归测试
	 
	9.2.7敏捷测试
	 
	9.3软件测试与软件开发
	 
	9.3.1整个软件开发生命周期
	 
	9.3.2生命周期测试与V模型
	 
	9.3.3软件测试IDE产品
	 
	9.4软件测试的现状
	 
	9.4.1软件测试的过去、现在和未来
	 
	9.4.2产业现状
	 
	9.5测试工具的选择
	 
	9.5.1白盒测试工具
	 
	9.5.2黑盒测试工具
	 
	9.5.3测试设计和开发工具
	 
	9.5.4测试执行和评估工具
	 
	9.5.5测试管理工具
	 
	9.5.6功能和成本
	 
	9.6小结
	 
	思考题
	 
	第10章黑盒测试
	 
	10.1等价类划分法
	 
	10.1.1划分等价类
	 
	10.1.2方法
	 
	10.1.3设计测试用例
	 
	10.2边界值分析法
	 
	10.2.1边界条件
	 
	10.2.2次边界条件
	 
	10.2.3其他边界条件
	 
	10.2.4边界值的选择方法
	 
	10.3因果图法
	 
	10.3.1因果图设计方法
	 
	10.3.2因果图测试用例
	 
	10.4功能图法
	 
	10.4.1功能图设计方法
	 
	10.4.2功能图法生成测试用例
	 
	10.5比较与选择
	 
	10.6黑盒测试工具
	 
	10.6.1WinRunner的使用
	 
	10.6.2LoadRunner的使用
	 
	10.6.3QTP的使用
	 
	10.7小结
	 
	思考题
	 
	第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.6C Test和白盒测试工具
	 
	11.6.1C Test的使用
	 
	11.6.2白盒测试工具
	 
	11.7软件缺陷分析
	 
	11.7.1简介
	 
	11.7.2软件缺陷的类别
	 
	11.7.3软件缺陷的级别
	 
	11.7.4软件缺陷产生的原因
	 
	11.7.5软件缺陷的构成
	 
	11.8小结
	 
	思考题
	 
	第12章基于缺陷模式的软件测试
	 
	12.1相关定义
	 
	12.1.1软件缺陷的产生原因
	 
	12.1.2减少缺陷的关键因素
	 
	12.1.3软件缺陷的特征
	 
	12.2软件缺陷的属性
	 
	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.6.5缺陷分析方法
	 
	12.6.6缺陷分析指标
	 
	12.7小结
	 
	思考题
	 
	第13章集成测试
	 
	13.1集成测试的定义
	 
	13.1.1区别
	 
	13.1.2集成测试的主要任务
	 
	13.1.3集成测试的层次与原则
	 
	13.2集成测试策略
	 
	13.2.1非渐增式集成
	 
	13.2.2渐增式集成
	 
	13.2.3其他集成测试策略
	 
	13.2.4几种实施方案的比较
	 
	13.3集成测试用例设计
	 
	13.4集成测试的过程
	 
	13.4.1计划阶段
	 
	13.4.2设计实现阶段
	 
	13.4.3执行评估阶段
	 
	13.5面向对象的集成测试
	 
	13.5.1对象交互
	 
	13.5.2面向对象的集成测试的步骤
	 
	13.5.3常用的测试技术
	 
	13.6小结
	 
	思考题
	 
	第14章系统测试
	 
	14.1系统测试的定义
	 
	14.2系统测试的流程
	 
	14.3系统测试的主要方法
	 
	14.3.1性能测试
	 
	14.3.2强度测试
	 
	14.3.3安全性测试
	 
	14.3.4兼容性测试
	 
	14.3.5恢复测试
	 
	14.3.6用户图形界面测试
	 
	14.3.7安装测试
	 
	14.3.8可靠性测试
	 
	14.3.9配置测试
	 
	14.3.10可用性测试
	 
	14.3.11文档资料测试
	 
	14.3.12网站测试
	 
	14.4系统测试工具
	 
	14.4.1系统测试工具的分类
	 
	14.4.2TestDirector的使用
	 
	14.5小结
	 
	思考题
	 
	第15章测试管理
	 
	15.1测试管理过程
	 
	15.1.1测试的过程及组织
	 
	15.1.2测试方法的应用
	 
	15.1.3测试的人员组织
	 
	15.1.4