《测试数据进化生成理论及应用》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:巩敦卫,姚香娟,张岩著
  • 出 版 社:北京:科学出版社
  • 出版年份:2014
  • ISBN:9787030392954
  • 页数:297 页
图书介绍:软件测试是保证软件质量的重要途径之一。采用遗传算法生成测试数据,能够大大提高软件测试效率,成为近年来软件工程和进化优化界的热点研究方向之一。本书阐述采用遗传算法生成复杂软件测试数据的原理及应用,内容主要涉及如下4个方面:满足不同结构覆盖准则的测试数据进化生成、遗传算法用于测试数据生成的性能提高策略、语句覆盖可测试性转化,以及并行程序测试数据进化生成等。除了详细阐述采用遗传算法生成测试数据的原理与方法外,本书还给出不同方法在基准和实际工业软件测试的应用,以及全面的算法对比结果。为便于应用本书阐述的方法,书后附有被测程序和阐述方法的源程序。本书是国内第一部关于遗传算法用于复杂软件测试数据生成的专著,也是著者近5年来在多项国家和省部级科研项目资助下,取得的一系列研究成果的结晶。

第1章 测试数据进化生成入门 1

1.1软件测试基本概念 2

1.1.1软件测试的定义 2

1.1.2软件测试的目的 2

1.1.3软件测试的方法 3

1.1.4软件测试的原则 3

1.1.5软件测试的分类 3

1.2基于覆盖的测试数据生成方法 4

1.2.1测试充分性准则 4

1.2.2测试数据生成方法 5

1.3测试数据进化生成 6

1.3.1问题的转化 6

1.3.2遗传算法基本原理 8

1.3.3基于遗传算法的测试数据生成 10

1.4研究现状及存在的问题 11

1.4.1测试数据进化生成研究现状 11

1.4.2存在的问题 12

1.5主要内容及组织 13

1.6本章小结 15

参考文献 16

第2章 不可执行路径自动检测 19

2.1研究动机 19

2.2条件语句之间的相关性 20

2.2.1条件语句相关性的定义 21

2.2.2条件语句相关性的判定 21

2.3条件语句谓词表达式取值概率的估计 23

2.4不可执行路径的自动检测 27

2.4.1不可执行路径的检测 27

2.4.2循环体包含条件语句的不可执行路径检测 28

2.4.3不可执行路径自动检测的步骤 28

2.5实例分析 29

2.6在程序测试中的应用 31

2.6.1基准程序实验 31

2.6.2工业程序实验 36

2.7本章小结 37

参考文献 38

第3章 多路径覆盖测试数据进化生成 39

3.1研究动机 39

3.2测试数据生成问题的数学模型 41

3.3基于遗传算法的测试数据生成 42

3.3.1进化个体适应值计算 42

3.3.2进化个体比较 44

3.3.3算法终止条件 45

3.3.4算法步骤 46

3.4在基准程序测试中的应用 46

3.4.1实验设计 46

3.4.2参数设置 47

3.4.3性能指标 47

3.4.4实验结果与分析 48

3.5本章小结 51

参考文献 52

第4章 路径赫夫曼编码表示的多路径覆盖测试数据进化生成 53

4.1研究动机 53

4.2路径的赫夫曼编码表示 55

4.3路径匹配度计算 57

4.3.1程序插装 57

4.3.2路径匹配度计算 58

4.3.3测试数据生成问题的数学模型 59

4.4适应度函数设计 60

4.4.1进化个体适应值计算 60

4.4.2进化个体适应值计算特点 61

4.4.3算法步骤 61

4.5在基准程序测试中的应用 62

4.5.1三角形分类程序 62

4.5.2其他基准程序 64

4.5.3复杂路径覆盖实验 64

4.6本章小结 66

参考文献 67

第5章 基于信息共享的多路径覆盖测试数据进化生成 68

5.1研究动机 68

5.2测试数据生成问题的数学模型 69

5.3基于信息共享的测试数据进化生成 70

5.3.1多种群并行遗传算法 71

5.3.2测试数据进化生成步骤 72

5.4性能分析 73

5.4.1测试数据生成的概率 73

5.4.2例子 74

5.5在基准程序测试中的应用 75

5.5.1三角形分类程序实验 75

5.5.2其他程序实验 77

5.6本章小结 80

参考文献 81

第6章 基于路径分组的很多路径覆盖测试数据进化生成 83

6.1研究动机 83

6.2基于相似度的路径分组 84

6.3测试数据生成问题的数学模型 85

6.3.1问题的数学模型 85

6.3.2子优化问题的约简 86

6.4基于遗传算法的测试数据生成 87

6.4.1进化个体编码 87

6.4.2进化个体适应值 88

6.4.3算法终止条件 88

6.4.4算法步骤 88

6.5性能分析 89

6.5.1集合测度 89

6.5.2生成期望测试数据的概率 90

6.5.3基于相似度的路径分组的合理性 91

6.5.4子优化问题约简的合理性 91

6.6实例分析 92

6.7在程序测试中的应用 96

6.7.1对比方法 97

6.7.2参数设置 97

6.7.3基准程序实验 97

6.7.4工业程序实验 101

6.8本章小结 104

参考文献 105

第7章 很多路径覆盖测试数据进化生成的并行实现 107

7.1研究动机 107

7.2基于相似度和计算资源的路径分组 109

7.3测试数据生成问题的数学模型 110

7.4基于遗传算法的测试数据生成 111

7.5性能分析 111

7.6在程序测试中的应用 113

7.6.1程序Insert的目标路径分组 113

7.6.2性能指标 120

7.6.3程序Insert实验 121

7.6.4工业程序实验 122

7.7本章小结 125

参考文献 126

第8章 用于路径覆盖和缺陷检测的测试数据进化生成 127

8.1研究动机 127

8.2测试数据生成问题的数学模型 129

8.2.1决策向量 129

8.2.2路径表示 129

8.2.3约束函数 130

8.2.4目标函数 131

8.2.5测试数据生成问题的数学模型 132

8.3基于遗传算法的测试数据生成 132

8.3.1加权单目标函数 133

8.3.2基于罚函数方法的约束函数处理 133

8.3.3算法步骤 134

8.4在程序测试中的应用 134

8.4.1缺陷判定方法 135

8.4.2参数设置 141

8.4.3实验结果 141

8.5本章小结 152

参考文献 153

第9章 基于搜索空间缩减的路径覆盖测试数据进化生成 155

9.1研究动机 155

9.2路径与输入向量之间的相关性 157

9.2.1节点与输入分量之间的相关性 157

9.2.2路径与输入向量之间的相关性 158

9.3用于测试数据进化生成的搜索空间缩减 160

9.3.1一条目标路径时的搜索空间缩减 160

9.3.2多条目标路径时的搜索空间缩减 163

9.4性能分析 165

9.5在程序测试中的应用 167

9.5.1单目标路径实验 167

9.5.2多目标路径实验 169

9.6本章小结 177

参考文献 178

第10章 基于适应值调整的路径覆盖测试数据进化生成 179

10.1研究动机 179

10.2进化个体贡献度 180

10.2.1进化个体贡献度 182

10.2.2对循环结构的处理 184

10.3基于进化个体贡献度的适应值调整 184

10.4性能分析 185

10.5在程序测试中的应用 186

10.5.1对比方法、参数设置与评价指标 186

10.5.2三角形分类程序实验 186

10.5.3冒泡排序程序实验 189

10.5.4工业程序实验 189

10.6本章小结 191

参考文献 191

第11章 基于优质初始种群的路径覆盖测试数据进化生成 193

11.1研究动机 193

11.2优质初始种群的形成 194

11.3遗传算子的作用范围 195

11.4性能分析 196

11.5实例分析 198

11.6在程序测试中的应用 200

11.6.1被测程序 200

11.6.2遗传算子与参数设置 201

11.6.3实验设置 201

11.6.4实验结果 201

11.7本章小结 203

参考文献 204

第12章 基于占优关系的语句覆盖测试数据进化生成 206

12.1研究动机 206

12.2占优语句(集)的确定 209

12.3语句覆盖测试数据进化生成 210

12.4方法的优点 211

12.5实例分析 211

12.6在程序测试中的应用 214

12.6.1被测程序 214

12.6.2实验设计 215

12.6.3实验结果 215

12.7本章小结 217

参考文献 218

第13章 基于占优关系的多语句覆盖测试数据进化生成 219

13.1研究动机 219

13.2基于占优关系的目标语句缩减 220

13.2.1图论基本知识 220

13.2.2目标语句占优关系图 221

13.2.3目标语句缩减 222

13.3缩减后语句覆盖测试数据进化生成 222

13.4在程序测试中的应用 224

13.4.1被测程序 224

13.4.2实验设计 224

13.4.3实验结果与分析 225

13.5本章小结 227

参考文献 228

第14章 基于路径覆盖的变异测试数据进化生成 229

14.1研究动机 229

14.2基于路径比较的变异体杀死准则 231

14.3变异测试数据进化生成方法 232

14.3.1目标路径的选择 232

14.3.2测试数据生成问题的数学模型 233

14.3.3适应度函数的设计 233

14.4实例分析 234

14.5在程序测试中的应用 237

14.5.1被测程序描述 237

14.5.2实验设计 237

14.5.3实验结果及分析 238

14.6本章小结 239

参考文献 240

附录1基本遗传算法源代码 241

附录2实验程序 262