出版说明
前言
第1章 软件工程与软件测试
1.1 软件
1.1.1 软件的发展史
1.1.2 软件的生命周期
1.2 软件过程
1.2.1 RUP
1.2.2 敏捷过程
1.3 软件缺陷
1.3.1 缺陷
1.3.2 缺陷后果
1.3.3 缺陷分析方法
1.3.4 与缺陷相关的几个概念
1.4 软件质量
1.4.1 简介
1.4.2 质量模型
1.4.3 质量管理
1.4.4 CMM/CMMI
1.4.5 质量与测试
1.5 软件测试与软件开发的关系
1.6 思考题
第2章 软件测试概论
2.1 关于测试的几种观点
2.2 测试发展历程
2.3 测试行业现状
2.4 软件测试职业
2.4.1 测试岗位的职能
2.4.2 测试人员的素质
2.5 测试用例
2.5.1 简介
2.5.2 测试用例的设计准则
2.5.3 测试用例的设计步骤
2.5.4 测试用例的内容及维护
2.5.5 测试用例的设计误区
2.6 与测试相关的几个概念
2.6.1 排错
2.6.2 验证与确认
2.7 测试认识的误区
2.8 思考题
第3章 软件测试基础知识
3.1 软件的可测试性与测试目的
3.2 软件测试分类
3.2.1 按照开发阶段划分
3.2.2 按照执行主体划分
3.2.3 按照执行状态划分
3.2.4 按照测试技术划分
3.3 软件测试模型
3.3.1 V模型
3.3.2 W模型
3.3.3 H模型
3.3.4 X模型
3.3.5 前置模型
3.3.6 测试模型总结
3.4 两个“3”
3.4.1 测试3维空间
3.4.2 测试驱动的3种方法
3.5 软件测试注意事项
3.6 终止软件测试的标准
3.7 思考题
第4章 软件的测试过程
4.1 概述
4.2 测试计划
4.2.1 测试计划的内容
4.2.2 一些关键问题
4.3 测试设计
4.4 测试实施过程
4.4.1 单元测试
4.4.2 集成测试
4.4.3 确认测试
4.4.4 系统测试
4.4.5 验收测试
4.4.6 回归测试
4.4.7 小结
4.5 评估测试
4.5.1 评估测试的方法
4.5.2 评估测试的内容
4.6 思考题
第5章 黑盒测试
5.1 概述
5.2 等价类划分
5.2.1 划分原则
5.2.2 应用实例
5.3 边界值分析法
5.3.1 设计原则
5.3.2 应用实例
5.4 功能图测试
5.5 随机数据法
5.6 元素分析法与错误推测法
5.7 决策表
5.7.1 应用实例
5.7.2 优点和缺点
5.8 因果图
5.8.1 基本术语
5.8.2 测试用例的生成步骤
5.8.3 应用实例
5.9 测试方法的综合使用策略
5.1 0GUI测试
5.10.1 GUI测试的10条原则
5.10.2 GUI测试步骤
5.11 测试工具QTP
5.12 GUI捕捉/回放实例
5.12.1 采用原理
5.12.2 具体实现
5.13 思考题
第6章 白盒测试
6.1 概述
6.2 白盒测试的发展历程
6.3 逻辑覆盖法
6.3.1 语句覆盖
6.3.2 判定覆盖
6.3.3 条件覆盖
6.3.4 判定-条件覆盖
6.3.5 条件组合覆盖
6.3.6 路径覆盖
6.3.7 逻辑覆盖法总结
6.4 结构性测试
6.4.1 数据流测试
6.4.2 基本路径测试
6.5 控制结构测试
6.5.1 条件测试
6.5.2 循环测试
6.6 程序插桩
6.7 其他测试方法
6.8 白盒测试综合策略
6.8.1 最小测试用例数的计算
6.8.2 覆盖准则
6.9 调试
6.9.1 调试策略
6.9.2 3种调试技术
6.10 思考题
第7章 自动化测试及其工具
7.1 自动化测试
7.1.1 自动化测试的作用
7.1.2 自动化测试的应用场合
7.2 自动化测试的发展历程
7.3 测试成熟度模型
7.4 自动化测试的属性
7.5 自动化测试的原理
7.5.1 代码分析
7.5.2 录制回放
7.5.3 脚本技术
7.5.4 虚拟用户技术
7.6 自动化测试生存周期方法学
7.7 自动化测试工具
7.7.1 简介
7.7.2 自动化测试工具的分类
7.7.3 测试工具的特征
7.7.4 测试工具的选择
7.8 JUnit
7.8.1 JUnit的安装
7.8.2 JUnit的特点
……
第8章 性能测试
第9章 面向对象的测试
第10章 软件测试管理
附录
参考文献