第一部分 软件测试基础
第1章 软件测试概述
1.1 软件测试的背景与意义
1.1.1 著名软件错误案例
1.1.2 软件的定义及分类
1.1.3 软件工程概述
1.2 软件测试的相关概念
1.2.1 软件缺陷的定义
1.2.2 软件缺陷的来源
1.2.3 软件测试的定义
1.3 软件测试的目标与原则
1.3.1 软件测试的目标
1.3.2 软件测试的原则
1.4 软件测试的分类
1.4.1 按测试阶段分类
1.4.2 按是否需要运行被测软件分类
1.4.3 按是否需要查看代码分类
1.4.4 按测试执行时是否需要人工干预分类
1.4.5 其他测试类型
1.5 本章小结
习题
第2章 软件测试过程模型
2.1 软件测试模型及软件测试过程模型概述
2.1.1 软件测试模型的定义
2.1.2 软件测试过程模型的定义
2.1.3 软件测试过程模型的作用和意义
2.2 经典的软件测试过程模型
2.2.1 V模型
2.2.2 W模型
2.3 软件测试过程改进模型
2.3.1 TMM
2.3.2 TPI模型
2.3.3 其他软件测试过程改进模型
2.4 本章小结
习题
第3章 软件测试方法
3.1 静态测试
3.1.1 代码检查
3.1.2 静态结构分析
3.2 动态测试
3.2.1 主动测试
3.2.2 被动测试
3.3 白盒测试
3.3.1 程序插桩法
3.3.2 逻辑覆盖法
3.3.3 基本路径法
3.4 黑盒测试
3.4.1 黑盒测试方法
3.4.2 白盒测试和黑盒测试比较
3.5 本章小结
习题
第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.2.4 集成测试的相关策略
4.2.5 集成测试常用方法
4.2.6 集成测试相关案例
4.3 系统测试
4.3.1 系统测试简介
4.3.2 系统测试的内容
4.3.3 系统测试相关案例
4.4 验收测试
4.4.1 验收测试简介
4.4.2 验收测试的内容
4.4.3 验收测试的过程
4.4.4 验收测试的阶段
4.4.5 验收测试相关案例
4.5 本章小结
习题
第5章 软件测试管理
5.1 软件测试管理概述
5.1.1 软件测试项目
5.1.2 软件测试项目管理
5.1.3 软件测试项目范围管理
5.2 软件测试计划
5.2.1 软件测试计划的制订
5.2.2 软件测试计划的执行
5.3 软件测试文档
5.3.1 软件测试文档的作用
5.3.2 主要的软件测试文档
5.4 测试组织和人员管理
5.4.1 测试人员及组织结构
5.4.2 测试人员的沟通和激励
5.4.3 测试人员的培训
5.5 软件测试过程控制
5.5.1 软件测试项目的过程管理
5.5.2 软件测试项目的配置管理
5.5.3 软件测试项目的风险管理
5.5.4 软件测试项目的成本管理
5.6 本章小结
习题
第6章 面向对象的软件测试
6.1 面向对象技术概述
6.1.1 面向对象的基本概念
6.1.2 面向对象的开发方法
6.1.3 面向对象的分析与设计
6.1.4 面向对象的模型技术
6.2 面向对象的软件测试策略
6.2.1 面向对象的单元测试
6.2.2 面向对象的集成测试
6.2.3 面向对象的系统测试
6.2.4 面向对象的回归测试
6.3 面向对象的软件测试用例设计
6.3.1 面向对象测试用例设计概述
6.3.2 面向对象编程对测试的影响
6.3.3 基于故障的测试
6.3.4 基于场景的测试
6.3.5 针对表层结构和深层结构的测试
6.4 面向对象的软件测试案例
6.4.1 HelloWorld类的测试
6.4.2 Date.increment()方法的测试
6.5 本章小结
习题
第二部分 工具应用
第7章 自动化测试
7.1 自动化测试概述
7.1.1 手动测试与自动化测试
7.1.2 自动化测试的优缺点
7.2 自动化测试的方法
7.2.1 代码分析
7.2.2 捕获和回放
7.2.3 录制/回放技术
7.2.4 脚本技术
7.2.5 自动化比较
7.3 自动化测试的开展
7.3.1 自动化测试的引入原则
7.3.2 自动化测试的生命周期
7.3.3 自动化测试的成本
7.3.4 自动化测试的导入时机
7.3.5 自动化测试的人员要求
7.3.6 自动化测试存在的问题
7.4 自动化测试方案的选择
7.4.1 自动化测试对象分析
7.4.2 确定自动化测试方案
展开