前言
教学建议
第一部分 软件测试背景知识
第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.4 软件的可测性
1.5 软件测试原则
1.6 测试与调试
1.7 小结
习题
第2章 图论
2.1 无向图
2.2 有向图
2.3 用于测试的图
2.3.1 程序图
2.3.2 有限状态机
2.3.3 Petri网
2.3.4.事件驱动的Petri网
2.3.5 状态图
习题
第3章 测试案例
3.1 工资支付系统
3.2 三角形类型问题
3.3 简化的录像机系统
3.4 简单自动柜员机问题
3.5 货币转换程序
3.6 面向对象的Next Date问题
3.7 挡风玻璃雨刷系统
3.8 小结
习题
第二部分 软件测试战术
第4章 覆盖准则
4.1 引言
4.2 图覆盖准则
4.2.1 结构化的覆盖准则
4.2.2 案例:寻找主路径
4.2.3 数据流覆盖准则
4.2.4 案例:三种数据流覆盖准则的区别
4.2.5 图覆盖准则之间的包含关系
4.3 逻辑覆盖准则
4.3.1 逻辑谓词和子句
4.3.2 逻辑表达式覆盖准则
4.3.3 活动子句覆盖准则
4.3.4 案例:带气门的系统CACC和RACC设计
4.3.5 非活动子句覆盖准则
4.3.6 逻辑覆盖准则的包含关系
4.3.7 建立判定谓词的子句
4.3.8 案例:工资支付系统查找满足覆盖准则的值
4.4 输入空间的划分准则
4.4.1 输入域建模
4.4.2 组合策略准则
4.4.3 划分中的约束
4.5 基于语法的覆盖准则
4.5.1 BNF覆盖准则
4.5.2 变异测试覆盖准则
4.5.3 案例:stream语法的MOC
和MPC覆盖
4.5.4 基于程序的语法覆盖准则
4.5.5 案例:min方法的变异测试
4.6 小结
习题
第5章 白盒测试
5.1 路径测试
5.1.1 程序图的表示
5.1.2 DD.路径
5.1.3 基路径测试
5.1.4 独立程序路径
5.1.5 案例:计算平均值的程序
5.2 控制结构测试
5.2.1 条件测试
5.2.2 案例:三角形问题的条件测试
5.2.3 数据流测试
5.2.4 案例:三角形问题的数据流测试
5.2.5 循环测试
5.2.6 案例:计算平均值的程序
5.3 变异测试
5.3.1 结构化变异
5.3.2 面向对象变异
5.3.3 案例:工资支付系统
5.4 小结
习题
第6章 黑盒测试
6.1 基于图的测试
6.1.1 基于图的测试方法
6.1.2 案例:工资支付系统的活动图测试设计
6.2 等价划分
6.2.1 等价划分的测试方法
6.2.2 案例:工资支付系统的等价类测试设计
6.3 边界值分析
6.3.1 边界值分析的测试方法
6.3.2 案例:工资支付系统的边界值测试设计
6.4 正交表测试
6.4.1 正交表测试方法
6.4.2 案例:工资支付系统的正交表测试设计
6.5 健壮性测试
6.5.1 健壮性测试方法
6.5.2 测试用例生成要求
6.5.3 案例:工资支付系统的健壮性测试设计
6.6 决策表测试
6.6.1 决策表测试方法
6.6.2 案例:工资支付系统的决策表测试设计
6.7 有穷状态测试
6.7.1 有穷状态测试方法
6.7.2 案例:工资支付系统的有穷状态测试设计
6.8 小结
习题
第三部分软件测试策略
第7章 软件测试的策略性方法
7.1 测试策略概述
7.2 验证与确认
7.3 软件测试的组织
7.4 软件测试的层次
7.4.1 测试层次的传统观点
7.4.2 生命周期模型对测试的影响
7.5 人工测试技术
7.5.1 走查
7.5.2 正式评审
7.5.3 审查
7.6 自动化测试与人工测试
7.7 测试完成的标准
7.8 回归测试
7.9 小结
习题
……
第三部分 软件测试策略
第四部分 特定环境和特定体系结构的测试
第五部分 测试管理与工具
附录 测试文档模板
参考文献
展开