当前位置:首页 > 工业技术
软件测试导论
软件测试导论

软件测试导论PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:蔡立志编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302428213
  • 页数:378 页
图书介绍:本书涵盖了软件测试的基础理论,涵盖了边界值、等价类、因果图;基于控制流的软件测试语句覆盖、分支覆盖、路径覆盖;基于组合分析的测试方法,如单因素覆盖、基本选择覆盖、成对测试;基于形式化规格说明书的测试方法:有限状态机、Petri网、Uml图;以及变异测试和蜕变测试等。
《软件测试导论》目录

第1章 绪论 1

1.1 软件测试的历史和发展 1

1.1.1 软件测试的起源 1

1.1.2 软件质量问题 2

1.1.3 软件测试的发展 3

1.2 软件测试术语 5

1.3 软件缺陷管理 9

1.3.1 缺陷生存周期 9

1.3.2 缺陷的描述及属性 10

1.4 软件质量模型的发展 12

1.4.1 GB/T 16260—1996软件质量模型 12

1.4.2 GB/T 16260—2006软件质量模型 12

1.4.3 ISO/IEC 25010—2014软件质量模型 14

1.4.4 基于质量模型的软件测试标准 16

1.5 软件测试模型 17

1.5.1 V模型 17

1.5.2 W模型 18

1.5.3 X模型 19

1.5.4 H模型 19

1.6 软件测试的局限性 20

1.6.1 软件测试的覆盖问题 20

1.6.2 穷举测试的局限性 22

1.6.3 缺陷的隐蔽性 23

1.6.4 软件测试的杀虫剂效应 25

1.7 软件测试的分类 27

1.7.1 软件功能测试分类 27

1.7.2 根据测试阶段分类 28

第2章 传统的黑盒测试 33

2.1 边界值分析 33

2.1.1 边界值分析概念 33

2.1.2 边界值分析原则 34

2.1.3 边界值确定和分析法 35

2.1.4 边界值测试举例 44

2.2 等价类 47

2.2.1 等价类的概念 48

2.2.2 等价类的划分及依据 49

2.2.3 等价类测试举例 51

2.3 决策表 54

2.3.1 决策表的概念 54

2.3.2 决策表的建立 54

2.3.3 决策表的简化 55

2.3.4 决策表规则数统计 57

2.3.5 决策表特性 59

2.3.6 决策表测试用例设计 60

2.4 因果图 62

2.4.1 因果图的概念 62

2.4.2 因果图设计 63

2.4.3 利用因果图设计测试用例 63

第3章 基于控制流的测试 67

3.1 概述 67

3.2 图论基础 72

3.3 流程图结构以及表示 74

3.4 Python中的条件和判定 76

3.4.1 条件与布尔值认定 76

3.4.2 判定与短路计算 79

3.5 语句覆盖 80

3.5.1 语句覆盖定义及其测试 81

3.5.2 语句覆盖的优缺点 84

3.5.3 语句覆盖与死代码 86

3.6 判定覆盖 88

3.6.1 判定覆盖简介 88

3.6.2 两路分支覆盖 89

3.6.3 多路分支覆盖 89

3.6.4 不可达分支 91

3.6.5 异常处理多分支覆盖 92

3.6.6 复合判定覆盖 96

3.7 条件覆盖 99

3.7.1 简单条件覆盖 99

3.7.2 条件判定覆盖 102

3.7.3 条件组合覆盖 106

3.8 修正条件判定覆盖 107

3.8.1 修正条件判定覆盖的定义 107

3.8.2 唯一原因法生成MC/DC测试用例 109

3.8.3 屏蔽法生成MC/DC测试用例 111

3.8.4 二叉树法生成MC/DC测试用例 112

3.8.5 MC/DC的进一步讨论 115

3.9 路径覆盖 117

3.9.1 程序和控制流图表示 117

3.9.2 独立路径和圈复杂度 121

3.9.3 基本路径覆盖 126

第4章 组合测试 130

4.1 多参数的故障模型 130

4.2 利用正交表实现测试 132

4.2.1 拉丁方阵 132

4.2.2 正交表 135

4.2.3 正交表的性质 138

4.2.4 正交表测试 139

4.3 组合测试的数学基础和定义 143

4.4 成对组合测试用例的生成策略 146

4.4.1 CATS算法 147

4.4.2 AETG法 150

4.4.3 IPO法 151

4.4.4 GA法 155

4.5 可变强度和具有约束的组合测试 157

4.5.1 混合强度的组合测试 158

4.5.2 参数值之间的约束 160

4.5.3 种子组合和负面测试 162

第5章 基于有限状态机的测试 167

5.1 有限状态机的定义 167

5.1.1 有限状态机 167

5.1.2 确定有限状态机和非确定有限状态机 170

5.1.3 确定有限状态机和非确定有限状态机的转换 172

5.1.4 带状态输出的有限自动机 175

5.2 基于有限状态机测试的假设和特性 180

5.3 有限状态机的故障模型 181

5.4 基于有限状态机的测试 183

5.4.1 概述 183

5.4.2 状态覆盖测试 184

5.4.3 迁移覆盖测试 186

5.4.4 周游法(T方法) 187

5.4.5 区分序列法(D方法) 189

5.4.6 特征序列法(W方法) 193

5.4.7 唯一输入/输出序列(U方法) 202

第6章 面向对象结构的软件测试 209

6.1 Python面向对象 209

6.2 Python面向对象编程基础 210

6.3 基于类属性和对象属性的测试 213

6.4 基于对象创建和销毁的测试 220

6.4.1 基于类创建和继承测试 220

6.4.2 基于多重继承初始化方法的测试 223

6.4.3 多重继承方法解释顺序的测试 228

6.4.4 基于对象销毁的测试 229

6.5 基于装饰器的测试 233

6.6 基于多态的测试 240

第7章 基于UML的软件测试 246

7.1 UML概念和建模 246

7.2 基于用例的软件测试 248

7.2.1 用例图的概念 248

7.2.2 用例图的覆盖准则 250

7.2.3 用例图的测试用例设计 255

7.3 基于类图的软件测试 260

7.3.1 类图的概念 260

7.3.2 类图的覆盖准则 264

7.3.3 类图的测试用例设计 265

7.4 基于活动图的软件测试 268

7.4.1 活动图的概念 268

7.4.2 活动图的覆盖准则 270

7.4.3 活动图的测试用例设计 274

7.5 基于序列图的软件测试 282

7.5.1 序列图的概念 282

7.5.2 序列图的覆盖准则 285

7.5.3 序列图的测试用例设计 290

7.6 基于状态图的软件测试方法 296

7.6.1 状态图的概念 296

7.6.2 状态图的覆盖准则 299

7.6.3 状态图的测试用例设计 301

第8章 其他测试技术 309

8.1 基于Petri网的测试用例生成 309

8.1.1 Petri网的定义 309

8.1.2 着色Petri网 311

8.1.3 几种常见的系统结构模型 314

8.1.4 Petri网的行为性质 316

8.1.5 基于Petri网的测试 318

8.2 蜕变测试 327

8.2.1 蜕变测试的出发点 327

8.2.2 蜕变测试的基本理论 328

8.2.3 蜕变测试的过程 329

8.2.4 蜕变测试的例子 330

8.3 基于变异的软件测试方法 337

8.3.1 变异测试的概念 337

8.3.2 变异算子 338

8.3.3 变异测试的过程 345

8.4 基于故障树的软件测试方法 350

8.4.1 故障树的概念 351

8.4.2 故障树的建立和分析 351

8.4.3 基于故障树的测试用例设计 354

附录 358

附录A 软件测试大事记 358

附录B 常见正交测试表 360

附录C PICT工具指南 363

附录D pytest测试简介 364

附录E 最长公共子序列示例 371

参考文献 373

返回顶部