基于蚂蚁算法的路径测试数据自动生成方法研究

被引量 : 13次 | 上传用户:fmwksf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息化的不断深入,软件产品的应用日益广泛,规模越来越大,复杂程度越来越高,软件质量问题日益成为软件技术领域研究的重点和热点问题。软件测试是现阶段保障软件质量的重要手段。软件测试中如:语句覆盖、条件覆盖等都可以归结为面向路径测试数据的生成问题。自动求解该问题将有效地提高软件测试的效率和质量。本文主要研究的是路径测试数据的自动生成方法。路径测试已经被证明是一个NP问题,是对程序进行结构测试的重要方法。令人遗憾的是目前大部分的测试还采用的是人工测试的方法。事实上,测试工作有很大的重复性,极有可能使用计算机进行自动化测试。研究测试数据的自动生成,可以降低手工测试的高额成本,减轻测试人员所必须付出的大量劳动,同时提高测试过程的可信赖程度。路径测试是软件测试的基本问题,因此路径测试数据自动生成方法的研究,对实现软件测试过程自动化,有着十分重要的现实意义。本文首先介绍了路径测试数据的生成步骤。总结了现有的测试方法,并对现有的一些测试数据自动生成的方法如:随机法、静态法、动态法和试探法做了重点介绍。其中,并着重介绍了使用人工智能的试探法,分别分析了如:使用遗传算法、模拟退火算法以及模拟退火遗传遗传混合算法自动求解路径测试数据自动生成问题。蚂蚁算法作为最成功的集群算法之一,已成功解决了诸多NP问题,但在求解路径测试问题上并不多见,故本文选择了使用三种二进制蚂蚁算法:BAA、BAS和BACS进行求解路径测试数据自动生成问题。并对解进行分析讨论。由于蚂蚁求解问题是建立在图的表示基础上的,在应用蚂蚁算法解决问题之前应首先将路径测试输入数据的解空间转化为可以被蚂蚁求解的搜索空间。本文选用的是使用二进制编码将测试的输入空间离散化来构成二进制蚂蚁的搜索空间。由于,二进制蚂蚁搜索空间的特殊性,蚂蚁很容易陷入某些边上是算法停滞,在求解过程中调整算法的一些参数,使算法得到探索与开发的平衡。另外,二进制蚂蚁是对个体蚂蚁的智能要求比较低,因此在二进制蚂蚁算没有启发式信息的概念,从而导致有时算法所产的效果很糟糕,在比较三种蚂蚁算法的求解效果后,在这三种蚂蚁算法求解效果最好的BAS中加入局部搜索来弥补没有启发式信息带来的不足。最后使用三角形分类程序TRITYP和佣金COMMISSION问题作为例子,生成了该程序的测试数据,并对实验数据进行了分析。实验结果表明,加入局部搜索的自适应BAS有着良好的探索与开发的平衡,保证解空间的多样性和算法的求解效率,避免算法陷入局部最优,从而取得良好的求解效果。
其他文献
本文以Ti-50.8Ni、Ti-50.8Ni-0.3Cr和Ti-51.1Ni形状记忆合金(SMA)为研究对象,用光学显微镜、热重分析仪、X射线衍射仪、示差扫描量热仪和拉伸实验,研究了Cr掺杂及热处理对Ti-Ni
区别于历史建筑、馆藏文物等其他类型,考古遗址资源尤为珍稀与脆弱,世界各国大都将重要考古遗址作为公共资源由政府承担主要保护管理责任。在我国,遗址属于特殊国有资产,构成
农村土地整治是美丽乡村建设的重要抓手,美丽乡村建设是土地整治的重要目标。笔者结合明溪县的实际,阐明了美丽乡村建设背景下明溪县农村土地整治的做法、存在的问题及对策,
轧机控制系统的调试是轧机设计中不可或缺的手段。它的设计是基于控制对象数学模型的,这种方案设计出的控制系统直接应用在轧机上,效果不好,到现场以后还需要反复的加以调试修改
<正>"十二五"时期财政国库工作圆满完成"十二五"时期,具有里程碑意义的党的十八届三中全会胜利召开,《中共中央关于全面深化改革若干重大问题的决定》明确提出,必须完善立法
思想政治教育在美国社会上得到了高度重视,形成了理论与实践的体系。随着社会的不断进步和发展,美国思想政治教育表现出了不同的特征,具有明显的政治化倾向,鲜明的阶级性、社
钻削在金属切削中应用很广,孔加工是最常用的材料切除方法之一。根据行业不同,其工序量达总加工工序量的20%~40%,所以,钻削加工技术一直是机械加工领域倍受人们研究的重要课题
本文从审计机制、审计应遵循的原则、审计的效率和质量等方面,分析了当前商业银行内部经济责任审计中存在的问题,并针对性地提出了一些对策。
<正>一、问题的提出这是笔者在进行高三二轮复习"函数与零点"时的一则教学案例:案例1:已知函数(fx)={≥-x~2-2x+a(x<0),(fx-1)(x≥0),且函数y=f(x)-x恰有3个不同的零点,则实
囊泡是由两个双亲分子定向单层尾对尾地结合成封闭单分子双层所构成的外壳,和壳内包藏的微水相构成。一般说来,具有大极性头基和双柔性链表面活性剂可以自发形成囊泡。由于大