论文部分内容阅读
软件测试是保证软件质量和可靠性的重要手段,在这方面发挥着其它方法不可替代的作用。然而,软件测试是一个复杂的过程,需要耗费巨大的人力、物力和时间,约占整个软件开发成本的40%-50%。因此,提高软件测试工具的自动化程度对于确保软件开发质量、降低软件开发成本非常重要。而提高测试用例生成的自动化程度又是提高测试工具乃至整个测试过程自动化程度的关键所在,本文主要针对这一问题进行了研究和设计。 本文作者首先介绍了软件测试的基本理论和测试用例的自动生成技术。其中,重点阐述了面向结构的测试用例的自动生成技术及一些现有的实现方法,并在系统地比较之后指出人工智能技术在这一领域将大有作为。 随后,本文分别介绍了遗传算法和模拟退火算法的基本原理、实现步骤和各自的优缺点。从而进一步根据二者优势互补的特性,提出采用混合算法以提高算法的性能。 紧接着,作者提出了基于模拟退火遗传算法的结构测试用例自动生成系统的框架结构,并重点阐述了系统实现过程中需要解决的一些关键技术:如编码问题、适应度函数的选取问题和遗传算子的改进等。 在解决了这些关键技术之后,作者采用VC++语言编程实现了测试用例自动生成系统的核心算法——模拟退火遗传算法,并采用VB开发了C语言解析器和图形用户界面。图形用户界面先后调用C语言解析器和模拟退火遗传算法,共同完成指定路径的测试用例的自动生成。最后作者以一条实际路径为例,详细阐述了所开发的工具软件的使用方法,并运用该工具软件成功的为该路径生成了测试用例。实验结果显示,该工具软件比较实用和有效,能够完成指定路径的测试用例的自动生成。当然也还存在实时性较差、能处理的数据类型较少等问题,因此作者在结束语中针对这些问题指出了下一步进行研究的方向和工作重点。