本发明专利技术公开了一种基于组件执行树模型的集成测试方法及系统。所述集成测试方法包括:获取组件级别的统一建模语言UML协作图和合约模型;根据所述UML协作图和所述合约模型建立组件执行树模型;对所述组件执行树模型进行路径分析,确定路径约束;根据所述路径约束生成集成测试用例;根据所述集成测试用例对软件系统进行测试。采用本发明专利技术所提供的集成测试方法及系统能够提高测试软件系统质量的测试精确度。
【技术实现步骤摘要】
一种基于组件执行树模型的集成测试方法及系统
本专利技术涉及软件测试领域,特别是涉及一种基于组件执行树模型的集成测试方法及系统。
技术介绍
从1968年北大西洋公约组织(NATO)软件工程会议上出现软件复用的概念,到如今已经历了50年的时间,随着软件系统复杂性的增加,规模的扩大,以及软件开发机构对开发成本、开发周期要求的提高,继面向对象分析与设计方法之后,基于组件的软件开发(Component-BasedSoftwareDevelopment,简称CBSD)方法被广泛接受,即将外部开发的组件集成到具体应用环境中来构建面向特定应用的软件系统;该方法的提出解决了面向对象技术无法使大量结构相似的应用程序结构得到重用的矛盾,因此对软件重用和集成具有非常重大的意义。与此同时,相关的质量保证技术和方法也成为重要的研究内容。由于组件在集成到应用环境之前,已经进行了相关测试,所以理论上基于组件的软件系统(Component-BasedSoftwareSystem)已经具备了高可靠性。然而,许多工程实践证明并不是这样,由于在将各种组件集成到应用环境时,实施有效的集成测试成为基于组件的软件系统质量保证的重要手段,但是现有的集成测试方法缺少良好的集成测试模型,导致出现测试软件系统质量的测试精确度低的问题。
技术实现思路
本专利技术的目的是提供一种基于组件执行树模型的集成测试方法及系统,以解决测试软件系统质量时测试精确度低的问题。为实现上述目的,本专利技术提供了如下方案:一种基于组件执行树模型的集成测试方法,包括:获取组件级别的统一建模语言UML协作图和合约模型;所述UML协作图包括组件、链以及消息;所述UML协作图中的消息为带有消息标签的箭头,并附在链上;消息标签包含消息序号、消息条件、消息类型、发送对象、接收对象以及要激活的方法;所述合约模型为所述UML协作图中涉及的所有要激活的方法对应的所有合约的集合;所述合约模型包括前置条件以及后置条件;根据所述UML协作图和所述合约模型建立组件执行树模型;对所述组件执行树模型进行路径分析,确定路径约束;根据所述路径约束生成集成测试用例;根据所述集成测试用例对软件系统进行测试。可选的,所述根据所述UML协作图和所述合约模型建立组件执行树模型,具体包括:根据所述UML协作图中的消息确定所述UML协作图以及所述组件执行树模型之间的映射表;根据所述映射表将所述UML协作图中的消息转换为组件执行树模型的多个节点,并建立节点之间的关系;根据所述节点之间的关系,结合所述合约模型,建立组件执行树模型。可选的,所述对所述组件执行树模型进行路径分析,确定路径约束,具体包括:根据所述组件执行树模型的结构形式确定叶子节点集合;一个叶子节点对应一条路径;从叶子节点开始,逐层向上回溯,直至根节点,确定经过的节点上的节点约束;根据所述节点约束,以合取的方式进行串联,确定路径约束。可选的,所述根据所述路径约束生成集成测试用例,具体包括:利用约束求解器确定所述路径约束的解;以所述路径约束的解作为测试输入,以所述合约模型中的后置条件作为测试预示,生成集成测试用例。一种基于组件执行树模型的集成测试系统,包括:UML协作图和合约模型获取模块,用于获取组件级别的统一建模语言UML协作图和合约模型;所述UML协作图包括组件、链以及消息;所述UML协作图中的消息为带有消息标签的箭头,并附在链上;消息标签包含消息序号、消息条件、消息类型、发送对象、接收对象以及要激活的方法;所述合约模型为所述UML协作图中涉及的所有要激活的方法对应的所有合约的集合;所述合约模型包括前置条件以及后置条件;组件执行树模型建立模块,用于根据所述UML协作图和所述合约模型建立组件执行树模型;路径约束确定模块,用于对所述组件执行树模型进行路径分析,确定路径约束;集成测试用例生成模块,用于根据所述路径约束生成集成测试用例;测试模块,用于根据所述集成测试用例对软件系统进行测试。可选的,所述组件执行树模型建立模块具体包括:映射表确定单元,用于根据所述UML协作图中的消息确定所述UML协作图以及所述组件执行树模型之间的映射表;节点之间的关系建立单元,用于根据所述映射表将所述UML协作图中的消息转换为组件执行树模型的多个节点,并建立节点之间的关系;组件执行树模型建立单元,用于根据所述节点之间的关系,结合所述合约模型,建立组件执行树模型。可选的,所述路径约束确定模块具体包括:叶子节点集合确定单元,用于根据所述组件执行树模型的结构形式确定叶子节点集合;一个叶子节点对应一条路径;节点约束确定单元,用于从叶子节点开始,逐层向上回溯,直至根节点,确定经过的节点上的节点约束;路径约束确定单元,用于根据所述节点约束,以合取的方式进行串联,确定路径约束。可选的,所述集成测试用例生成模块具体包括:路径约束的解确定单元,用于利用约束求解器确定所述路径约束的解;集成测试用例生成单元,用于以所述路径约束的解作为测试输入,以所述合约模型中的后置条件作为测试预示,生成集成测试用例。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供了一种基于组件执行树模型的集成测试方法及系统,通过UML协作图和所述合约模型建立组件执行树模型,并对所述组件执行树模型进行路径分析,确定路径约束;根据所述路径约束生成集成测试用例。在统一建模语言(UnifiedModelingLanguage,UML)的众多模型中,协作图主要用来描述系统对象间的协作和交互关系;基于组件开发的软件系统功能由组件的交互来完成;组件间的交互既有直接的方式也有间接的方式:直接交互就是使用组件的接口实现交互,而间接交互则是通过消息传递的方式完成;由于协作图可以描述组件之间的交互关系,而系统的功能又是通过这些交互来实现,所以UML协作图是一种良好的集成测试模型。因此,在将各种组件集成到应用环境,构成基于组件的软件系统时,UML协作图和合约模型作为良好的集成测试模型,能够提高测试软件系统质量的测试精确度,为软件系统质量保驾护航。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所提供的基于组件执行树模型的集成测试方法流程图;图2为本专利技术所提供的ATM机的UML协作图;图3为本专利技术所提供的如图2所示的UML协作图和合约模型构建的组件执行树模型示意图;图4为本专利技术所提供的基于组件执行树模型的集成测试系统结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的目的是提供一种基于组件执行树模型的集成测试方法及系统,能够提高测试软件系统质量的测试精确度。为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。图1为本专利技术所提供的基于组件执行树模型的集成测试方法流程图本文档来自技高网...
【技术保护点】
1.一种基于组件执行树模型的集成测试方法,其特征在于,包括:获取组件级别的统一建模语言UML协作图和合约模型;所述UML协作图包括组件、链以及消息;所述UML协作图中的消息为带有消息标签的箭头,并附在链上;消息标签包含消息序号、消息条件、消息类型、发送对象、接收对象以及要激活的方法;所述合约模型为所述UML协作图中涉及的所有要激活的方法对应的所有合约的集合;所述合约模型包括前置条件以及后置条件;根据所述UML协作图和所述合约模型建立组件执行树模型;对所述组件执行树模型进行路径分析,确定路径约束;根据所述路径约束生成集成测试用例;根据所述集成测试用例对软件系统进行测试。
【技术特征摘要】
1.一种基于组件执行树模型的集成测试方法,其特征在于,包括:获取组件级别的统一建模语言UML协作图和合约模型;所述UML协作图包括组件、链以及消息;所述UML协作图中的消息为带有消息标签的箭头,并附在链上;消息标签包含消息序号、消息条件、消息类型、发送对象、接收对象以及要激活的方法;所述合约模型为所述UML协作图中涉及的所有要激活的方法对应的所有合约的集合;所述合约模型包括前置条件以及后置条件;根据所述UML协作图和所述合约模型建立组件执行树模型;对所述组件执行树模型进行路径分析,确定路径约束;根据所述路径约束生成集成测试用例;根据所述集成测试用例对软件系统进行测试。2.根据权利要求1所述的基于组件执行树模型的集成测试方法,其特征在于,所述根据所述UML协作图和所述合约模型建立组件执行树模型,具体包括:根据所述UML协作图中的消息确定所述UML协作图以及所述组件执行树模型之间的映射表;根据所述映射表将所述UML协作图中的消息转换为组件执行树模型的多个节点,并建立节点之间的关系;根据所述节点之间的关系,结合所述合约模型,建立组件执行树模型。3.根据权利要求1所述的基于组件执行树模型的集成测试方法,其特征在于,所述对所述组件执行树模型进行路径分析,确定路径约束,具体包括:根据所述组件执行树模型的结构形式确定叶子节点集合;一个叶子节点对应一条路径;从叶子节点开始,逐层向上回溯,直至根节点,确定经过的节点上的节点约束;根据所述节点约束,以合取的方式进行串联,确定路径约束。4.根据权利要求1所述的基于组件执行树模型的集成测试方法,其特征在于,所述根据所述路径约束生成集成测试用例,具体包括:利用约束求解器确定所述路径约束的解;以所述路径约束的解作为测试输入,以所述合约模型中的后置条件作为测试预示,生成集成测试用例。5.一种基于组件执行树模型的集成测试系统,其特征在于,包括:UML协作图和合约模型获取模块,用于获取组件级别的统一建模语言...
【专利技术属性】
技术研发人员:刘杰,孙溢,阳小华,余童兰,李萌,闫仕宇,毛宇,
申请(专利权)人:南华大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。