《面向对象系统的测试》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)Robert V.Binder著;华庆一等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2001
  • ISBN:7115091528
  • 页数:770 页
图书介绍:

第一部分 预备知识 3

第1章 一个小问题 3

第2章 如何使用本书 9

2.1 读者向导 9

2.2 约定 11

2.2.1 每章的基本成分 11

2.2.2 难度 12

2.2.3 标准 12

2.2.4 面向对象术语 12

2.2.5 程序设计语言和代码举例 14

2.2.6 测试工具 15

2.2.7 欢迎指出本书的错误 16

2.3 用于面向对象测试的FAQ 16

2.3.1 为什么要测试对象 17

2.3.2 测试设计 18

2.3.3 方法和类的测试设计 19

2.3.4 复用的测试 20

2.3.5 子系统和应用系统的测试设计 21

2.3.6 集成测试和开发的顺序 21

2.3.7 回归测试和重复的增量的开发 23

2.3.8 UML模型的测试 24

2.3.9 测试自动机 26

2.4 测试过程 28

第3章 软件测试:简要介绍 29

3.1 什么是软件测试 29

3.2 定义 31

3.3 测试的局限 37

3.3.1 输入/状态空间 37

3.3.2 执行顺序 38

3.3.3 故障敏感性和巧合正确性 39

3.3.4 绝对局限性 41

3.4 测试能完成什么 41

3.5 文献注释 43

第4章 必须改变:测试和面向对象软件 45

4.1 软件测试的沉闷科学 45

4.1.1 我是对的,你是对的,对象也是对的 45

4.1.2 故障模型的作用 46

4.1.3 用于面向对象编程的故障模型 48

4.2 范型的副作用 49

4.2.1 什么错了 49

4.2.2 封装 50

4.2.3 继承性 51

4.2.4 多态性 54

4.2.5 消息序列和状态相关错误 57

4.2.6 内置的低层服务 60

4.2.7 错误列表 60

4.3 具体语言的风险 64

4.3.1 C++ 65

4.3.2 Java 67

4.3.3 Smalltalk 67

4.4 面向对象测试的覆盖模型 68

4.5 面向对象测试的声明 72

4.6 文献注释 75

第二部分 模型 79

第5章 测试模型 79

5.1 测试设计与测试模型 79

5.1.1 为什么测试必须是基于模型的 79

5.1.2 什么是模型 79

5.1.3 模型在测试中的作用 80

5.1.4 草图或测试就绪模型 81

5.1.5 结论 83

5.2 文献注释 84

第6章 组合模型 85

6.1 组合模型如何支持测试 85

6.2 怎样得到判定表 86

6.2.1 基本方法 86

6.2.2 构件和结构 86

6.2.3 汽车保险续保模型 87

6.2.4 无关条件、不知条件和不可能发生条件 88

6.2.5 判定表在面向对象开发中的应用 91

6.3.1 布尔表达式 92

6.3 导出逻辑函数 92

6.3.2 真值表与判定表 94

6.3.3 布尔表达式的组成 94

6.3.4 卡诺矩阵(Kanaugh-Veitch Matrix) 98

6.3.5 因-果图(Cause-Effect Graphs) 100

6.4 判定表确认(Validation) 104

6.5 测试生成(Test Generation) 105

6.5.1 故障模型(Fault Model) 105

6.5.2 全显式变式 106

6.5.3 全变式、全真变式、全假变式和全素因子变式 106

6.5.4 每一个条件/所有条件 107

6.5.5 二元判定图行列式 108

6.5.6 变量的否定(Variable negation) 111

6.5.7 非二值变量值域分析 113

6.5.8 其它启发方式 113

6.6 选择组合测试策略 117

6.7 文献注释 120

第7章 状态机 121

7.1 动机 121

7.2 基本模型 122

7.2.1 什么是状态机 122

7.2.2 状态转换图 124

7.2.3 有限状态自动机的一些性质 125

7.2.4 受监视转换 127

7.2.5 Mealy机和Moore机 128

7.2.6 状态转换表 131

7.2.7 基本模型的局限性 131

7.2.8 状态图 135

7.2.9 状态机与面向对象的开发 140

7.3 FREE状态模型 142

7.3.1 OOA/D行为模型的局限性 142

7.3.2 状态 143

7.3.3 转换 147

7.3.4 ɑ和ω状态 148

7.3.5 继承性及类的展平 149

7.3.6 示指明的事件/转换对偶 154

7.4 基于状态的测试设计 158

7.4.1 状态机是如何失败的 158

7.4.2 开发可测模型 164

7.4.3 N+测试策略 167

7.4.4 相关能力和局限性 179

7.4.5 选择基于状态测试的策略 181

7.5 文献注释 184

第8章 UML测试者指南 187

8.1 引言 187

8.1.1 作为测试模型的UML 187

8.1.2 关系测试策略 190

8.2 通用元素 190

8.2.1 组织与注解 190

8.2.2 对象约束语言 192

8.3 用例图 192

8.3.1 符号和语义 192

8.3.2 一般测试模型 193

8.3.3 测试性扩充 195

8.4 类图 197

8.4.1 符号和语义 197

8.4.2 一般测试模型 199

8.5 顺序图 200

8.5.1 符号和语义 200

8.5.2 一般测试需求 201

8.5.3 可测试性能扩充 202

8.6 活动图 203

8.6.1 符号和语义 203

8.6.2 一般测试模型 204

8.7 状态图 206

8.8 协作图 206

8.8.1 符号和语义 206

8.8.2 一般测试模型 208

8.8.3 可测试性扩充 209

8.9 构件图 210

8.9.1 符号和语义 210

8.9.2 一般测试模型 211

8.10.1 符号和语义 212

8.10.2 一般测试模型 212

8.10 实施图 212

8.11 图、关系和测试 213

8.12 文献注释 217

第三部分 样式 221

第9章 面向结果的测试策略 221

9.1 面向结果的测试 221

9.1.1 基于责任的测试设计的作用 224

9.1.2 基于实现的测试设计的作用 225

9.1.3 面向对象开发的集成 226

9.1.4 利用责任和实现 227

9.2.1 什么是样式 228

9.2 测试设计样式 228

9.2.2 样式和测试 229

9.2.3 测试设计样式模板 229

9.2.4 本书中的测试样式 233

9.2.5 应用测试设计样式 233

9.3 测试实例、测试包和测试计划的文档 234

9.3.1 IEEE829文件 234

9.3.2 可跟踪性 237

9.4 文献注释 238

10.1 类测试和集成 239

10.1.1 什么是类范围的测试 239

第10章 类 239

10.1.2 为什么在类范围进行测试 240

10.1.3 由谁和什么时候测试 242

10.1.4 实例分析:MPR Teltech 242

10.2 基础知识 243

10.2.1 类范围集成 243

10.2.2 基于实现的测试模型 244

10.2.3 路径敏感 273

10.2.4 域测试模型 275

10.3.1 功能内聚 283

10.3 方法范围测试设计样式 283

10.3.2 方法范围的集成 284

10.3.3 样式 284

10.4 类范围测试设计样式 299

10.4.1 类模态性 300

10.4.2 样式 301

10.5 展平类范围测试设计样式 334

10.5.1 超类的麻烦 334

10.5.2 展平类的测试策略 338

10.5.3 样式 343

10.6 文献注释 349

第11章 可复用构件 351

11.1 测试和复用 351

11.1.1 复用机制 351

11.1.2 测试在复用中的作用 353

11.1.3 复用测试包 355

11.2 测试设计样式 356

11.2.1 抽象类测试 356

11.2.2 类属类测试 358

11.2.3 新框架测试 366

11.2.4 流行框架测试 369

11.3 文献注释 372

第12章 子系统 375

12.1 子系统 375

12.1.1 什么是子系统 375

12.1.2 为什么在子系统范围内测试 376

12.2 子系统测试设计样式 377

12.2.1 类关联测试 378

12.2.2 往返场景测试 385

12.2.3 受控异常测试 393

12.2.4 模式机测试 397

12.3 文献注释 414

第13章 集成 417

13.1 面向对象开发中的集成 417

13.1.1 定义 417

13.1.2 集成测试的必要性 418

13.1.3 相依性分析 421

13.1.4 集成故障 427

13.2 集成样式 427

13.2.1 特定范围需要考虑的事项 428

13.2.2 大爆炸集成 431

13.2.3 自底向上集成 433

13.2.4 自顶向下集成 440

13.2.5 协作集成 445

13.2.6 基干集成 451

13.2.7 层次集成 456

13.2.8 客户/服务器集成 458

13.2.9 分布服务集成 463

13.2.10 离频集成 468

13.3 文献注释 473

14.1 应用系统测试 475

14.1.1 一个告诫人们的故事 475

第14章 应用系统 475

14.1.2 面向对象应用系统测试 476

14.1.3 应用系统测试策略 477

14.2 测试设计样式 478

14.2.1 扩充式用例测试 478

14.2.2 覆盖CRUD 484

14.2.3 按纲要分配测试 486

14.3 特定实现的能力 489

14.3.1 配置和兼容性 490

14.3.2 性能 490

14.3.3 完整性的容错性 491

14.3.4 人机交互 492

14.4 开发后测试 493

14.5 测试性能目标注解 494

14.5.1 批处理系统 494

14.5.2 交互式系统 495

14.5.3 实时系统 495

14.6 文献注释 496

第15章 回归测试 499

15.1 预备 499

15.1.1 什么和为什么 499

15.1.2 何时和如何 502

15.1.3 回归故障(Regression Fault) 503

15.1.4 测试自动化 504

15.1.5 测试包维护 506

15.1.6 缩减一个测试包需要考虑的事项 508

15.2 测试样式 509

15.2.1 全部再测试 510

15.2.2 再测试风险用例 511

15.2.3 按纲要再测试 513

15.2.4 再测试修改的代码 515

15.2.5 防火墙内再测试 518

15.3 文献注释 522

第四部分 工具 527

第16章 测试自动机 527

16.1 为什么测试必须自动化 527

16.2 限制和告诫 528

第17章 断言 531

17.1 简介 531

17.1.1 什么是断言 532

17.1.2 为什么使用断言 533

17.1.3 谁使用断言 535

17.2.1 假设检查器 536

17.2 基于实现的断言 536

17.2.2 潜伏的故障和探测器 538

17.3 基于责任的断言 539

17.3.1 概述 539

17.3.2 责任、契约和子类型 539

17.3.3 方法范围 542

17.3.4 类范围 547

17.3.5 顺序约束 548

17.3.6 超类/子类范围 553

17.3.7 客户/服务器范围 554

17.4.1 程序设计人员的断言FAQ 556

17.4 实现 556

17.4.2 断言动作 559

17.4.3 不可执行的断言 560

17.4.4 Ada95 561

17.4.5 C++ 566

17.4.6 Eiffel 572

17.4.7 Java 574

17.4.8 Objective-C 578

17.4.9 Smalltalk 580

17.5.2 应用断言设计测试 594

17.5 实施 594

17.5.1 内嵌测试的验证 594

17.5.3 发行前的考虑 596

17.5.4 发行后的考虑 597

17.6 限制和告诫 599

17.7 一些断言工具 602

17.8 文献注释 603

第18章 预测 607

18.1 简介 607

18.2.1 简介 608

18.2 预测样式 608

18.2.2 评判 613

18.2.3 预说明预测 614

18.2.4 保值预测 616

18.2.5 有机预测 619

18.3 比较器 624

18.3.1 简介 624

18.3.2 确定对象相等 625

18.3.3 深相等和浅相等 627

18.3.4 抽象内容和具体内容 629

18.3.7 类型/子类型相等 630

18.3.6 汇集 630

18.3.5 别名 630

18.3.8 部分相等方法 632

18.4 文献注释 632

第19章 测试装置设计 633

19.1 如何开发测试装置 633

19.1.1 需求 634

19.1.2 体系结构 636

19.2 测试实例样式 637

19.2.1 考虑 637

19.3.1 考虑 647

19.3 测试控制样式 647

19.4 驱动器样式 652

19.4.1 考虑 652

19.4.2 驱动器设计样式 655

19.5 测试执行样式 684

19.6 测试实现语法 696

19.7 文献注释 699

附录 BigFoot s Tootsie:实例研究 701

术语汇编 707

参考文献 751