论文部分内容阅读
能否有效进行软件测试是提高软件质量的关键,而回归测试又是软件生命周期中的组成部分,随着软件规模的扩大,回归测试也随之变得繁琐,成本也极其昂贵,因此,回归测试在整个软件开发过程中也显得尤为重要。现有的测试用例优先化技术存在一些不足,通常在回归测试中,测试人员需要耗费大量的时间研究程序和测试用例本身,而没有充分利用之前版本的测试结果作为新版本测试的一个参考,忽略了测试用例的设计信息对其优先级的影响、测试用例的生成和约简以及测试用例优先级排序的整体特性。本文主要针对上述问题,主要在基于缺陷覆盖准则的基础上,对测试用例库的建立过程以及选择机制进行了研究,并在此基础上运用蚁群算法的基本原理对回归测试用例集进行重新排序以达到优化测试的目的。文章分析了目前国内外回归测试中测试用例选择技术的现状和不足,并且指出其在回归测试中的关键作用。针对目前软件开发实际面临的问题,本文首先对基线测试用例库进行了设计,主要是数据库的设计和测试用例描述模式设计,然后就测试用例集的抽取选择机制进行了研究,设置了权重选择算法,最后提出了一种新的优先化排序算法:首先要确定回归测试用例和缺陷的覆盖情况,然后运用蚁群算法的基本原理对回归测试用例集进行遍历,直至所有的缺陷被全部覆盖为止,最终得到一个新的排序序列。文章对测试用例库的建立和抽取过程进行了详细描述,并在此基础上提出了基于蚁群算法的测试用例选择机制,定义了其问题模型,讨论了其解决思路,并做了详细的算法分析及实现,最后通过实例将本文所提出的算法和传统的两种算法得到的排序序列进行对比,并且运用测试用例优先级技术的度量标准APFD以及仿真实验进行验证,证明本文所提出方法的有效性,达到了提高回归测试效率的目的。文章的主要创新之处:1、对基线测试用例库的建立进行设计。主要是数据库的设计和测试用例描述模式设计。2、对从测试用例集的抽取过程进行量化描述。测试用例和缺陷是测试中两个不同的抽象概念,通过设置了权重选择算法将二者有效结合以解决测试用例集的选择问题。3、在基于缺陷覆盖准则的基础上将蚁群算法的基本原理运用于测试用例优化问题中。蚁群算法是一种有效的模拟进化算法,将它运用于解决回归测试中测试用例优先化问题中,能够得到较好的回归测试用例排序序列。