论文部分内容阅读
随着现代软件结构规模的不断扩大以及软件复杂性不断提高,推动了软件测试自动化技术的不断发展,软件测试数据生成技术作为了保障软件产品质量的重要手段被广泛地引入到软件自动化测试研究中。测试数据自动生成技术是实现软件单元测试自动化的关键部分,通过测试数据自动生成技术实现软件自动化测试是降低软件成本、提高测试效率的有效方法。目前国内外对测试数据自动生成技术的研究中,虽然已经有一些方法和理论已经应用到测试数据自动生成的实践中但尚不成熟,还处在不断探索的阶段中,因此对测试数据自动生成技术的研究具有一定的理论意义和实用价值。本文通过分析研究面向路径分支覆盖测试技术和测试数据自动生成方法的特点,提出结合遗传算法设计实现一个测试数据自动生成模型,实现单元测试中路径分支全面覆盖测试数据自动生成。本文的主要工作包括:首先,阐述了本次选题的背景和意义,分析了国内外相关理论研究的现状。在软件测试的相关基本理论与技术中,重点分析了基于路径分支的测试方法以及测试数据生成技术。接着,介绍了遗传算法基本概念和特点,详细分析了遗传算法的过程以及影响遗传算法的重要因素。在此基础上分析采用遗传算法生成测试数据的可行性,通过遗传算法来解决测试数据最优化生成。之后详细分析了遗传算法在测试数据自动生成应用中的一般过程和步骤,并针对被测试程序进行路径分支分析、适应度函数设计、遗传算子设计等问题进行研究,提出一个基于遗传算法的测试数据生成模型,使其根据实际需要完成路径分支覆盖测试数据自动生成。最后,实现本文中设计的基于遗传算法的测试数据自动生成工具模型,运行验证工具模型的实用性和可行性。在实现的程序平台上进行了有针对性的实验,分析了遗传算法中的基本因素对测试数据生成的影响以及对遗传算法的生成效率等问题,通过分析比较实验数据得出相关结论。