论文部分内容阅读
随着软件开发技术的成熟与应用的普及,软件质量的保证面临新的挑战,同时也彰显了软件测试的重要性。近年来,面向对象的技术的发展,使基于UML的软件测试已成为一个重要的研究课题。目前,传统针对活动图或者顺序图的单一的模型只能描述系统某一层面的信息,导致测试不充分的问题。如活动图用来描述系统的业务流程,顺序图用来描述系统对象间的交互信息。由于UML是一种半形式化的建模语言,无法精确的描述系统的约束信息,使得基于UML模型产生的测试用例的完备性出现严重不足。针对上述两个问题,本文采用UML2.0中提出的一种新图——交互概览图(IOD)作为测试模型,它将UML活动图和顺序图结合起来描述系统的业务流程及交互细节,很好的弥补了活动图和顺序图的缺陷,同时给软件测试开辟了一个新的领域。目前基于UML2.0交互概览图的测试少,而传统的基于UML活动图和顺序图的测试已不适用交互概览图,因此,本文提出一种基于UML交互概览图的测试方法,并结合OCL约束生成包含约束信息、流程信息和对象交互信息的测试用例。本文主要是结合于UML交互概览图、类图、顺序图的软件测试。首先分析UML类图、交互概览图、顺序图的新特性及结构并给出形式化定义,通过在类图中添加OCL约束来增强UML描述系统的精确性;其次,构造可测试交互概览图模型。交互概览图中不仅包含系统的业务流程信息,还包含对象间的交互信息。把IOD的流程结构信息根据构造规则构造为节点控制流图(NCFG),把IOD的交互节点即顺序图中的消息及组合框信息如alt、loop、break等根据转换规则转化为消息约束序列图(MCSD),将MCSD的消息约束路径替换NCFG中对应的交互节点从而构造可测试的交互概览图模型。再次,对可测试交互概览图模型中的分支、并发、循环结构进行分析并设计其测试覆盖准则,给出测试线索生成的具体步骤;最后根据测试线索中的约束条件结合等价类化划分法和边界值分析法构造测试输入数据和生成完备的测试用例。通过上述理论研究,本文提出了一种基于UML交互概览图的测试框架。在对建模工具Rational SoftwareAchitect(RSA)的XMI模型文件分析的基础上,开发了一个基于该框架工具原型,实现了模型信息解析和提取、可测试交互概览图的构造、测试线索自动生成生成等功能。最后通过实验实例利用该工具自动生成测试线索,实验结果验证了本文所提方法的可行性和有效性。