论文部分内容阅读
进化测试是近年来刚刚兴起的测试数据自动生成技术,已在很多实际工程中得到了成功应用。其主要思想是利用进化算法将测试数据的生成问题转化成为进化搜索问题,从而实现测试的自动化。进化测试利用进化算法的全局搜索能力,在具有导向性的适值函数的引导下,能够快速高效的自动生成测试数据。其中适值函数在这当中充当着重要的角色,一个设计良好的适值函数能够为进化搜索提供更好更准确的导向,从而提高进化搜索的效率。在实现进化测试对基于嵌入式汇编程序的应用过程中,首先要面临的问题就是代码的植入问题,由于汇编语言具有多种寻址方式,它的植入方法不像高级语言的植入那么简单,对此本文提出了一种基于汇编的代码植入方案并将其应用到具体实现中。同时在基于汇编语言的嵌入式程序中,分支结构是程序中最主要的控制结构,而其中嵌套的分支结构最为复杂,因此本文将主要针对基于嵌入式汇编中的嵌套分支结构的适值函数的计算进行讨论和实现。在具体的应用过程中将分别从基于传统的适值计算方法、基于分支距离的适值计算方法以及基于分支乐观度的适值计算方法这三种方法来进行实现。通过具体应用发现对于这三种方法,传统的方法在测试输入无法满足各层分支条件的情况下,无法对内层的数据进行有效评价;基于分支距离的适值计算方法则完全忽略了分支之间的控制依赖关系而同样在有些情况下无法正确评价测试数据;而基于分支乐观度的适值计算方法则解决了前面二者所出现的问题,使得适值计算对进化搜索具有更好的导向性。通过实验检验表明,在基于汇编的嵌套分支结构的适值函数计算中基于分支乐观度的适值计算方法确实能够更有效的引导进化搜索,提高搜索效率。