论文部分内容阅读
随着信息技术的发展和计算机的广泛应用,如何保证和提高软件质量成为软件工程最为关心的问题之一,以软件测试为中心的软件质量保障技术在软件生产实践中得到了迅速的发展。但是随着软件规模的不断增大和复杂性的不断提高,传统的软件测试技术已经不能适应现代软件开发技术的要求。特别是近年来广泛应用的面向对象(OO)技术,它不仅增强了程序开发的灵活性和提高了代码复用性,也对传统软件测试提出了新的挑战。统一建模语言(UML)在被工业界广泛接受的同时也成为学术界遵循的一种标准建模语言,许多面向对象软件测试的研究都是围绕UML模型展开的。因为UML模型全方位地描述了软件的系统蓝图,所以研究基于UML模型的软件测试有利于把测试工作提前到软件开发周期的早期阶段进行。本文在分析现有软件测试技术基础上,对基于UML模型的多态性测试问题进行了深入研究,这对于现有软件测试理论和技术都有重要意义。由于UML协作图侧重于以图形化的方式从空间的角度展示对象的交互,直接从协作图提取测试用例并不方便,因此必须对其做形式化的等价转换。传统的过程间受限控制流图(IRCFG)很好地描述了协作图中交互消息的控制逻辑,但是它没有结合类图信息,不能对面向对象程序中包含的多态信息进行测试,所以本文把协作图和类图结合起来,提出了多态性扩展的带类图信息的过程间受限控制流图(PCIRCFG)模型,并对其进行了形式化的描述。同时提出了适用于PCIRCFG的测试覆盖准则,并给出了从PCIRCFG提取测试线索的方法,从而有效地解决了面向对象技术中的多态性测试问题。最后,本文基于上述理论设计和实现了一个基于UML模型的软件测试框架,文中给出了框架的主要结构,着重研究了各个功能模块的设计和实现过程中所涉及的关键技术。基于目前成熟的商业建模工具PowerDesinger,本文对其生成的模型OOM进行了深入分析,并成功地提取了有用的模型信息。文中定义了PCIRCFG模型的数据结构,实现了PCIRCFG的构造算法和唯一路径覆盖准则所对应的测试线索生成算法。通过从实际模型提取多态性测试线索,从而验证了该方法的有效性。