用于测试用例生成的遗传算法改进

被引:0
作者
李柱
机构
[1] 西南大学
关键词
遗传算法; 软件测试; 测试用例生成; 遗传算子;
D O I
暂无
年度学位
2011
学位类型
硕士
导师
摘要
随着软件行业的迅速发展,人们对软件质量的要求越来越高,如何评价和保证软件的质量成为一个急需解决的问题。软件测试随之产生,然而传统的软件测试基本都是由人工完成,随着当今的软件规模逐渐增长,造成工作量巨大,测试困难。因此,如何快速的进行测试和降低测试成本,成为软件测试的关键所在。 鉴于工作量巨大和人为操作失误等因素,人们想到自动化软件测试方法,而进行自动化测试的关键之一就是测试用例生成的自动化,如今这一研究方向逐渐成为热点。遗传算法作为一种模拟自然界进化过程的随机搜索算法,具有内在的隐并行性和良好的全局寻优能力,能够自适应的调整搜索方向和指导优化搜索空间。因此被人们应用于测试用例的自动生成中。而遗传算法一些固有的缺点,如收敛速度较慢,容易形成早熟收敛,局部搜索能力较弱,且容易受参数的影响。而适应度函数和遗传算子是影响测试用例生成效率的关键。因此,如何对适应度函数和遗传算子进行改进,提高测试用例生成的效率和质量,成为测试用例自动化生成的关键。 针对遗传算法在生成测试用例时的缺点,本文对分支函数插桩法得到的适应度函数进行了加权变换,设计了加权变化的适应度函数变换方法,然后设计了适应性变异算子、取反交叉算子和有效交叉点算子,以提高算法的全局搜索能力。 本文主要针对如何使用遗传算法对测试用例进行生成这一问题就行探讨。首先,本文对遗传算法在生成测试用例时的缺点进行了分析,进而对传统测试用例生成方法进行了分析,然后对遗传算法的基本理论进行了详尽论述,分析了将遗传算法与测试用例生成相结合的理论依据。然后,提出了改进后的遗传算法用于测试用例生成时的设计方法。 最后,本文将传统遗传算法和改进后的遗传算法(IGA)与测试用例生成相结合,利用三角形判定程序对二者生成测试用例效果进行了分析。实验表明,相比传统遗传算法,改进后遗传算法在测试用例生成方面,具有更高的时效性,能在一定程度上避免了算法的早熟收敛。
引用
收藏
页数:48
共 20 条
[2]
遗传算法“早熟”现象的改进策略 [J].
周洪伟 ;
原锦辉 ;
张来顺 .
计算机工程, 2007, (19) :201-203
[3]
基于蚁群算法的软件测试数据自动生成 [J].
傅博 .
计算机工程与应用 , 2007, (12) :97-99+211
[4]
基于自适应SAGA的测试数据自动生成 [J].
郭斌 ;
高海昌 ;
冯博琴 ;
卫鹏 ;
朱利 .
微电子学与计算机, 2006, (08) :10-13+16
[5]
基于遗传算法的软件测试用例生成系统模型 [J].
易云辉 ;
汪闰六 .
科技广场, 2005, (06) :18-20
[6]
遗传算法的早熟问题探究 [J].
付旭辉 ;
康玲 .
华中科技大学学报(自然科学版), 2003, (07) :53-54
[7]
并行遗传算法收敛性分析及优化运算 [J].
戴晓明 ;
许超 ;
龚向阳 ;
邵惠鹤 .
计算机工程, 2002, (06) :92-95
[8]
面向路径的测试数据自动生成工具及其图形界面的Tcl/Tk设计 [J].
单锦辉 ;
王戟 ;
马晓东 ;
齐治昌 .
计算机工程与应用, 2002, (01) :74-77
[9]
遗传算法的早熟现象 [J].
魏平 ;
熊伟清 ;
赵杰煜 .
合肥工业大学学报(自然科学版), 2001, (06) :1076-1078
[10]
遗传算法的早熟收敛 [J].
熊伟清 ;
赵杰煜 .
宁波大学学报(理工版), 2001, (02) :23-27