软件测试是保证软件质量的重要手段,在软件开发过程中起着不可替代的作用。而测试用例的生成是软件测试的关键技术之一,传统的人工构造测试用例方式工作量大、周期长,且易于出现测试遗漏。因此,提高测试用例生成的自动化程度对于确保软件开发质量、降低软件开发成本、促进测试的自动化程度都有十分重要的意义。
本文主要针对测试用例自动化生成这一问题进行了详细的研究和设计。首先,本文介绍了软件测试的基本理论,并重点阐述了现有的一些测试用例生成技术。接着分析了使用遗传算法生成测试数据的理论依据,对遗传算法在软件测试环境下的优缺点进行了分析,并针对遗传算法在测试生成问题中缺点进行改进。将遗传算法和禁忌搜索算法相结合,引入了自适应遗传概率和适应度拉伸策略,改善了算法爬山能力,保证了最优个体在进化过程中不被破坏,加快了收敛速度。同时,提出了集中搜索和分散搜索策略,进一步提高了算法收敛于全局最优的概率,在性能上,改进的算法与同类型其他算法相比有了很大的提高。
随后,本文建立了基于禁忌遗传算法的测试用例生成框架,将禁忌遗传算法用于实际的测试环境,并实现了框架的核心部分一测试用例生成模块。其中重点阐述了框架实现过程中需要解决的一些关键技术:路径选择、谓词插桩、适应度函数构造、禁忌准测及算法详细实现等问题。通过生成一条指定路径的测试用例,将本文算法与文献所述算法进行比较分析。为了充分验证算法的普遍性,本文还分别采用三种不同类型的函数作为适应度函数,通过收敛次数,运行时间等指标,将本文算法和其他同类算法进行比较。实验结果表明:本文提出的方法具有较好的可行性和实际效果。