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

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

技术编号:11079708 阅读:119 留言:0更新日期:2015-02-25 18:01
一种基于静态模型的嵌入式软件黑盒测试用例生成方法,属于软件工程中的基于模型的测试自动化技术领域。本发明专利技术解决了现有的基于需求规格说明文档的黑盒测试存在测试滞后且难以理解、测试效率低、无法保证测试用例的质量的问题。本发明专利技术的技术方案为:(1)采用数据流图、故障树、因果图和判定表以及图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型,以描述嵌入式软件的静态测试需求;(2)基于静态模型,规划测试项,并根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合。本发明专利技术适用于嵌入式软件的静态测试需求描述和黑盒测试用例生成。

【技术实现步骤摘要】

本专利技术涉及一种嵌入式软件黑盒测试用例生成方法,特别涉及,属于软件工程中的基于模型的测试自动化

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

【技术保护点】
一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述方法包括以下步骤:步骤一、采用数据流图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型;步骤二、对步骤一构建的嵌入式软件的静态模型进行校验,并根据测试目的人工规划测试项,然后自动对测试项进行补全和合法性判定,最后填写测试项的名称;所述的测试项的补全采用图的经典遍历算法实现;所述的测试项的合法性判定为:数据流图的无意义图元包括“与关系节点”、“或关系节点”和“异或关系节点”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法;步骤三、根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存,其中每种测试项都有相应的测试用例生成算法;所述的测试项分为数据流图测试项、故障树测试项、因果图测试项、判定表测试项、时间域测试项和接口测试项;所述的测试覆盖准则包括数据流图的测试路径覆盖准则、故障树的最小割集覆盖准则、判定表的条件元动作元组合覆盖准则、时间域覆盖准则、时间耦合区间覆盖准则、接口的属性覆盖准则;步骤四、对测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。...

【技术特征摘要】
1.一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述方法包括以下步骤: 步骤一、采用数据流图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型; 步骤二、对步骤一构建的嵌入式软件的静态模型进行校验,并根据测试目的人工规划测试项,然后自动对测试项进行补全和合法性判定,最后填写测试项的名称; 所述的测试项的补全采用图的经典遍历算法实现; 所述的测试项的合法性判定为:数据流图的无意义图元包括“与关系节点”、“或关系节点”和“异或关系节点”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法; 步骤三、根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存,其中每种测试项都有相应的测试用例生成算法; 所述的测试项分为数据流图测试项、故障树测试项、因果图测试项、判定表测试项、时间域测试项和接口测试项; 所述的测试覆盖准则包括数据流图的测试路径覆盖准则、故障树的最小割集覆盖准贝U、判定表的条件元动作元组合覆盖准则、时间域覆盖准则、时间耦合区间覆盖准则、接口的属性覆盖准则; 步骤四、对测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。2.根据权利要求1所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤一所述的图形间的嵌套机制包括: (1)数据流图分层构建,具体为数据流图的数据加工嵌套子数据流图; (2)数据流图的数据加工嵌套故障树、因果图和判定表; (3)故障树的底事件嵌套子故障树。3.根据权利要求2所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤一所述的图形的扩充语义包括: (1)为数据流图的图元添加了测试语义,包括数据加工添加了反算程序、时间域、硬件和中断属性; (2)为故障树的图元添加了测试语义,包括底事件添加了CMP属性; (3)为判定表添加了测试语义,包括根据逻辑表达式自动生成判定表、添加判定表的前置条件。4.根据权利要求3所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤二所述的校验需要满足的条件如下: (1)针对数据加工,数据流图要求数据守恒; (2)针对数据流图的分层机制,数据流图要求父子图平衡; (3)故障树的事件约束,包括一棵故障树只有一个顶事件,底事件必须使用CMP属性量化描述; (4)因果图的要因约束,包括一个因果图只有一个主要因; (5)判定表的条件元动作元组合约束,包括一个规则项的条件元和动作元均非空。5.根据权利要求4所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成数据流图测试项对应的黑盒测试用例集合具体为: 算法过程: 1)在合法完整的测试项Ii中基于测试路径覆盖准则遍历求出所有测试路径集合Wi; 2)令简单测试路径集合Ul为空集,数据流图测试项的测试用例集合Tl为空集; 3)逐个遍历所有测试路径集合W1,设当前的测试路径集合为Wl[i]; 4)按测试路径集合化简规则对当前的测试路径集合Wl[i]进行化简,得到该测试路径集合中的所有简单测试路径SI ; 5)将SI加入简单测试路径集合Ul中,回到步骤3)继续遍历直到所有测试路径集合Wl都已经被化简过为止; 6)逐个遍历简单测试路径集合Ul,设当前的简单测试路径为Ul[j]; 7)根据当前的简单测试路径Ul[j]的考核点生成Ul [j]的测试用例集合Ml ; 8)将Ml加入测试用例集合Tl中,回到步骤6)继续遍历直到简单测试路径集合Ul中的简单测试路径都生成过测试用例集合为止; 9)返回数据流图测试项的测试用例集合Tl。6.根据权利要求5所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成故障树测试项对应的黑盒测试用例集合具体为: 算法过程: 1)在合法完整的测试项12中,采用最小割集算法求出故障树的所有最小割集W2,以便基于最小割集覆盖准则生成测试用例集合; 2)令故障树测试项的测试用例集合T2为空集; 3)逐个遍历所有最小割集W2,设当前的最小割集为W2[i]; 4)根据当前的最小割集W2[i]的考核点生成W2[i]的测试用例集合M2; 5)将M2加入故障树测试项的测试用例集合T2中,回到步骤3)直到所有最小割集W2都生成过测试用例集合为止; 6)逐个遍历合...

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

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

1