第1章 进化变异测试入门 1
1.1 软件测试简介 1
1.1.1 软件测试基本方法 2
1.1.2 测试数据生成 2
1.2 变异测试简介 3
1.2.1 变异测试基本原理 3
1.2.2 变异测试基本假设 4
1.2.3 变异测试存在的问题 5
1.3 软件进化测试简介 5
1.3.1 遗传算法基本原理 5
1.3.2 软件进化测试 7
1.4 研究现状及存在的问题 8
1.4.1 测试数据进化生成研究现状 8
1.4.2 变异测试研究现状 10
1.4.3 进化变异测试研究现状 13
1.4.4 存在的问题 13
1.5 主要内容及结构安排 14
1.6 小结 16
参考文献 16
第2章 等价变异体和顽固变异体的人工检测 22
2.1 研究问题 22
2.2 等价变异体的人工检测方法 23
2.3 实验设计 25
2.3.1 被测程序 26
2.3.2 变异算子 27
2.3.3 测试数据生成 28
2.3.4 变异准则 29
2.3.5 实验流程 29
2.4 实验结果及分析 30
2.4.1 等价变异体和顽固变异体的分布 30
2.4.2 每个算子对等价变异体和顽固变异体的贡献度 32
2.4.3 等价变异体产生的机理 34
2.4.4 程序大小对变异体等价性和顽固性的影响 35
2.5 对实验结果的进一步讨论 36
2.6 有效性分析 37
2.7 小结 37
参考文献 38
第3章 基于相关性分析的变异体约简 40
3.1 研究动机 40
3.2 预备知识 41
3.2.1 弱变异测试 41
3.2.2 变异条件语句的插装 42
3.2.3 已有方法的不足 43
3.3 基于相关性分析的变异体约简 44
3.3.1 变异条件语句的相关性 44
3.3.2 变异条件语句相关性的判定 45
3.3.3 变异体约简方法 47
3.4 实验 47
3.4.1 研究问题 47
3.4.2 第一组实验 48
3.4.3 工业程序 52
3.5 小结 55
参考文献 55
第4章 基于多目标进化优化的变异测试数据生成 57
4.1 研究动机 57
4.2 多目标变异测试数据生成问题的数学模型 58
4.2.1 问题描述 58
4.2.2 目标函数的构造 59
4.2.3 数学模型 59
4.3 基于遗传算法的测试数据生成 60
4.3.1 个体表示 60
4.3.2 个体评价 61
4.3.3 进化算子 61
4.3.4 优化问题的简化 62
4.3.5 算法终止条件 62
4.3.6 算法步骤 62
4.4 实验 62
4.4.1 研究问题 62
4.4.2 被测程序 63
4.4.3 实验设计 64
4.4.4 实验结果及分析 64
4.5 小结 67
参考文献 68
第5章 基于分组的变异测试数据进化生成 69
5.1 研究动机 69
5.2 基于可达性的变异体分组 70
5.2.1 变异体相似性的度量 70
5.2.2 变异体分组 71
5.3 测试数据生成问题的数学模型 72
5.4 基于多种群遗传算法的测试数据生成 73
5.4.1 种群设置 73
5.4.2 进化个体编码 74
5.4.3 进化个体适应值 74
5.4.4 子优化问题的约简 75
5.4.5 算法终止条件 75
5.4.6 算法步骤 76
5.5 实验 76
5.5.1 研究问题 76
5.5.2 被测程序 77
5.5.3 实验设置 77
5.5.4 实验结果及分析 78
5.6 小结 82
参考文献 83
第6章 基于变异分析和语句覆盖的测试数据缩减 84
6.1 研究动机 84
6.2 测试数据缩减问题的数学模型 85
6.2.1 问题描述 86
6.2.2 目标函数 86
6.2.3 约束函数 86
6.2.4 数学模型 87
6.3 进化求解算法 87
6.3.1 个体编码方法 88
6.3.2 个体适应度函数 88
6.3.3 遗传算子 89
6.3.4 算法步骤 90
6.4 实验 90
6.4.1 研究问题 91
6.4.2 被测程序 91
6.4.3 实验设置 91
6.4.4 实验结果及分析 92
6.4.5 在工业程序的实验 94
6.5 小结 96
参考文献 97
第7章 基于缺陷检测的多目标测试数据生成 99
7.1 研究动机 99
7.2 多目标测试数据生成模型 100
7.2.1 目标函数的建立 101
7.2.2 约束条件 102
7.2.3 多目标测试数据生成问题的数学模型 102
7.3 基于集合进化的求解方法 102
7.3.1 个体表示 102
7.3.2 适应度函数 103
7.3.3 进化策略 103
7.3.4 算法步骤 105
7.4 基于变异分析的测试数据质量检测 105
7.5 实例分析 106
7.6 实验 108
7.6.1 研究问题 108
7.6.2 被测程序 109
7.6.3 第一组实验 109
7.6.4 第二组实验 111
7.7 小结 113
参考文献 113
第8章 一种基于占优关系的变异测试方法 115
8.1 研究动机 115
8.2 基于语句占优关系的变异测试 116
8.2.1 语句占优关系 116
8.2.2 基于占优关系的变异测试准则 117
8.3 测试数据生成问题的数学模型 118
8.4 测试数据生成问题的进化求解 119
8.4.1 个体编码方式 119
8.4.2 个体适应度 119
8.4.3 遗传操作与进化策略 120
8.4.4 算法步骤 120
8.5 实验 120
8.5.1 研究问题 120
8.5.2 第一组实验 121
8.5.3 第二组实验 125
8.6 小结 126
参考文献 127