论文部分内容阅读
近年来,用户对软件需求的复杂度在逐渐增高,软件规模越来越庞大,软件质量问题得到了广泛的关注。软件测试是保障软件质量的有效手段,其中自动化测试技术能够打破手工测试的局限性,通过自动生成测试数据,有效的提升了软件测试的效率。本文研究如何将启发式算法用于软件测试数据的自动生成,并以三角形分类问题作为实例,验证启发式算法在测试数据自动生成上的优势。本文首先介绍了软件自动化测试的相关技术,重点研究面向路径的测试数据自动生成技术。然后,详细阐述启发式算法相关概念。启发式算法包括遗传算法,模拟退火算法,蚁群算法以及禁忌算法等,是一组指导算法搜索方向的、建议性质的规则集。本文重点研究遗传和模拟退火算法在自动化测试方面的应用。遗传算法是一种全局优化搜索方式,具有广泛的实用性,是从生物的进化过程抽象出来,基于概率意义,随机进行迭代进化的方法。但是,遗传算法具有自身的缺陷。例如,局部搜索能力不足、收敛速度慢以及稳定性也较差。模拟退火算法是局部搜索算法的扩展,针对遗传算法的缺陷,将模拟退火算法与其相结合,可以避免早熟现象的发生。随后,本文详细分析如何将遗传退火算法用于自动化测试中,构建应用模型,搭建测试环境,并对染色体编码以及构造适应度函数。针对路径测试,提出了基于插桩的路径测试数据自动生成方法。最后,以一个典型的例子对模型进行实现,自动生成测试数据,并对结果进行分析,验证遗传退火算法在测试数据自动生成上的优越性。