论文部分内容阅读
软件测试在软件的开发和维护上来说是一个昂贵的部分。而这一过程劳动特别密集的一个部分就是产生满足需求的测试数据。给一个测试需求,比如一个输入数据会导致一个特定的执行,测试数据生成技术尝试找到满足测试需求的这样一个输入数据。自动化测试用例生成就是为了减少在软件的开发和维护阶段的开销而存在的一个重要步骤。在自动化测试的研究中,基于形式化规格说明书的自动化测试因为其众多的优点,受到越来越多的关注。然而,怎么在基于规格说明书的基础上,保证生成足够的测试用例,覆盖程序中的所有路径,现在仍是一个问题。在这篇文章中,一种新型的方法被提出。这种方法提高了选择合适的测试用例的效率,大大提高了测试用例的路径覆盖率。这个方法的流程是这样的,首先根据形式化规格说明书设计出路径图,再运用遗传算法来生成合适的测试用例,在对这组测试用例进行选择,交叉,和编译等遗传操作后,会得到覆盖全路径的优秀个体,这时算法停止。为了提高遗传算法的性能,禁忌列表被提出来,使遗传算法不仅在覆盖率上有很好的表现,同时也大大提高了其在时间开销上的性能。通过实验,遗传算法的高效性得到了证明。同时通过实验数据可以看到,改进后的算法在时间开销上有了很大的提升。实验的编译环境是Eclipse,使用的是Windows7操作系统和Corei7内核系统。我们在对各种方法进行比较时,根据的是各种方法在该编译环境中的时间开销大小作为判断标准。