基于混合遗传算法的测试用例生成研究与应用

来源 :成都理工大学 | 被引量 : 2次 | 上传用户:coldblast
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是保障软件质量的关键手段,在软件开发的各个阶段具有至关重要的作用。设计测试用例是测试的首要步骤也是关键一步。如今软件测试朝着自动化方向发展,通过自动化脚本或者工具来执行测试,大大节省了人力资源和时间成本,同时也避免了人的主观性错误。但是现有的自动化工具在测试用例的自动生成上还做的不够完善,大部分测试用例还是需要测试人员手动设计和生成。随着软件规模的扩大和程序路径变得越来越复杂,传统的手工设计测试用例无法满足需求,无法全面覆盖测试路径,更容易出错。本文针对如何提高测试效率、减少测试成本和提高软件测试自动化能力,对测试用例自动生成进行了研究。本文主要工作是对应用于测试用例自动生成中遗传算法进行研究,基于现有的软件测试技术和测试用例生成方法,提出了一种改进的模拟退火遗传算法应用到测试用例的自动生成技术之中,改善现有遗传算法生成测试用例时效率低下的缺陷。论文首先在国内外研究的基础上,对软件测试相关理论进行阐述分析,重点分析了面向结构的测试数据自动生成技术以及现有的一些可用方法。文中对各种方法及相关技术做了系统的总结与比较,而后指出在这一领域人工智能技术将能发挥很大作用。其次,本文对遗传算法和模拟退火算法进行详细的介绍,并分析标准遗传算法在测试用例自动生成上的可行性。针对遗传算法容易陷入局部最优解和目标路径覆盖率低的缺点,本文引入混合模拟退火遗传算法,确定了SA引入GA的方式,并将其用于测试用例的自动生成中。然后,本文介绍了模拟退火遗传算法应用在测试用例自动生成上的系统框架,对模拟退火遗传算法的关键技术进行了改进:针对能准确评价个体的优劣,对适应度函数进行改进,即提出一种新的面向路径相似度计算方法,并结合分支距离作为适应度函数;对交叉算子采取多点交叉技术;对变异算子进行改进,采用自适应变异。再在此基础上提出混合模拟退火遗传算法。改进后的算法能够快速收敛,达到最优,避免了陷入局部最优。最后在实验和结果分析部分,设计了基于改进后模拟退火遗传算法的测试数据辅助工具。并采用3个基准程序和1个实际程序进行实验,对标准遗传算法、自适应遗传算法和改进模拟退火遗传算法从最优迭代次数、运行时间和产生最优解的个数进行分析和总结,还在不同变异概率和种群规模下对算法进行分析。最后得出实验结论:改进的模拟退火遗传算法在产生最优测试用例的数目上有很大的优势并且收敛性好,表明了改进算法的可行性。
其他文献
随着情感分析研究的不断深入,情感词典和深度学习技术被广泛地应用于情感分析任务中。针对情感词典不能考虑词的上下文语义信息,循环神经网络获取整个句子序列信息有限和网络
在我国现实社会生活中,破产程序中侵害破产债权的行为多种多样。要解决这一问题,首要的便是构建侵害破产债权行为的责任模式,立法应更加强调民事责任、刑事责任的运用,构建以民事
雷金纳德·罗斯是美国当代主要剧作家之一。他1920年10月出生于纽约的一个律师家庭,1937年至1938年就读并毕业于城市大学(现纽约市立大学),1942年至1946年在美国陆军服役,后
分析了江苏农业与文化产业融合发展的基础与优势:丰富的农业自然资源是农业与文化产业融合发展的基础条件,深厚的文化底蕴为农业与文化产业融合发展提供了现实支撑,消费结构
经济增长与幸福感之间不协调的现象称为"伊斯特林悖论"。无论在理论和实践上,经济学难以摆脱用经济手段来破解"伊斯特林悖论"的模式。社会学对幸福感的研究在"伊斯特林悖论"提出之
裁判要旨$$以不动产抵偿债务的仲裁调解书,并非具有直接变动当事人之间既存物权法律关系效力的功能,涉案不动产未依法办理物权转让登记,不发生物权变动的效力。$$案情$$河南爱芙
报纸
伴随着国内水产养殖业的快速发展,水产养殖面积逐年递增,已经成为我国农业经济增长的主要产业之一。但在水产养殖水质监测方面,大部分养殖户仍采用依赖于人工经验的传统养殖模式,无法对水质做出科学的判断而影响行业的发展。当前,随着农业现代化和无线传感器网络技术的飞速发展,为水产养殖水质监测提供了科学的解决方案。目前绝大部分工厂化养殖模式的水质监测采用Zigbee、WiFi、GPRS等无线通信技术进行通信,但
本文简单介绍了堤防工程水土保持设施验收技术评估报告的编制过程及要点,阐述了堤防工程水土保持设施技术评估程序和堤防水土保持工程技术评估的作用和结论,以及存在问题的处理
在当前城乡一体化发展背景下,少数民族地区脱贫将成为我国扶贫开发的重中之重,本文从外部机制和内部机制两个层次对当前我国扶贫长效机制进行明确的界定,并结合内蒙古少数民
核磁共振图像的脑组织提取是神经图像处理研究中的一个重要步骤。将传统的几何活动轮廓模型与二值水平集函数相结合,提出了一种新型的二值水平集活动轮廓模型,并基于该模型提出