关键词:
软件测试
遗传算法
自动化测试
测试用例
摘要:
随着计算机的快速发展,软件产品在人们的生活中扮演越来越重要的角色,软件质量的重要性不言而喻,软件测试作为确保软件产品质量的重要方法,在软件的开发流程中所占的比重逐渐增大。
目前,软件系统的复杂性不断增加,软件测试过程的复杂性也逐步增加,其中耗费的人力、物力、财力以及时间也呈阶梯式增长,软件测试在软件开发中所占的成本居高不下。因此,在保证软件质量的前提下,节省软件测试成本成为首要解决的问题,而通过对自动测试领域的深入研究能够很好的解决这个问题。为了提高软件测试的自动化程度和测试效率,本文主要对软件测试用例的自动生成方法进行研究。
本文提出了改进标准遗传算法的基本思想,并编程实现了基于改进遗传算法的测试用例自动生成系统,通过实验证明了改进遗传算法应用于测试用例自动生成上的有效性和效率性。主要所做的工作有以下几点:
1.在分析软件测试和标准遗传算法基本理论的基础上,研究在软件测试用例自动生成领域中如何应用遗传算法,将二者有效融合,为解决软件测试中存在的难点问题,提供具有可行性和实用性的技术方法。
2.针对标准遗传算法应用中存在的“早熟”缺陷,提出了对标准遗传算法的改进思想,在选择算子上,采用最优个体保留法和轮盘赌选择方法混合使用,在交叉概率和变异概率的取值上,采用改进的动态取值法,同时提出将遗传算法与爬山法进行组合,进一步提高遗传算法应用于测试领域的效率性和优越性。
3.用Java语言实现了基于改进遗传算法的测试用例自动生成系统,并通过三角形分类程序,进行详细的实验分析和论证,最后得出实验结论:遗传算法应用于测试用例自动生成中是可行的,改进的遗传算法在自动生成测试用例的时间效率上,优于随机法和标准遗传算法。