第1章 绪论
第2章 软件测试基础
2.1 术语和目的
2.1.1 错误和缺陷术语
2.1.2 测试术语
2.1.3 软件质量
2.1.4 测试工作量
2.2 基本测试过程
2.2.1 测试计划和控制
2.2.2 测试分析和设计
2.2.3 测试实现和执行
2.2.4 测试出口准则的评估和报告
2.2.5 测试结束活动
2.3 测试心理学
2.4 测试基本原理
2.5 小结
第3章 软件生命周期中的测试
3.1 通用V模型
3.2 组件测试
3.2.1 术语解释
3.2.2 测试对象
3.2.3 测试环境
3.2.4 测试目标
3.2.5 测试策略
3.3 集成测试
3.3.1 术语解释
3.3.2 测试对象
3.3.3 测试环境
3.3.4 测试目标
3.3.5 集成策略
3.4 系统测试
3.4.1 术语解释
3.4.2 测试对象和测试环境
3.4.3 测试目标
3.4.4 系统测试实践中的问题
3.5 验收测试
3.5.1 根据合同进行的验收测试
3.5.2 用户验收测试
3.5.3 操作(验收)测试
3.5.4 现场测试
3.6 产品新版本的测试
3.6.1 软件维护
3.6.2 版本开发
3.6.3 增量开发中的测试
3.7 测试的常见类型
3.7.1 功能测试
3.7.2 非功能测试
3.7.3 软件结构的测试
3.7.4 与变更有关的测试和回归测试
3.8 小结
第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.2.4 控制流分析
4.2.5 确定度量
4.3 小结
第5章 动态分析——测试设计技术
5.1 黑盒测试技术
5.1.1 等价类划分
5.1.2 边界值分析
5.1.3 状态转换测试
5.1.4 因果图技术和决策表技术
5.1.5 用例测试
5.1.6 其他黑盒技术
5.1.7 黑盒技术的常规讨论
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.4 小结
第6章 测试管理
6.1 测试的组织
6.1.1 测试团队
6.1.2 任务和资质
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.4 测试策略的定义
6.4.1 预防性方法和应对性方法
6.4.2 分析式方法和启发式方法
6.4.3 测试和风险
6.5 测试活动管理
6.5.1 计划测试周期
6.5.2 监测测试周期
6.5.3 测试周期控制
6.6 事件管理
6.6.1 测试日志
6.6.2 事件报告
6.6.3 事件分类
6.6.4 事件状态
6.7 配置管理需求
6.8 相关标准
6.9 小结
第7章 测试工具
7.1 测试工具的类型
7.1.1 测试管理及控制的工具
7.1.2 测试规格说明的工具
7.1.3 静态测试的工具
7.1.4 动态测试的工具
7.1.5 非功能测试的工具
7.2 测试工具的选择和引入
7.2.1 工具引入的成本效益
7.2.2 工具的选择
7.2.3 工具的引入
7.3 小结
附录A 根据IEEE 829标准制定的测试计划模板
附录B 关于课程和认证测试人员考试的重要信息
附录C 习题
术语表
参考文献
索引