随着软件行业的发展,软件的规模越来越大,复杂度也越来越高,为了保证软件的质量,软件测试在软件开发过程中重要性越来越大,软件测试也花费越来越多的人力、物力以及时间。在软件测试中,测试用例集的大小以及运行每个测试用例的代价决定了软件测试的成本和效率。因而,本文研究的内容就是:在保证软件测试的质量的前提下,如何使用生成尽可能小的测试用例集并能充分测试软件,从而提高软件测试的效率并降低软件测试的开销。
本文主要针对如何使用遗传算法对测试用例自动生成这一问题进行了详细的研究和设计。首先,本文系统地介绍了软件测试的背景以及国内外的研究现状,然后,介绍了软件测试的一些基本概念并重点阐述了软件测试现有的一些测试用例生成的技术。接着详细地介绍了遗传算法的一些基本理论和操作,并分析了使用遗传算法生成测试数据的理论依据,对遗传算法在软件测试环境下的优缺点进行了分析,并针对遗传算法在测试生成问题中缺点进行了改进。
在具体改进中,首先在编码方式上本文采用了实数编码方式,算法不需要编码和解码过程,提高了算法的工作效率,接着是对适应度函数的改进,不仅包括了个体适应度还加入了个体对群体适应度的贡献的概念,并将此运用到算法的选择操作中,较大的提高了算法的搜索能力。
随后,建立基于遗传算法的测试用例生产模型,将该模型用于实际的测试环境中,对实验结果进行分析,实验结果表明:本文提出的方法具有较好的可行性和实际效果。
最后,运用改进的测试用例简化算法对本文算法的实验结果进一步简化,得到更高效的数据结果。