面向对象系统的测试
分類: 图书,计算机/网络,计算机理论,
作者: (美)Robert V. Binder ; 译者:华庆一、王斌君、陈莉
出 版 社: 人民邮电出版社
出版时间: 2001-4-1字数:版次: 1页数:印刷时间: 20010401开本:印次:纸张:I S B N : 9787115091529包装:内容简介
本书是对面向对象应用进行测试设计和实现自动化的权威性的指南。
全书分预备知识、模型、样式和工具四部分,共19章,阐明了为什么测试必须是基于模型的,并给出了建立可测模型的技术,引入了测试样式的概念并介绍了37种样式,以及如何设计和实现面向对象测试的自动化。
作者力求以易于理解的方式阐述面向对象测试,使读者无需花费太多精力即可以理解并加以利用。本书既可以作为教材,也可以作为面向对象测试的手册,供在软件测试第一线工作的人员以及对面向对象开发和测试有兴趣的人员使用。
目录
第一部分预备知识
第1章 一个小问题
第2章 如何使用本书
2. 1 读者向导
2. 2 约定
2. 2. 1 每章的基本成分
2. 2. 2 难度
2. 2. 3 标准
2. 2. 4 面向对象术语
2. 2. 5 程序设计语言和代码举例
2. 2. 6 测试工具
2. 2. 7 欢迎指出本书的错误
2. 3 用于面向对象测试的FAQ
2. 3. 1 为什么要测试对象
2. 3. 2 测试设计
2. 3. 3 方法和类的测试设计
2. 3. 4 复用的测试
2. 3. 5 子系统和应用系统的测试设计
2. 3. 6 集成测试和开发的顺序
2. 3. 7 回归测试和重复的增量的开发
2. 3. 8 UML模型的测试
2. 3. 9 测试自动机
2. 4 测试过程
第3章 软件测试:简要介绍
3. 1 什么是软件测试
3. 2 定义
3. 3 测试的局限
3. 3. 1 输入/状态空间
3. 3. 2 执行顺序
3. 3. 3 故障敏感性和巧合正确性
3. 3. 4 绝对局限性
3. 4 测试能完成什么
3. 5 文献注释
第4章 必须改变:测试和面向对象软件
4. 1 软件测试的沉闷科学
4. 1. 1 我是对的, 你是对的, 对象也是对的
4. 1. 2 故障模型的作用
4. 1. 3 用于面向对象编程的故障模型
4. 2 范型的副作用
4. 2. 1 什么错了
4. 2. 2 封装
4. 2. 3 继承性
4. 2. 4 多态性
4. 2. 5 消息序列和状态相关错误
4. 2. 6 内置的低层服务
4. 2. 7 错误列表
4. 3 具体语言的风险
4. 3. 1 C++
4. 3. 2 Java
4. 3. 3 Smalltalk
4. 4 面向对象测试的覆盖模型
4. 5 面向对象测试的声明
4. 6 文献注释
第二部分 模 型
第5章 测试模型
5. 1 测试设计与测试模型
5. 1. 1 为什么测试必须是基于模型的
5. 1. 2 什么是模型
5. 1. 3 模型在测试中的作用
5. 1. 4 草图或测试就绪模型
5. 1. 5 结论
5. 2 文献注释
第6章 组合模型
6. 1 组合模型如何支持测试
6. 2 怎样得到判定表
6. 2. 1 基本方法
6. 2. 2 构件和结构
6. 2. 3 汽车保险续保模型
6. 2. 4 无关条件.不知条件和不可能发生条件
6. 2. 5 判定表在面向对象开发中的应用
6. 3 导出逻辑函数
6. 3. 1 布尔表达式
6. 3. 2 真值表与判定表
6. 3. 3 布尔表达式的组成
6. 3. 4 卡诺矩阵(Kanaugh—Veitch Matrix)
6. 3. 5 因—果图(Cause—Effect Graphs)
6. 4 判定表确认(Validation)
6. 5 测试生成(Test Generation)
6. 5. 1 故障模型(Fault Model)
6. 5. 2 全显式变式
6. 5. 3 全变式.全真变式.全假变式和全素因子变式
6. 5. 4 每一个条件/所有条件
6. 5. 5 二元判定图行列式
6. 5. 6 变量的否定(variable negation)
6. 5. 7 非二值变量值域分析
6. 5. 8 其它启发方式
6. 6 选择组合测试策略
6. 7 文献注释
第7章 状态机
7. 1 动机
7. 2 基本模型
7. 2. 1 什么是状态机
7. 2. 2 状态转换图
7. 2. 3 有限状态自动机的一些性质
7. 2. 4 受监视转换
7. 2. 5 Mealy机和Moore机
7. 2. 6 状态转换表
7. 2. 7 基本模型的局限性
7. 2. 8 状态图
7. 2. 9 状态机与面向对象的开发
7. 3 FREE状态模型
7. 3. 1 OOA/D行为模型的局限性
7. 3. 2 状态
7. 3. 3 转换
7. 3. 4 a和w状态
7. 3. 5 继承性及类的展平
7. 3. 6 未指明的事件/转换对偶
7. 4 基于状态的测试设计
7. 4. 1 状态机是如何失败的
7. 4. 2 开发可侧模型
7. 4. 3 N+测试策略
7. 4. 4 相关能力和局限性
7. 4. 5 选择基于状态测试的策略
7. 5 文献注释
第8章 UML测试者指南
8. 1 引言
8. 1. 1 作为测试模型的UML
8. 1. 2 关系测试策略
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. 5 顺序图
8. 5. 1 符号和语义
8. 5. 2 一般测试需求
8. 5. 3 可测试性能扩充
8. 6 活动图
8. 6. 1 符号和语义
8. 6. 2 一般测试模型
8. 7 状态图
8. 8 协作图
8. 8. 1 符号和语义
8. 8. 2 一般测试模型
8. 8. 3 可测试性扩充
8. 9 构件图
8. 9. 1 符号和语义
8. 9. 2 一般测试模型
8. 10 实施图
8. 10. 1 符号和语义
8. 10. 2 一般溯试模型
8. 11 图.关系和测试
8. 12 文献注释
第三部分 样 式
第9章 面向结果的测试策略
9. 1 面向结果的测试
9. 1. 1 基于责任的测试设计的作用
9. 1. 2 基于实现的测试设计的作用
9. 1. 3 面向对象开发的集成
9. 1. 4 利用责任和实现
9. 2 测试设计样式
9. 2. 1 什么是样式
9. 2. 2 样式和测试
9. 2. 3 测试设计样式模板
9. 2. 4 本书中的测试样式
9. 2. 5 应用测试设计样式
9. 3 测试实例.测试包和测试计划的文档
9. 3. 1 IEEE829文件
9. 3. 2 可跟踪性
9. 4 文献注释
第10章 类
10. 1 类测试和集成
10. 1. 1 什么是类范围的测试
10. 1. 2 为什么在类范围进行测试
10. 1. 3 由谁和什么时候测试
10. 1. 4 实例分析:MPR Teltech
10. 2 基础知识
10. 2. 1 类范围集成
10. 2. 2 基于实现的测试模型
10. 2. 3 路径敏感
10. 2. 4 域测试模型
10. 3 方法范围测试设计样式
10. 3. 1 功能内聚
10. 3. 2 方法范围的集成
10. 3. 3 样式
10. 4 类范围测试设计样式
10. 4. 1 类模态性
10. 4. 2 样式
10. 5 展平类范围测试设计样式
10. 5. 1 超类的麻烦
10. 5. 2 展平类的测试策略
10. 5. 3 样式
10. 6 文献注释
第11章 可复用构件
11. 1 测试和复用
11. 1. 1 复用机制
11. 1. 2 测试在复用中的作用
11. 1. 3 复用测试包
11. 2 测试设计样式
11. 2. 1 抽象类测试
11. 2. 2 类属类测试
11. 2. 3 新框架测试
11. 2. 4 流行框架溯试
11. 3 文献注释
第12章 子系统
12. 1 子系统
12. 1. 1 什么是子系统
12. 1. 2 为什么在于系统范围内测试
12. 2 子系统测试设计样式
12. 2. 1 类关联测试
12. 2. 2 往返场景测试
12. 2. 3 受控异常测试
12. 2. 4 模式机测试
12. 3 文献注释
第13章 集成
13. 1 面向对象开发中的集成
13. 1. 1 定义
13. 1. 2 集成测试的必要性
13. 1. 3 相依性分析
13. 1. 4 集成故障
13. 2 集成样式
13. 2. 1 特定范围需要考虑的事项
13. 2. 2 大爆炸集成
13. 2. 3 自底向上集成
13. 2. 4 自顶向下集成
13. 2. 5 协作集成
13. 2. 6 基于集成
13. 2. 7 层次集成
13. 2. 8 客户/服务器集成
13. 2. 9 分布服务集成
13. 2. 10 高频集成
13. 3 文献注释
第14章 应用系统
14. 1 应用系统测试
14. 1. 1 一个告诫人们的故事
14. 1. 2 面向对象应用系统测试
14. 1. 3 应用系统测试策略
14. 2 测试设计样式
14. 2. 1 扩充式用例测试
14. 2. 2 覆盖CRUD
14. 2. 3 按纲要分配测试
14. 3 特定实现的能力
14. 3. 1 配置和兼容性
14. 3. 2 性能
14. 3. 3 完整性和容错性
14. 3. 4 人机交互
14. 4 开发后测试
14. 5 测试性能目标注解
14. 5. 1 批处理系统
14. 5. 2 交互式系统
14. 5. 3 实时系统
14. 6 文献注释
第15章 回归测试
15. 1 预备
15. 1. 1 什么和为什么
15. 1. 2 何时和如何
15. 1. 3 回归故障(RepessionFault)
15. 1. 4 测试自动化
15. 1. 5 测试包维护
15. 1. 6 缩减一个测试包需要考虑的事项
15. 2 测试样式
15. 2. 1 全部再测试
15. 2. 2 再测试风险用例
15. 2. 3 按纲要再测试
15. 2. 4 再测试修改的代码
15. 2. 5 防火墙内再测试
15. 3 文献注释
第四部分工 具
第16章 测试自动机
16. 1 为什么测试必须自动化
16. 2 限制和告诫
第17章 断言
17. 1 简介
17. 1. 1 什么是断言
17. 1. 2 为什么使用断言
17. 1. 3 谁使用断言
17. 2 基于实现的断言
17. 2. 1 假设检查器
17. 2. 2 潜伏的故障和探测器
17. 3 基于责任的断言
17. 3. 1 概述
17. 3. 2 责任.契约和子类型
17. 3. 3 方法范围
17. 3. 4 类范围
17. 3. 5 顺序约束
17. 3. 6 超类/子类范围
17. 3. 7 客户/服务器范围
17. 4 实现
17. 4. 1 程序设计人员的断言FAQ
17. 4. 2 断言动作
17. 4. 3 不可执行的断言
17. 4. 4 Ada95
17. 4. 5 C++
17. 4. 6 Eiffel
17. 4. 7 Java
17. 4. 8 Objective-C
17. 4. 9 Smalltalk
17. 5 实施
17. 5. 1 内嵌测试的验证
17. 5. 2 应用断言设计测试
17. 5. 3 发行前的考虑
17. 5. 4 发行后的考虑
17. 6 限制和告诫
17. 7 一些断言工具
17. 8 文献注释
第18章 预测
18. 1 简介
18. 2 预测样式
18. 2. 1 简介
18. 2. 2 评判
18. 2. 3 预说明预测
18. 2. 4 保值预测
18. 2. 5 有机预测
18. 3 比较器
18. 3. 1 简介
18. 3. 2 确定对象相等
18. 3. 3 深相等和浅相等
18. 3. 4 抽象内容和具体内容
18. 3. 5 别名
18. 3. 6 汇集
18. 3. 7 类型/子类型相等
18. 3. 8 部分相等方法
18. 4 文献注释
第19章 测试装置设计
19. 1 如何开发测试装置
19. 1. 1 需求
19. 1. 2 体系结构
19. 2 测试实例样式
19. 2. 1 考虑
19. 3 测试控制样式
19. 3. 1 考虑
19. 4 驱动器样式
19. 4. 1 考虑
19. 4. 2 驱动器设计样式
19. 5 测试执行样式
19. 6 测试实现语法
19. 7 文献注释
附录 BigFoot's Tootsie:实例研究
术语汇编
参考文献