基于自适应遗传模拟退火算法的测试数据的自动生成

被引:0
作者
于家新
机构
[1] 哈尔滨工业大学
关键词
遗传算法; 结构测试; 模拟退火算法; 自动化测试; 测试数据;
D O I
暂无
年度学位
2006
学位类型
硕士
摘要
信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。 随着软件规模的不断扩大,复杂程度的不断提高,以及面向对象程序设计方法和工具的使用,软件测试的难度也进一步提高。实际的软件开发经验表明,软件测试在整个软件开发周期中,约占去1/3的时间,以及大约50%的总费用。令人遗憾的是目前的大部分软件测试还是采用人工测试的方式,有效的软件测试工具都比较昂贵。但事实上,测试却是在整个软件开发过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的,只需要细致注意力就能完成的工作,而计算机的特点就决定了它最适合代替人类去完成这些任务。 本文对软件测试的方法做了详细的归纳和总结,分别介绍了动态测试、静态测试、白盒测试和黑盒测试等测试方法。最后总结了近年来测试数据的各种生成技术,并且根据对各种方法和技术进行了系统地总结,提炼出了本文使用的方法和技术。 本文对各种测试数据生成算法进行了研究,采用遗传算法为本文的核心算法,对遗传算法在软件测试环境下的优缺点进行了分析,并且针对实际应用对其缺点进行了改进。首先,将遗传算法和模拟退火算法相结合,并对“退火”机制进行了改进,使其解决了邻域构造问题。其次,设计了自适应变异概率,保证了最优个体在进化过程中不被破坏,减少了进化过程中的“抖动”现象。再次,适应度缩放法的使用,不仅进一步解决了“早熟”问题,而且加快了算法的收敛速度,提高了搜索效率。改进后的算法称为自适应遗传模拟退火算法,简称AGSA。在性能上,AGSA较先前的算法有了很大的提高。 最后,本文以新算法AGSA为核心算法,设计和实现了基于指定路径的测试数据自动生成系统。该系统由三大部分组成,分别是程序分析器,路径选择器和数据生成器。该系统能够准确地生成满足指定路径的测试数据,收敛性很高,并且通过实验证明了该系统的优越性。
引用
收藏
页数:74
共 12 条
[1]
Data generation for path testing [J].
Mansour, N ;
Salame, M .
SOFTWARE QUALITY JOURNAL, 2004, 12 (02) :121-136
[2]
Java与模式.[M].阎宏编著;.电子工业出版社.2002,
[3]
一种基于实数编码的改进遗传算法 [J].
董颖 ;
刘欢杰 ;
许宝栋 ;
唐加福 .
东北大学学报, 2005, (04) :219-221
[4]
SAGA在软件测试数据自动生成中的应用 [J].
张文栓 ;
滕奇志 ;
罗代升 .
信息与电子工程, 2005, (01) :40-43
[5]
软件测试自动化实践 [J].
朱国庆 ;
许聚常 ;
任继平 ;
邢伟 .
装甲兵工程学院学报, 2004, (02)
[6]
面向路径的测试数据自动生成方法述评 [J].
单锦辉 ;
王戟 ;
齐治昌 .
电子学报, 2004, (01) :109-113
[7]
遗传算法及其在软件测试数据生成中的应用研究 [J].
汪浩 ;
谢军凯 ;
高仲仪 .
计算机工程与应用, 2001, (12) :64-68
[8]
一种快速收敛的遗传算法及其应用 [J].
闫洁 ;
曹秉刚 ;
史维祥 .
西安交通大学学报, 2001, (01) :66-70
[9]
区间算术在软件测试中的应用 [J].
王志言 ;
刘椿年 .
软件学报, 1998, (06)
[10]
模拟退火算法与遗传算法的结合 [J].
王雪梅 ;
王义和 .
计算机学报, 1997, (04)