内容简介
第一部分 基础篇
第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.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.4.6 其他测试类型
1.5 测试用例
1.5.1 测试用例编写
1.5.2 测试用例设计
1.6 软件测试行业的历史、现状和前景
1.6.1 软件测试的历史回顾
1.6.2 软件测试的现状
1.6.3 软件测试的前景
1.7 小结
本章习题
第2章 软件测试生命周期
2.1 软件开发的基本过程
2.1.1 需求分析
2.1.2 设计
2.1.3 编码
2.1.4 测试
2.1.5 项目管理
2.2 软件开发过程模型
2.2.1 编码修正模型
2.2.2 瀑布模型
2.2.3 增量模型
2.2.4 演化模型
2.2.5 螺旋模型
2.2.6 RUP模型
2.2.7 MSF过程模型
2.2.8 敏捷开发过程模型
2.3 软件项目中的测试流程
2.3.1 软件生命周期中的测试
2.3.2 测试的基本流程
2.3.3 软件测试的组织
2.4 小结
本章习题
第3章 测试过程相关模型
3.1 测试过程模型
3.1.1 V模型
3.1.2 W模型
3.1.3 H模型
3.1.4 X模型
3.1.5 前置测试模型
3.2 测试过程改进模型
3.2.1 TMM
3.2.2 FPI
3.2.3 其他模型
3.3 小结
本章习题
第二部分 方法篇
第4章 静态测试与动态测试
4.1 静态测试技术
4.1.1 概述
4.1.2 代码检查
4.1.3 静态结构分析
4.2 动态测试技术
4.2.1 概述
4.2.2 主动测试与被动测试
4.3 小结
本章习题
第5章 白盒测试
5.1 白盒测试概述
5.2 程序插桩技术
5.3 逻辑覆盖法
5.3.1 语句覆盖
5.3.2 判定覆盖
5.3.3 条件覆盖
5.3.4 条件判定覆盖
5.3.5 条件组合覆盖
5.3.6 路径覆盖
5.4 基本路径法
5.5 白盒测试方法选择
5.6 小结
本章习题
第6章 黑盒测试
6.1 黑盒测试方法
6.1.1 等价类划分法
6.1.2 边界值分析法
6.1.3 因果图法
6.1.4 决策表法
6.1.5 正交试验法
6.1.6 场景法
6.2 黑盒测试方法选择
6.3 黑盒测试和白盒测试比较
6.4 小结
本章习题
第三部分 过程篇
第7章 单元测试
7.1 单元测试概述
7.1.1 单元测试原则
7.1.2 单元测试内容
7.1.3 单元测试方法
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 Z路径覆盖
7.3.3 ESTCA覆盖
7.3.4 LCSAJ覆盖
7.3.5 MC/DC覆盖
7.4 单元测试案例
7.4.1 测试策划
7.4.2 测试设计
7.4.3 测试执行
7.4.4 测试总结
7.5 小结
本章习题
第8章 集成测试
8.1 集成测试概述
8.1.1 集成测试原则
8.1.2 集成测试分析
8.1.3 集成测试内容
8.1.4 集成测试过程
8.2 集成测试策略
8.2.1 非增量式集成测试
8.2.2 增量式集成测试
8.3 常用的集成测试方法
8.3.1 基于功能分解的集成测试
8.3.2 基于调用图的功能测试
8.3.3 基于路径的集成测试
8.4 集成测试案例
8.4.1 测试前的准备
8.4.2 测试策划
8.4.3 测试设计与执行
8.4.4 集成测试验收标准
8.4.5 测试总结
8.5 小结
本章习题
第9章 系统测试
9.1 系统测试概述
9.2 系统测试类型
9.2.1 功能测试
9.2.2 性能测试
9.2.3 安装测试
9.2.4 可用性测试
9.2.5 压力测试
9.2.6 容量测试
9.2.7 安全性测试
9.2.8 健壮性测试
9.2.9 图形用户界面测试
9.2.10 文档测试
9.3 系统测试案例
9.3.1 测试准备
9.3.2 测试概要
9.3.3 测试环境
9.3.4 测试结果
9.3.5 测试结论
9.3.6 分析与量度
9.4 小结
本章习题
第10章 验收测试
10.1 验收测试概述
10.1.1 验收测试的目的
10.1.2 进入验收测试的条件
10.2 验收测试的内容及过程
10.2.1 验收测试的内容
10.2.2 验收测试的过程
10.3 测试的深度与广度
10.4 验收测试阶段
10.4.1 α测试阶段
10.4.2 β测试阶段
10.4.3 预最终测试阶段
10.4.4 最终完整性测试阶段
10.5 验收测试案例
10.5.1 项目概述
10.5.2 系统简介
10.5.3 测试内容
10.5.4 测试结论
10.6 小结
本章习题
第11章 面向对象的软件测试
11.1 面向对象概述
11.1.1 面向对象的基本概念
11.1.2 面向对象的开发方法
11.1.3 面向对象的分析与设计
11.1.4 面向对象模型
11.2 面向对象软件的测试策略
11.2.1 面向对象的单元测试
11.2.2 面向对象的集成测试
11.2.3 面向对象的系统测试
11.2.4 面向对象系统的回归测试
11.2.5 面向对象测试的相关模型
11.3 面向对象软件的测试用例设计
11.3.1 面向对象测试用例设计的基本概念
11.3.2 面向对象编程对测试的影响
11.3.3 基于故障的测试
11.3.4 基于场景的测试
11.3.5 表层结构和深层结构的测试
11.4 面向对象的软件测试案例
11.4.1 HelloWorld类的测试
11.4.2 Date.increment方法的测试
11.5 小结
本章习题
第四部分 工具篇
第12章 软件测试自动化
12.1 软件自动测试概述
12.2 手工测试与自动测试
12.2.1 自动测试与手工测试的比较
12.2.2 自动测试的优、缺点
12.3 自动测试的原理和方法
12.3.1 代码分析
12.3.2 捕获回放
12.3.3 录制回放
12.3.4 脚本技术
12.3.5 自动化比较
12.4 软件自动测试的开展
12.4.1 软件自动测试的引入原则
12.4.2 软件自动测试的生命周期
12.4.3 软件自动测试的成本
12.4.4 软件自动测试的导入时机
12.4.5 软件自动测试的人员要求
12.4.6 软件自动测试在实施中存在的问题
12.5 软件自动测试的方案选择
12.5.1 确定自动测试的对象和范围
12.5.2 选择自动测试的方案和脚本编写方法
12.6 软件自动测试的工具
12.6.1 自动测试工具的特征
12.6.2 自动测试工具的作用和优势
12.6.3 自动测试工具的选择
12.6.4 自动测试工具的分类
12.6.5 自动测试工具的局限性
12.7 小结
本章习题
第13章 单元测试工具JUnit
13.1 JUnit慨述
13.1.1 JUnit简介
13.1.2 JUnit框架组成
13.2 JUnit测试过程
13.3 JUnit测试用例
13.4 JUnit安装与集成
13.4.1 JUnit简单安装
13.4.2 JUnit与IDE集成安装
13.5 从JUnit3到JUnit4
13.5.1 代码构成
13.5.2 运行原理
13.5.3 打包测试
13.5.4 多线程测试
13.6 JUnit实例
13.6.1 实例介绍
13.6.2 常规测试
13.6.3 使用JUnit测试
13.7 小结
本章习题
第14章 负载测试工具LoadRunner
14.1 LoadRunner综述
14.1.1 LoadRunner简介
14.1.2 LoadRunner主要特性
14.1.3 LoadRunner组件和术语
14.1.4 LoadRunner工作流程
14.2 制定负载测试计划
14.2.1 分析应用程序
14.2.2 计划怎样执行
14.3 创建测试脚本
14.3.1 创建空白脚本
14.3.2 VuGen界面介绍
14.3.3 录制脚本
14.4 设计运行场景
14.4.1 新建场景
14.4.2 负载生成器管理
14.4.3 虚拟用户管理
14.4.4 运行设置
14.5 运行测试场景
14.6 监视场景
14.7 结果分析
14.8 LoadRunner综合应用
14.9 小结
本章习题
第五部分 实战篇
第15章 聚合文件管理工具测试
15.1 案例概述
15.2 测试计划
15.3 测试用例
15.3.1 单元测试用例
15.3.2 功能测试用例
15.4 测试分析报告
15.5 小结
本章习题
第16章 网上书店系统测试
16.1 网站测试概述
16.1.1 网站测试概念
16.1.2 网站测试过程
16.1.3 数据库测试
16.1.4 用户界面测试
16.1.5 构件级测试
16.1.6 配置测试
16.1.7 安全性测试
16.1.8 系统性能测试
16.2 案例概述
16.2.1 用户简介
16.2.2 项目的目的与目标
16.2.3 目标系统功能需求
16.2.4 目标系统性能需求
16.2.5 目标系统界面需求
16.2.6 目标系统的其他需求
16.2.7 目标系统的假设与约束条件
16.3 项目测试计划
16.3.1 测试项目
16.3.2 测试方案
16.3.3 测试资源
16.4 测试用例设计
16.4.1 单元测试用例
16.4.2 功能测试用例
16.4.3 性能测试用例
16.5 测试进度
16.5.1 单元测试
16.5.2 集成测试
16.5.3 系统测试
16.5.4 验收测试
16.6 评价
16.6.1 范围
16.6.2 数据整理
16.6.3 量度
16.7 测试分析报告
16.7.1 引言
16.7.2 测试计划实施
16.7.3 评价
16.8 小结
本章习题
第17章 手机视频播放软件测试
17.1 手机软件测试概述
17.1.1 移动终端介绍
17.1.2 手机软件测试用例设计
17.1.3 手机软件测试基本流程
17.2 手机软件测试技术
17.2.1 手机智能终端平台简介
17.2.2 测试环境搭建实例
17.2.3 业务应用软件测试
17.3 案例概述
17.3.1 项目概述
17.3.2 功能需求
17.3.3 性能需求
17.4 测试计划
17.4.1 测试目标
17.4.2 测试方案
17.4.3 测试资源
17.5 测试用例
17.5.1 功能测试用例
17.5.2 性能测试用例
17.6 测试过程
17.6.1 单元测试
17.6.2 集成测试
17.6.3 系统测试
17.6.4 验收测试
17.7 测试分析报告
17.7.1 引言
17.7.2 测试概要
17.7.3 测试结果及发现
17.7.4 分析摘要
17.7.5 测试资源消耗
17.8 小结
本章习题
部分习题参考答案
附录A 测试文档模板
参考文献