论文部分内容阅读
随着计算机与互联网技术的迅猛发展,计算机已经被应用到了社会中的各个行业当中,而软件作为计算机系统中一个非常重要的部分,对各个行业的正常运行更是起着至关重要的作用。当前,软件系统的规模的日益扩大、软件的开发技术日渐复杂,软件的质量也越来越受到人们的关注。软件测试是保证软件质量的一项重要的手段,而进行软件测试的关键是设计并生成测试用例。由于目前软件系统的测试主要是由人工进行的,需要耗费巨大的人力和成本,因此,实现软件测试的自动化是降低测试成本、提高软件质量的重要手段之一,而自动生成测试用例成为了软件自动化测试过程的重中之重。UML(Unified Modeling Language,统一建模语言)是一种常用的建模语言,并且已经成为事实上的面向对象建模的标准,在市场上已经有多种工具对UML建模提供支持。UML模型综合了多种模型的优点,能够从不同的角度对软件系统进行描述,具有强大的描述和管理系统的能力,具普遍适用性,还具有良好的定义,逐步成为了研究的热点,被众多软件企业和开发者采用,并且被广泛地应用到了测试领域中。随着仿生学、遗传学和人工智能科学的发展,一些通过模拟和解释自然现象过程的智能优化算法,如遗传算法、蚁群算法、禁忌搜索算法以及模拟退火算法等也得到了迅速的发展,这些算法为解决复杂问题提供了新的思路,并逐步运用到了测试领域当中。在这种背景下,本文通过广泛调研和深入的研究,提出了利用UML模型和蚁群算法生成测试用例的方法,本文主要做的工作如下:(1)对UML顺序图模型进行了研究,并给出了顺序图的形式化定义,消除了顺序图的模糊性和一致性,使得顺序图模型更加容易分析。(2)研究将顺序图转换为顺序有向图SDG的方法,给出了在SDG中需要用到的数据结构和相应的转换过程,并对转换的节点等结构进行了命名规范。(3)研究蚁群算法并对其进行了改进,给出了相应的改进算法,对于存在循环结构的路径进行了分类处理,使得应用改进的蚁群算法遍历有向图时,将得到所有可能存在的路径。(4)将顺序有向图SDG与改进的蚁群算法结合,应用在了基于顺序图模型来生成测试用例的过程中,并且应用该方法设计并实现了一个原型工具,来自动生成测试用例。通过对“借阅图书”事件进行分析和验证,结果表明利用UML顺序图模型和改进的蚁群算法来生成测试用例,不仅可以对冗余测试用例的生成进行有效地控制,使生成的测试用例数量合理,而且生成的测试用例有效,能够满足测试的需求。