《软件测试》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Paul C.Jorgensen著;韩柯,杜旭涛译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:711112166X
  • 页数:318 页
图书介绍:本书全面论述了软件测试的内容。

第一部分 数学背景 2

第1章 测试概述 2

1.1基本定义 2

1.2测试用例 3

1.3通过维恩图理解测试 4

1.4标识测试用例 6

1.4.1功能性测试 6

1.4.2结构性测试 7

1.4.3功能性测试与结构性测试的比较 8

1.5错误与缺陷分类 9

1.6测试级别 11

1.7参考文献 12

1.8练习 12

第2章 举例 13

2.1泛化的伪代码 13

2.2三角形问题 15

2.2.1问题陈述 15

2.2.2讨论 15

2.2.3传统实现 15

2.2.4结构化实现 18

2.3 NextDate函数 20

2.3.1问题陈述 20

2.3.2讨论 20

2.3.3实现 20

2.4佣金问题 23

2.4.1问题陈述 23

2.4.2讨论 23

2.4.3实现 24

2.5 SATM系统 24

2.5.1问题陈述 25

2.5.2讨论 27

2.6货币转换器 27

2.7土星牌挡风玻璃雨刷 28

2.8参考文献 28

2.9 练习 28

第3章 测试人员的离散数学 30

3.1集合论 30

3.1.1集合成员关系 30

3.1.2集合定义 31

3.1.3空集 31

3.1.4维恩图 32

3.1.5集合操作 32

3.1.6集合关系 34

3.1.7子集划分 34

3.1.8集合恒等式 35

3.2函数 36

3.2.1定义域与值域 36

3.2.2函数类型 37

3.2.3函数合成 38

3.3关系 39

3.3.1集合之间的关系 39

3.3.2单个集合上的关系 40

3.4命题逻辑 41

3.4.1逻辑操作符 42

3.4.2逻辑表达式 42

3.4.3逻辑等价 43

3.5概率论 44

3.6参考文献 45

3.7练习 45

第4章 测试人员的图论 47

4.1图 47

4.1.1节点的度 48

4.1.2关联矩阵 48

4.1.3相邻矩阵 49

4.1.4路径 49

4.1.5连接性 50

4.1.6压缩图 51

4.1.7圈数 51

4.2有向图 52

4.2.1 内度与外度 53

4.2.2 节点的类型 53

4.2.3有向图的相邻矩阵 54

4.2.4路径与半路径 54

4.2.5可到达性矩阵 55

4.2.6 n-连接性 55

4.2.7强组件 56

4.3用于测试的图 57

4.3.1程序图 57

4.3.2有限状态机 58

4.3.3 Petri网 60

4.3.4事件驱动的Petri网 62

4.3.5状态图 65

4.4 参考文献 67

4.5练习 67

第二部分 功能性测试 70

第5章 边界值测试 70

5.1边界值分析 70

5.1.1归纳边界值分析 71

5.1.2边界值分析的局限性 72

5.2健壮性测试 73

5.3最坏情况测试 73

5.4特殊值测试 74

5.5举例 75

5.5.1三角形问题的测试用例 75

5.5.2 NextDate函数的测试用例 79

5.5.3佣金问题的测试用例 82

5.6随机测试 84

5.7边界值测试的指导方针 85

5.8练习 86

第6章 等价类测试 87

6.1等价类 87

6.1.1弱一般等价类测试 88

6.1.2强一般等价类测试 88

6.1.3弱健壮等价类测试 89

6.1.4强健壮等价类测试 90

6.2三角形问题的等价类测试用例 90

6.3 NextDate函数的等价类测试用例 92

6.4佣金问题的等价类测试用例 95

6.4.1输出值域等价类测试用例 96

6.4.2输出值域等价类测试用例 97

6.5指导方针和观察 97

6.6参考文献 98

6.7练习 98

第7章基于决策表的测试 100

7.1决策表 100

7.2三角形问题的测试用例 104

7.3 NextDate函数测试用例 105

7.3.1第一次尝试 105

7.3.2第二次尝试 106

7.3.3第三次尝试 108

7.4佣金问题的测试用例 110

7.5指导方针与观察 110

7.6参考文献 111

7.7练习 111

第8章 功能性测试回顾 112

8.1测试工作量 112

8.2测试效率 115

8.3测试的有效性 115

8.4指导方针 116

8.5案例研究 117

第三部分 结构性测试 124

第9章 路径测试 124

9.1DD-路径 126

9.2测试覆盖指标 129

9.2.1基于指标的测试 129

9.2.2测试覆盖分析器 131

9.3基路径测试 131

9.3.1 McCabe的基路径方法 132

9.3.2关于McCabe基路径方法的观察 134

9.3.3基本复杂度 136

9.4指导方针与观察 138

9.5参考文献 140

9.6 练习 141

第10章 数据流测试 143

10.1定义/使用测试 143

10.1.1举例 144

10.1.2 stocks的定义-使用路径 148

10.1.3 locks的定义-使用路径 148

10.1.4 totalLocks的定义-使用路径 149

10.1.5 sales的定义-使用路径 149

10.1.6 commission的定义-使用路径 150

10.1.7定义-使用路径测试覆盖指标 151

10.2基于程序片的测试 152

10.2.1举例 154

10.2.2风格与技术 157

10.3指导方针与观察 158

10.4参考文献 159

10.5练习 159

第11章 结构性测试回顾 160

11.1漏洞与冗余 160

11.2用于方法评估的指标 162

11.3重温案例研究 164

11.3.1基于路径的测试 167

11.3.2数据流测试 167

11.3.3片测试 167

11.4参考文献 167

11.5练习 168

第四部分 集成与系统测试 170

第12章 测试层次 170

12.1测试层次的传统观点 170

12.2其他生命周期模型 171

12.2.1瀑布模型的新模型 172

12.2.2基于规格说明的生命周期模型 173

12.3 ASTM系统 175

12.4将集成测试与系统测试分开 184

12.4.1结构认识 185

12.4.2行为认识 186

12.5参考文献 186

第13章 集成测试 187

13.1深入研究S ATM系统 187

13.2基于分解的集成 191

13.2.1自顶向下集成 191

13.2.2自底向上集成 192

13.2.3三明治集成 193

13.2.4优缺点 194

13.3基于调用图的集成 194

13.3.1成对集成 194

13.3.2相邻集成 194

13.3.3优缺点 196

13.4基于路径的集成 197

13.4.1新概念与扩展概念 197

13.4.2 SATM系统中的MM-路径 200

13.4.3 MM-路径复杂度 203

13.4.4优缺点 204

13.5案例研究 205

13.5.1基于分解的集成 209

13.5.2基于调用图的集成 209

13.5.3基于MM-路径的集成 209

13.6参考文献 210

13.7练习 210

第14章 系统测试 211

14.1线索 211

14.1.1线索的可能性 212

14.1.2线索定义 213

14.2需求规格说明的基本概念 214

14.2.1数据 215

14.2.2行动 215

14.2.3设备 215

14.2.4事件 216

14.2.5线索 216

14.2.6 基本概念之间的关系 216

14.2.7采用基本概念建模 217

14.3寻找线索 219

14.4线索测试的结构策略 222

14.4.1自底向上组织线索 223

14.4.2节点与边覆盖指标 224

14.5线索测试的功能策略 225

14.5.1基于事件的线索测试 225

14.5.2基于端口的线索测试 227

14.5.3基于数据的线索测试 227

14.6 SATM测试线索 229

14.7系统测试指导方针 233

14.7.1伪结构系统测试 233

14.7.2运行剖面 233

14.7.3累进测试与回归测试 235

14.8参考文献 236

14.9练习 236

第15章 交互测试 237

15.1交互的语境 237

15.2交互的分类 239

15.2.1单处理器中的静态交互 240

15.2.2多处理器中的静态交互 241

15.2.3单处理器中的动态交互 242

15.2.4多处理器中的动态交互 247

15.3交互、合成与确定性 254

15.4客户-服务器测试 256

15.5参考文献 257

15.6 练习 257

第五部分 面向对象的测试 260

第16章 面向对象的测试问题 260

16.1 面向对象测试的单元 260

16.2合成与封装的涵义 261

16.3继承的涵义 263

16.4多态性的涵义 264

16.5面向对象测试的层次 264

16.6 GUI测试 264

16.7面向对象软件的数据流测试 265

16.8第五部分采用的例子 265

16.8.1面向对象的日历 265

16.8.2货币转换应用程序 266

16.9参考文献 270

16.10练习 270

第17章 类测试 271

17.1以方法为单元 271

17.1.1 o-oCalendar的伪代码 272

17.1.2Date.increment的单元测试 276

17.2以类为单元 277

17.2.1 windshieldWiper类的伪代码 277

17.2.2windshieldWiper类的单元测试 278

第18章 面向对象的集成测试 282

18.1集成测试的UML支持 282

18.2面向对象软件的MM-路径 284

18.3面向对象数据流集成测试框架 290

18.3.1事件驱动和消息驱动的Petri网 291

18.3.2由继承导出的数据流 292

18.3.3由消息导出的数据流 292

18.3.4分片 294

18.4练习 294

18.5参考文献 296

第19章 GUI测试 297

19.1货币转换程序 297

19.2货币转换程序的单元测试 301

19.3货币转换程序的集成测试 302

19.4货币转换程序的系统测试 303

19.5练习 307

第20章 面向对象的系统测试 308

20.1货币转换器的UML描述 308

20.1.1问题陈述 308

20.1.2系统功能 308

20.1.3表示层 309

20.1.4高层用例 309

20.1.5基本用例 310

20.1.6详细GUI定义 311

20.1.7扩展基本用例 312

20.1.8真实用例 315

20.2基于UML的系统测试 315

20.3基于“状态图”的系统测试 318

20.4参考文献 318