基于UML模型的软件测试线索生成的研究

来源 :重庆大学 | 被引量 : 0次 | 上传用户:ayczswh
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统的复杂程度增加,需要在软件开发的各个阶段保证软件质量。基于UML模型测试的最大优越性在于,测试过程能和程序实现实现同步,因而成为软件测试的研究热点之一。面对复杂的软件系统,为了节约成本,缩短测试时间,自动化测试用例的生成成为软件测试中的关键。  在软件开发早期,利用顺序图可以设计面向对象的集成测试用例。然而面临UML2.1中顺序图的新特性,现有的基于顺序图的测试已不适用。另外顺序图对系统的动态行为描述不够充分,因为UML模型的不同视图对系统的描述侧重点不同,没有一个完全适合于测试的模型。针对上述两个问题,本文对顺序图的新特点进行分析,首先,提出了基于顺序图的消息约束序列流程图(MessageConstraintSequenceFlowDiagram,MCSFG)的生成方法;其次,把类图中OCL约束引入到状态图中,结合状态图中的变迁集合和MCSFG,提出了可测试的消息约束序列(TestableMessageConstraintSequence,TMCS)的生成方法。生成的可测试消息约束序列可以提高测试用例的覆盖率,并且该消息序列包含的约束信息可为测试输入数据和测试输出数据的生成提供依据。  本文首先分析了顺序图中包含loop、alt、opt等不同操作符的组合框和交换引用对消息序列生成的影响,根据组合框中不同的操作符和条件,将控制信息节点添加到消息序列中,生成能遍历出不同消息路径的、包含控制约束信息的消息约束序列流程图。其次,在状态图中添加OCL约束,进而从状态图中提取包含有初始状态、目标状态、前置后置约束、事件和操作的变迁集合。考虑到消息约束序列流程图中的消息节点可能会触发消息接收对象的状态改变,根据警戒条件或者初始状态的不同可能触发多个变迁,根据变迁的事件和操作是否与消息路径中当前消息和下一条消息一致,或者连续的两个变迁的事件是否与当前消息和下一条消息一致,对消息序列扩展生成可测试消息约束序列集合。再次,根据测试消息约束序列所包含的前置约束和后置约束,利用等价类划分发和边界值法,提出了测试输入数据和测试输出数据的生成方法。最后提出适用于本方法的测试覆盖准则并对它进行评测。  通过上述研究,本文提出了一个基于UML的集成测试线索生成框架,并实现了测试框架中的XML文件的解析模块,从UML模型文件中自动提取所需信息,为TMCS的生成提供了基础。实现了MCSFG和TMCS的自动生成,并建立实验模型,对该模型自动生成了覆盖率高的测试线索,保证了测试的充分性。该实验验证了本文提出的方法的可行性,为集成测试线索的自动生成提供了一种新方法。
其他文献
互联网基础设施的快速发展使多种新兴网络业务的实现成为可能,诸如远程桌面、视频聊天等服务都需要建立在高带宽的网络传输之上。然而近年来迅猛发展的P2P(peer-to-peer)应用
随着计算机网络的迅猛发展,网络安全问题成为人们关注的焦点。如何应对大规模的高速数据流检测,如何实现在线学习,如何减少或消除噪声数据的影响,是入侵检测系统面临的主要挑
众所周知,配方调试过程是陶瓷生产的一个重要环节,而影响配方调试的最主要因素则是选择原料问题。由于建筑陶瓷原料种类繁多且又分布广泛,导致同一种原料会有成百上千种原料
目标检测是视觉感知的一个重要任务,其目的是将视觉目标从背景中分离出来,或者分析不同目标之间的空间关系。在该问题中有四个关键因素影响着目标检测的性能:一是搜索方式;二
目前皮革缺陷的检测主要靠工人目测,检测结果受主观因素影响大。随着成像技术、计算机技术、计算机视觉理论及大规模集成硬件的不断发展,使利用这些技术对皮革缺陷进行自动检
遮挡现象在人类的日常生活中随处可见,当视觉目标沿着观测者的观测方向在空间结构上产生交错,必定会导致对观测者观测行为的干扰,比如在模式识别、自动化场景认知、三维重建
网格计算是近年来研究较为热门的一项技术,它能够把整个互联网集成为一台巨大的超级计算机,实现全球范围的计算资源、存储资源、数据资源、信息资源及知识资源等广泛分布的大量
社区结构作为社会网络的一个非常重要性质,可以反映出社会网络成员个体的行为特征以及与其它个体的关系特征,发现社区结构有助于对社会网络内部规律的分析与理解,对社会网络
以神经元为基本信息处理单元的生物神经网络系统,被广泛地用来描述认知、决策和控制等智能行为方面的问题。人们在神经网络的动力系统方面进行了研究:经典的单层单向的Hopfield
在高速网络环境下,并行文件系统以其高可靠性、高扩展性、高并发性在科学与商业领域得到了较为广泛的应用。Lustre作为典型的并行文件系统采用了基于对象的存储技术,将存储对象