当前位置: 首页 > 专利查询>吴翔虎专利>正文

一种基于动态模型的嵌入式软件黑盒测试用例生成方法技术

技术编号:11213660 阅读:72 留言:0更新日期:2015-03-27 00:13
一种基于动态模型的嵌入式软件黑盒测试用例生成方法,本发明专利技术涉及基于动态模型的嵌入式软件黑盒测试用例生成方法。本发明专利技术是要解决(1)测试滞后、不直观且测试效率低下;(2)依赖测试人员的测试设计,无法保证测试用例的质量;(3)无法保证黑盒测试的质量的问题。步骤1:构建嵌入式软件的动态图形模型;步骤2:对构建完成的动态图形模型进行校验,根据测试目的人工规划测试项,自动对测试项进行补全和合法性判定,最后填写测试项的名称;步骤3:根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存;步骤4:对已有的测试项和测试用例集合进行管理。本发明专利技术应用于软件测试领域。

【技术实现步骤摘要】

本专利技术涉及基于动态模型的嵌入式软件黑盒测试用例生成方法
技术介绍
当前,嵌入式软件的复杂度越来越高,可靠性和实时性要求也越来越严格,但嵌入式产品上市的时间要求却越来越短。为满足这些严苛的要求,高效的软件测试是必要的,包括测试用例的自动规划、生成、优化、执行与评估等。高效的软件测试需要解决如何在尽量弱的测试假设下,尽量快地生成尽量小但查错能力尽量强的测试用例集。 基于模型的测试(Model-Based Testing, MBT)是一种根据被测系统(SystemUnder Test,SUT)需求和功能说明的模型及其派生的模型(一般称为测试模型)产生测试用例和评估测试结果的产品质量保证技术。基于模型的测试是一种高效的软件测试。 一般认为,MBT起始于1956年,最初主要用于电路、通信协议等与硬件设备相关的测试,到70年代末才开始用于与软件相关的测试。经过多年的研究,MBT已经形成了比较经典的三种理论一自动机理论、UML统一建模理论和概率统计与自动机相结合的理论。这三种理论又分别对应三类模型——FSM/EFSM/LTS/ASM模型、UML模型和Markov模型。近年来,关于MBT的研究热点主要包括将模型融入到软件生产线中、用例优化、用例评估、将MBT用于不同领域(如嵌入式系统、大规模分布式系统和数据采集系统等)、根据UML模型及其他模型(如Uppaal模型、Simulink/Stateflow模型等)生成测试用例等。 在传统的软件测试中,经典的黑盒测试用例设计方法有等价类划分、边界值分析、因果图、判定表、错误推测等。等价类划分法是把程序的输入域划分成若干部分(类),然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他数据。边界值分析法是在某个输入或输出变量范围的边界上,验证系统功能是否正常运行的方法,通常选取刚刚小于、等于或刚刚大于边界值的取值作为测试数据。因果图法是一种形式化的图形语言,借助图形着重分析输入条件的各种组合,每种组合条件就是“因”,它必然产生一个输出的结果,这就是“果”。判定表方法是一种组合分析方法,描述多种条件的组合,相应地产生多个动作。错误推测法是测试人员根据工作经验和直觉推测出程序可能存在的错误,从而有针对性地进行测试。 目前,黑盒测试主要依据需求文档进行,但基于需求规格说明文档的黑盒测试存在如下问题:(I)以手工测试为主,测试滞后、不直观且难以理解,测试用例很难实现重用,导致重复劳动,测试效率低下;(2)对测试人员的依赖性很大,而测试人员很难设计出较为复杂的测试用例,无法保证测试用例的质量;(3)难以给出高质量的测试用例集合,无法保证黑盒测试的质量。
技术实现思路
本专利技术是要解决(I)以手工测试为主,测试滞后、不直观且难以理解,测试用例很难实现重用,导致重复劳动,测试效率低下;(2)对测试人员的依赖性很大,而测试人员很难设计出较为复杂的测试用例,无法保证测试用例的质量;(3)难以给出高质量的测试用例集合,无法保证黑盒测试的质量的问题,而提供了。 步骤1:采用状态图、时序图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的动态图形模型,以描述嵌入式软件的动态测试需求; 步骤2:对构建完成的动态图形模型进行校验,根据测试目的人工规划测试项,自动对测试项进行补全和合法性判定,最后填写测试项的名称; 其中,所述测试项的补全以达到“测试项的内部连通”为目标,具体采用图的经典遍历算法实现,最终将生成完整的测试项; 所述测试项的合法性判定即要求完整的测试项中必须存在有意义的图元,状态图的无意义图元包括“初态”和“末态”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法; 步骤3:根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存; 所述的测试项在动态图形模型中具体表现为由一个或多个图形元素组成的图元集合,分为状态图测试项、时序图测试项、故障树测试项、因果图测试项和判定表测试项,每种测试项对应相应的测试用例生成算法; 步骤4:对已有的测试项和测试用例集合进行管理,包括添力口、删除、修改和查看操作,以完善测试用例集合的生成。 本专利技术的有益效果在于: (I)能在嵌入式软件生命周期的早期介入并发现更多的错误,因为在创建嵌入式软件的动态测试模型时,测试设计者会发现原始软件需求或系统模型中的一些不一致或不完备信息; (2)能很容易地实现动态的测试需求追踪,因为动态的测试需求存在于动态模型之中,而模型具有很强的可溯性,这有利于提高测试的效率; (3)能自动地从形式化模型中根据测试覆盖准则生成较为复杂的测试用例集合,比传统的测试用例更能发现代码缺陷,保证了测试用例的质量; (4)能方便地完成不同粒度的测试,因为模型可以具有不同的抽象层次,这使得测试更具有针对性,有利于提高测试的质量; (5)模型可以重用,根据模型生成的测试用例也可以重用,这样可以减少重复劳动,并提高测试效率; (6)测试设计和测试用例的生成比较形象直观,不仅保证了测试用例设计的有效性,也保证了再现性和可理解性; (7)能够及时响应嵌入式软件的需求变化,更好地对测试用例进行维护,因为测试模型变化后可以重新生成测试用例,提高了测试效率; (8)与基于需求规格说明文档的黑盒测试相比,本专利技术提出的基于静态模型的嵌入式软件黑盒测试用例生成方法能自动生成更高测试需求覆盖率的测试用例,而且测试效率提高了 30%左右。 【附图说明】 图1为【具体实施方式】一中的所处的基于模型的测试的自动化测试框架图; 图2为【具体实施方式】一中的主要步骤; 图3为【具体实施方式】二中的动态图形间的关系; 图4为实施例中的数据流图使用示例——自动售货机系统的第一层数据流图; 图5为实施例中的状态图使用示例——“检查硬币”数据加工节点嵌套的状态图; 图6为实施例中的时序图使用示例——自动售货机的退假币时序图; 图7为实施例中的故障树使用示例一“检查硬币”数据加工节点嵌套的故障树; 图8为实施例中的判定表使用示例——“检查硬币”数据加工节点嵌套的判定表。 【具体实施方式】 【具体实施方式】一:如图1所示,本专利技术处于MBT的自动化测试框架之下,过程从构建SUT测试模型到生成测试用例集合为止,主要侧重嵌入式软件动态特性的描述。MBT自动化测试框架分为“三个层次、一个过程”一测试模型层、测试用例层、物理存储层和测试跟踪与管理过程。测试模型层的核心任务是构建SUT测试模型。测试用例层的核心任务是产生测试项集合、测试用例集合和测试脚本集合。物理存储层的核心任务是为测试模型层和测试用例层的元素提供物理存储服务,包括SUT测试模型、测试项集合、测试用例集合和测试文档集合的物理存储。测试跟踪与管理过程的核心任务是跟踪和管理测试过程,包括测试项与测试用例的追踪、测试模型的变更对测试项和测试用例的影响、测试项的变更对测试用例的影响等。 如图2所示,本专利技术为,包括以下步骤:步骤1:采用状本文档来自技高网
...

【技术保护点】
一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于它按以下步骤实现:步骤1:采用状态图、时序图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的动态图形模型,以描述嵌入式软件的动态测试需求;步骤2:对构建完成的动态图形模型进行校验,根据测试目的人工规划测试项,自动对测试项进行补全和合法性判定,最后填写测试项的名称;其中,所述测试项的补全以达到“测试项的内部连通”为目标,具体采用图的经典遍历算法实现,最终将生成完整的测试项;所述测试项的合法性判定即要求完整的测试项中必须存在有意义的图元,状态图的无意义图元包括“初态”和“末态”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法;步骤3:根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存;所述的测试项在动态图形模型中具体表现为由一个或多个图形元素组成的图元集合,分为状态图测试项、时序图测试项、故障树测试项、因果图测试项和判定表测试项,每种测试项对应相应的测试用例生成算法;步骤4:对已有的测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。...

【技术特征摘要】
1.一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于它按以下步骤实现: 步骤1:采用状态图、时序图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的动态图形模型,以描述嵌入式软件的动态测试需求; 步骤2:对构建完成的动态图形模型进行校验,根据测试目的人工规划测试项,自动对测试项进行补全和合法性判定,最后填写测试项的名称; 其中,所述测试项的补全以达到“测试项的内部连通”为目标,具体采用图的经典遍历算法实现,最终将生成完整的测试项; 所述测试项的合法性判定即要求完整的测试项中必须存在有意义的图元,状态图的无意义图元包括“初态”和“末态”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法; 步骤3:根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存; 所述的测试项在动态图形模型中具体表现为由一个或多个图形元素组成的图元集合,分为状态图测试项、时序图测试项、故障树测试项、因果图测试项和判定表测试项,每种测试项对应相应的测试用例生成算法; 步骤4:对已有的测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。2.根据权利要求1所述的一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤1中的图形间的嵌套机制如下: (1)数据流图的数据加工嵌套时序图; (2)状态图的状态节点嵌套状态图、数据流图、故障树、因果图和判定表; (3)故障树的底事件嵌套子故障树。3.根据权利要求2所述的一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤1中的图形的扩充语义如下: (1)为状态图的图元添加了测试语义,包括状态节点添加数据变量、嵌套图形节点属性; (2)为时序图的图元添加了测试语义,包括简单消息添加监护条件、消息内容、消息类型、消息延迟属性; (3)为故障树的图元添加了测试语义,包括底事件添加CMP属性:量化描述了底事件的发生; (4)为判定表添加了测试语义,包括根据逻辑表达式自动生成判定表、添加判定表的前置条件。4.根据权利要求3所述的一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤2中动态图形模型校验的规则如下: (1)状态图只有一个初始状态,状态不允许同时存在两个或以上的直接转移; (2)时序图的对象来自于数据流图的数据加工、数据源点或数据终点; (3)一棵故障树只有一个顶事件,底事件必须使用CMP属性量化描述; (4)一个因果图只有一个主要因; (5)在判定表中,一个规则项的条件元和动作元均非空。5.根据权利要求4所述的一种基于动态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤3中根据测试覆盖准则和测试用例生成算法自动生成状态图测试项对应的黑盒测试用例集合具体为: 1)在合法完整的状态图测试项II中,基于迁移对覆盖准则和全ZOT路径覆盖准则遍历求出所有从初态到末态的测试路径集合W1 ; 2)令状态图测试项的测试用例集合T1为空集; 3)逐个遍历测试路径集合W1,设当前的测试路径为Wl[i]; 4)基于边界测试覆盖准则即谓词覆盖准则生成测试路径W[i]的测试用例集合Ml; 5)将Ml加入状态图测试项的测试用例集合T1中,回到步骤3)继续遍历直到测试路径集合W1中的测试路径都生成过测试用例集合为止; 6)返...

【专利技术属性】
技术研发人员:吴翔虎曲明成邹炳松张森
申请(专利权)人:吴翔虎曲明成邹炳松张森
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1