电子机电与自动化类首页>图书中心>电子机电与自动化类
- 书 名:基于人工智能的测试用例自动生成与测试用例集优化
- 出版时间:2022-12-30
- 编 著 者:邢颖 宫云战 于秀丽
- 版 次:1-2
- I S B N:978-7-5635-6670-9
- 定 价:¥68.00元
内容简介
作为软件测试(包括白盒测试和黑盒测试)中的一个基本问题,测试用例自动生成尤为重要,这是因为白盒测试中的许多问题(如控制流测试和数据流测试)以及黑盒测试中的一些问题都可以归结为测试用例生成问题。解决这个问题的本质在于约束系统的建立和求解。约束求解是人工智能的一个传统研究方向。本书将系统地研究如何进行软件系统的约束建模和求解,利用人工智能的各种技术,对一些特殊情况(复杂数据类型、线性约束的区间初始化、库函数等)给出切实可行的解决方案。
提升回归测试效率的一个重要方法是对测试用例集进行优化,目前常见的优化方法有3种,分别是测试用例集约简、选择和优先级排序。这3种方法分别适用于不同的场景,本书主要关注测试用例集约简和测试用例优先级排序,通过对相关问题和已有方法的调研,将现在应用比较广泛的人工智能中的群智能算法和一些进化算法引入测试用例集优化问题中,提出新的测试用例集约简和测试用例优先级排序技术。
本书的主要读者对象为软件工程研究者和从业人员。
目录介绍
第1章软件测试1
1.1软件系统开发的可靠性问题1
1.2回归测试的必要性2
1.3单元测试概述4
1.4静态测试与动态测试4
1.5黑盒测试和白盒测试5
1.6基于路径和覆盖率的测试7
1.7约束求解问题8
1.8代码测试系统8
本章参考文献10
第2章测试用例自动生成技术12
2.1静态测试用例自动生成方法12
2.1.1常用的静态分析技术12
2.1.2典型的测试用例生成技术 16
2.2动态测试用例自动生成方法18
2.2.1直线式程序法18
2.2.2分支函数极小化法19
2.2.3ADTEST20
2.2.4迭代松弛法20
2.2.5MHS方法20
2.3动静结合的测试用例自动生成方法26
本章参考文献27
第3章基于分支限界的测试用例生成36
3.1分支限界算法36
3.1.1问题定义36
3.1.2解决方案38
3.1.3路径约束提取40
3.1.4求相关变量集和相关变量闭包42
3.1.5变量级别确定算法44
3.1.6不相关变量移除45
3.2搜索加速算法48
3.2.1基于抽象解释的区间迭代优化策略48
3.2.2变量动态排序决策机制52
3.2.3基于爬山法的求解55
3.2.4实例分析61
3.3实验65
3.3.1迭代的区间运算对比实验66
3.3.2变量的动态排序对比实验68
3.3.3爬山法实验69
基于人工智能的测试用例自动生成与测试用例集优化
|目录|
第4章人工智能在测试用例自动生成中的应用72
4.1基于矛盾定位的混合回溯技术72
4.1.1背景介绍72
4.1.2问题的提出73
4.1.33C算法75
4.1.4算法介绍79
4.1.5实验分析81
4.2基于优化区间运算的一致性判断算法87
4.2.1背景介绍87
4.2.2问题的提出90
4.2.3理论分析90
4.2.4算法描述和实现91
4.2.5实验分析95
4.3基于神经网络技术的测试用例生成时间预测103
4.3.1背景介绍103
4.3.2问题的描述106
4.3.3数据准备108
4.3.4模型的确定与实现111
4.3.5实例分析114
4.4基于强化学习技术的测试用例自动生成技术117
4.4.1背景介绍118
4.4.2问题的描述121
4.4.3强化学习模型的构建及算法描述121
4.4.4实例分析126
本章参考文献128
第5章特殊程序结构的测试用例生成131
5.1动静结合的循环处理模型131
5.1.1背景介绍131
5.1.2选择性符号执行132
5.1.3优化问题和目标函数132
5.1.4启发式引导的k+1循环处理模型133
5.1.5启发式引导的k+l循环处理模型算法概述138
5.1.6实例分析139
5.2基于代码片段和反向符号执行的不可达路径判定技术140
5.2.1背景介绍140
5.2.2不可达路径判定问题的重定义141
5.2.3不可达路径的特征调研142
5.2.4依赖循环的等值代码片段143
5.2.5对于代码片段性值的有效性验证145
5.2.6基于反向符号执行的可达路径生成技术146
5.2.7实例分析147
5.3基于原子函数的字符串类型测试用例自动生成技术148
5.3.1背景介绍148
5.3.2字符串约束描述语言150
5.3.3原子函数的等价性152
5.3.4LAtom的约束求解过程153
5.3.5实例分析155
5.4库函数的约束求解策略156
5.4.1问题的描述156
5.4.2算法描述和实现158
5.4.3实例分析161
本章参考文献163
第6章测试用例集约简166
6.1测试用例集约简概述166
6.1.1相关技术研究166
6.1.2测试用例集约简的基本概念171
6.1.3测试用例集约简的数学建模171
6.2基于佳点集萤火虫算法的测试用例集约简172
6.2.1萤火虫算法172
6.2.2佳点集萤火虫算法173
6.2.3测试用例集约简建模179
6.2.4实验分析180
6.3基于蚁狮优化算法的测试用例集约简183
6.3.1蚁狮优化算法183
6.3.2实验分析185
本章参考文献189
第7章测试用例优先级排序191
7.1测试用例优先级排序191
7.1.1测试用例优先级排序的定义191
7.1.2多目标优化问题191
7.1.3多目标测试用例优先级排序195
7.1.4测试用例集排序的评测指标195
7.2基于人工免疫算法的测试用例优先级排序196
7.2.1优化目标选取196
7.2.2人工免疫算法196
7.2.3实验分析199
7.3基于多种群粒子群算法的多目标测试用例优先级排序202
7.3.1优化目标选取202
7.3.2多种群协同粒子群算法202
7.3.3基于多种群粒子群算法的多目标测试用例优先级排序203
7.3.4实验分析206
7.4基于蝙蝠免疫算法的测试用例集排序210
7.4.1优化目标选取210
7.4.2蝙蝠算法210
7.4.3人工免疫系统212
7.4.4多目标蝙蝠免疫算法214
7.4.5实验分析218
本章参考文献221