内容简介
第Ⅰ部分 软件测试基础篇
第1章 软件与软件危机
1.1.1软件特性
1.1.2软件种类
1.2软件危机
1.2.1软件危机的分析
1.2.2软件危机现象
1.2.3避免软件危机的方法
1.3软件工程
1.3.1软件工程定义
1.3.2软件生命周期
1.3.3敏捷开发过程
习题和思考题
第2章 软件测试基础
2.1软件测试基本概念
2.1.1软件测试发展史
2.1.2软件测试的定义
2.1.3软件测试的目的
2.1.4软件测试的原则
2.1.5软件测试质量度量
2.1.6软件测试与软件开发各阶段的关系
2.2软件测试工作
2.2.1软件测试工作的流程
2.2.2软件测试工具对测试工作的支持
2.2.3软件测试工作的几个认识误区
2.3软件测试职业
2.3.1软件测试职业发展
2.3.2软件测试人员应具备的素质
2.3.3软件测试的就业前景
习题和思考题
第3章 软件测试分类与分级
3.1软件测试分类
3.1.1计算机软件配置项
3.1.2基于CSCI的软件测试分类
3.2软件测试分级
3.2.1软件生命周期的测试分级
3.2.2软件测试中的错误分级及其应用
习题和思考题
第Ⅱ 部分 软件测试过程篇
第4章 软件缺陷管理
4.1软件缺陷
4.1.1软件缺陷的定义
4.1.2软件缺陷描述
4.1.3软件缺陷的分类
4.1.4软件缺陷管理
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缺陷管理工具Mantis及其应用
4.4.3 Mantis应用举例
习题和思考题
第5章 基于生命周期的软件测试方法
5.1生命周期测试概念
5.1.1生命周期测试的工作划分
5.1.2生命周期测试的主要任务
5.1.3基于风险的软件测试方法
5.2生命周期各个阶段的测试要求
5.2.1需求阶段测试
5.2.2设计阶段测试
5.2.3编码阶段测试
5.2.4测试阶段
5.2.5安装阶段测试
5.2.6验收阶段测试
5.2.7维护阶段
5.3生命周期软件测试案例分析
5.3.1被测样例系统需求说明
5.3.4被测样例系统设计说明
习题和思考题
第6章 软件测试过程及测试过程管理
6.1软件测试过程
6.1.1软件测试过程模型
6.1.2软件测试过程中的活动及内容
6.1.3软件测试过程度量
6.1.4软件测试过程成熟度
6.1.5软件测试过程改进
6.2软件测试过程管理
6.2.1软件测试过程管理的理念
6.2.2软件测试计划与测试需求
6.2.3软件测试设计和开发
6.2.4软件测试的执行
6.2.5软件测试文档
6.2.6 软件测试用例、测试数据与测试脚本
6.2.7软件测试过程中的配置管理
6.2.8软件测试过程中的组织管理
6.3软件测试管理工具
6.3.1软件测试管理工具应具备的功能
6.3.2软件测试管理工具的选择
6.3.3常用软件测试管理工具介绍
6.3.4应用软件测试管理工具TestLink
6.3.5 TestLink应用举例
习题和思考题
第Ⅲ部分 软件测试方法与技术篇
第7章 软件静态测试
7.1各阶段评审
7.1.1同行评审
7.1.2测试需求规格说明书
7.2代码检查
7.21代码检查方法
7.2.2代码编程规范检查
7.2.3代码的自动分析
7.2.4代码结构分析
7.2.5代码安全性检查
7.3软件复杂性分析
7.3.1软件复杂性度量与控制
7.3.2软件复杂性度量元
7.3.3面向对象的软件复杂性度量
7.4软件质量模型
7.4.1软件质量的概念
7.4.2软件质量分层模型
7.4.3软件质量度量与评价
7.5代码静态分析工具
7.5.1编程规则检查工具CheckStyle
7.5.2代码缺陷分析工具PMD
7.5.3代码质量分析工具SourceMonitor
习题和思考题
第8章 软件动态测试
8.1白盒测试
8.1.1逻辑覆盖
8.1.2路径测试
8.1.3数据流测试
8.1.4信息流分析
8.1.5覆盖率分析及测试覆盖准则
8.2黑盒测试
8.2.1等价类划分
8.2.2边界值分析
8.2.3因果图
8.2.4随机测试
8.2.5猜错法
8.3测试用例设计
8.3.1测试用例设计概念
8.4.2测试用例编写要素与模板
8.4.3测试用例的设计步骤
8.4.4测试用例分级
8.4.5软件测试用例设计的误区
8.4.6软件测试用例设计举例
习题和思考题
第9章 软件单元测试
9.1单元测试概述
9.1.1单元测试的意义
9.1.2单元测试的内容
9.2单元测试方法和步骤
9.2.1单元测试方法
9.2.2单元测试步骤
9.3单元测试工具与实践
9.3.1单元测试工具JUnit
9.3.2 JUnit下的覆盖测试工具EclEmma
习题和思考题
第10章 软件集成测试和确认测试
10.1集成测试
10.1.1集成测试的概念
10.1.2传统的集成测试方法
10.1.3基于McCabe的设计复杂性与集成复杂性的集成测试方法
10.1.4集成测试过程
10.2确认测试
10.2.1确认测试的基本概念
10.2.2确认测试的过程
10.3集成测试应用举例
习题和思考题
第11章 软件系统测试
11.1系统测试
11.1.1系统测试的概念
11.1.2系统测试中关注的重要问题
11.1.3系统测试的要求和主要内容
11.1.4系统测试设计
11.1.5系统测试手段
11.2系统测试工具
11.2.1功能自动化测试工具Selenium及其应用
11.2.2性能自动化测试工具JMeter及其应用
习题和思考题
第12章 面向对象软件测试
12.1面向对象程序设计语言对软件测试的影响
12.1.1信息隐蔽对测试的影响
12.1.2封装和继承对测试的影响
12.1.3集成测试
12.1.4多态性和动态绑定对测试的影响
12.2面向对象测试模型
12.2.1面向对象分析的测试(OOA Test)
12.2.2面向对象设计的测试(OOD Test)
12.2.3面向对象编程的测试(OOP Test)
12.2.4面向对象的单元测试(OO Unit Test)
12.2.5面向对象的集成测试(OO Integrate Test)
12.2.6面向对象的系统测试(OO System Test)
12.2.7面向对象软件的回归测试
12.2.8基于UML的面向对象软件测试
12.3面向对象软件测试用例的设计
12.3.1基于故障的测试
12.3.2基于脚本的测试
12.3.3面向对象类的随机测试
习题和思考题
参考文献