论文部分内容阅读
回归测试作为软件测试中的一个重要部分,旨在保证软件的改变不会引入新的错误。然而,传统的基于源代码的回归测试,不仅难度大、成本高、效率低且容易出错。特别是对于面向对象软件而言,由于继承、多态及各种关系的引入,使得传统的回归测试方法难以满足面向对象软件的要求。随着UML技术的广泛应用,基于UML的软件测试越来越受到人们的关注。UML类图、顺序图是UML模型的重要组成部分,它们分别描述了软件系统的静态行为和动态行为,是软件中依赖关系重要的信息来源。然而,如何精确的定位改变及受其影响的模块,以及如何精确有效地选择测试用例,是回归测试面临的主要难题。本文在总结国内外理论研究的基础上,分别从静态与动态的角度分析和研究了基于UML模型的依赖性分析及其在回归测试中的应用。首先,提出基于类图的静态依赖分析模型和基于顺序图的动态依赖分析模型,分别通过构造类依赖图和基本消息流图来描述类间的依赖关系和对象间动态的消息传递,并给出相关的构造算法。其次,讨论如何捕获类图与顺序图中的改变信息,并基于依赖分析模型对这些改变进行影响分析,从而确定需要进行回归测试的模块。接着,对测试用例选择技术进行研究,给出基于静态依赖分析模型的测试路径查找算法;又分别从静态与动态角度对测试用例匹配情形进行全面分析,并给出匹配算法。最后,基于测试用例的有效性要求,将测试用例分为可重用的、可重测的与过时的,并给出分类算法。基于本文提出的方法,在Microsoft Visual C++ 2005及Microsoft SQL Server 2005平台上实现了一个回归测试工具,并将其初步应用于对某三维模型监测系统的测试,测试结果验证了本文提出的回归测试模型的正确性。