《一种基于静态模型的嵌入式软件黑盒测试用例生成方法.pdf》由会员分享,可在线阅读,更多相关《一种基于静态模型的嵌入式软件黑盒测试用例生成方法.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410765285.8(22)申请日 2014.12.11G06F 11/36(2006.01)(71)申请人吴翔虎地址 150001 黑龙江省哈尔滨市南岗区西大直街92号哈尔滨工业大学一校区综合楼607室申请人曲明成 邹炳松 张森(72)发明人吴翔虎 曲明成 邹炳松 张森(74)专利代理机构哈尔滨市松花江专利商标事务所 23109代理人杨立超(54) 发明名称一种基于静态模型的嵌入式软件黑盒测试用例生成方法(57) 摘要一种基于静态模型的嵌入式软件黑盒测试用例生成方法,属于软件工程中的基于模型的测试自动化技术领域。本发明解决了现有。
2、的基于需求规格说明文档的黑盒测试存在测试滞后且难以理解、测试效率低、无法保证测试用例的质量的问题。本发明的技术方案为:(1)采用数据流图、故障树、因果图和判定表以及图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型,以描述嵌入式软件的静态测试需求;(2)基于静态模型,规划测试项,并根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合。本发明适用于嵌入式软件的静态测试需求描述和黑盒测试用例生成。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书4页 说明书9页 附图4页(10)申请公布号 CN 104375943 A(43)申请公布日。
3、 2015.02.25CN 104375943 A1/4页21.一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述方法包括以下步骤:步骤一、采用数据流图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型;步骤二、对步骤一构建的嵌入式软件的静态模型进行校验,并根据测试目的人工规划测试项,然后自动对测试项进行补全和合法性判定,最后填写测试项的名称;所述的测试项的补全采用图的经典遍历算法实现;所述的测试项的合法性判定为:数据流图的无意义图元包括“与关系节点”、“或关系节点”和“异或关系节点”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无。
4、意义图元包括“连线”,若测试项全由上述无意义的图元组成,则将被判定为非法;步骤三、根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存,其中每种测试项都有相应的测试用例生成算法;所述的测试项分为数据流图测试项、故障树测试项、因果图测试项、判定表测试项、时间域测试项和接口测试项;所述的测试覆盖准则包括数据流图的测试路径覆盖准则、故障树的最小割集覆盖准则、判定表的条件元动作元组合覆盖准则、时间域覆盖准则、时间耦合区间覆盖准则、接口的属性覆盖准则;步骤四、对测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。2.。
5、根据权利要求1所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤一所述的图形间的嵌套机制包括:(1)数据流图分层构建,具体为数据流图的数据加工嵌套子数据流图;(2)数据流图的数据加工嵌套故障树、因果图和判定表;(3)故障树的底事件嵌套子故障树。3.根据权利要求2所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤一所述的图形的扩充语义包括:(1)为数据流图的图元添加了测试语义,包括数据加工添加了反算程序、时间域、硬件和中断属性;(2)为故障树的图元添加了测试语义,包括底事件添加了CMP属性;(3)为判定表添加了测试语义,包括根据逻辑表达式自动生成判定表、添。
6、加判定表的前置条件。4.根据权利要求3所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于步骤二所述的校验需要满足的条件如下:(1)针对数据加工,数据流图要求数据守恒;(2)针对数据流图的分层机制,数据流图要求父子图平衡;(3)故障树的事件约束,包括一棵故障树只有一个顶事件,底事件必须使用CMP属性量化描述;(4)因果图的要因约束,包括一个因果图只有一个主要因;权 利 要 求 书CN 104375943 A2/4页3(5)判定表的条件元动作元组合约束,包括一个规则项的条件元和动作元均非空。5.根据权利要求4所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤。
7、三中根据测试覆盖准则和测试用例生成算法自动生成数据流图测试项对应的黑盒测试用例集合具体为:算法过程:1)在合法完整的测试项I1中基于测试路径覆盖准则遍历求出所有测试路径集合W1;2)令简单测试路径集合U1为空集,数据流图测试项的测试用例集合T1为空集;3)逐个遍历所有测试路径集合W1,设当前的测试路径集合为W1i;4)按测试路径集合化简规则对当前的测试路径集合W1i进行化简,得到该测试路径集合中的所有简单测试路径S1;5)将S1加入简单测试路径集合U1中,回到步骤3)继续遍历直到所有测试路径集合W1都已经被化简过为止;6)逐个遍历简单测试路径集合U1,设当前的简单测试路径为U1j;7)根据当前。
8、的简单测试路径U1j的考核点生成U1j的测试用例集合M1;8)将M1加入测试用例集合T1中,回到步骤6)继续遍历直到简单测试路径集合U1中的简单测试路径都生成过测试用例集合为止;9)返回数据流图测试项的测试用例集合T1。6.根据权利要求5所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成故障树测试项对应的黑盒测试用例集合具体为:算法过程:1)在合法完整的测试项I2中,采用最小割集算法求出故障树的所有最小割集W2,以便基于最小割集覆盖准则生成测试用例集合;2)令故障树测试项的测试用例集合T2为空集;3)逐个遍历所有最小割集W2。
9、,设当前的最小割集为W2i;4)根据当前的最小割集W2i的考核点生成W2i的测试用例集合M2;5)将M2加入故障树测试项的测试用例集合T2中,回到步骤3)直到所有最小割集W2都生成过测试用例集合为止;6)逐个遍历合法完整的故障树测试项I2中的图元,设当前的图元为I2j;7)如果I2j是底事件,那么根据底事件I2j的CMP属性生成I2j的测试用例集合M3;8)将M3加入故障树测试项的测试用例集合T2中,回到步骤6)直到合法完整的故障树测试项I2中的图元都被遍历过为止;9)返回故障树测试项的测试用例集合T2。7.根据权利要求6所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步。
10、骤三中根据测试覆盖准则和测试用例生成算法自动生成因果图测试项对应的黑盒测试用例集合具体为:算法过程:1)在合法完整的测试项I3中,遍历求出I3的所有底层要因W3;权 利 要 求 书CN 104375943 A3/4页42)令因果图测试项的测试用例集合T3为空集;3)逐个遍历所有底层要因W3,设当前的底层要因为W3i;4)根据底层要因W3i的考核点生成W3i的测试用例集合M4;5)将M4加入因果图测试项的测试用例集合T3,回到步骤3)直到所有底层要因W3都生成过测试用例集合为止;6)返回因果图测试项的测试用例集合T3。8.根据权利要求7所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特。
11、征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成判定表测试项对应的黑盒测试用例集合具体为:算法过程:1)求出判定表DT的所有条件元动作元组合W4,以便基于条件元动作元覆盖准则生成测试用例集合;2)令判定表测试项的测试用例集合T4为空集;3)逐个遍历所有条件元动作元组合W4,设当前的条件元动作元组合为W4i;4)将W4i组织为一个测试用例M5,条件元组合作为测试输入,动作元为测试预期输出;5)将M5加入判定表测试项的测试用例集合T4,返回步骤3)直到所有条件元动作元组合W4都生成过测试用例为止;6)返回判定表测试项的测试用例集合T4。9.根据权利要求8所述的一种基于静态模型的嵌入式软。
12、件黑盒测试用例生成方法,其特征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成时间域测试项对应的黑盒测试用例集合具体为:步骤三所述的时间域测试项分为“数据加工时间域测试项”和“时间耦合区间功能测试项”,数据加工时间域测试项生成对应的黑盒测试用例集合具体为:算法过程:1)在合法完整的测试项I4中遍历求出所有时间域属性非空的数据加工W5;2)令数据加工时间域测试项的测试用例集合T5为空集;3)逐个遍历所有时间域属性非空的数据加工W5,设当前的数据加工为W5i;4)逐个遍历当前的数据加工W5i的时间域列表TDL,设当前的时间域为TDLj;5)基于时间域覆盖准则,根据当前的数据加工W5i的时。
13、间域TDLj生成Wi的测试用例集合M6;6)将M6加入数据加工时间域测试项的测试用例集合T5中,回到步骤4)直到W5i的时间域列表都生成过测试用例集合为止;7)回到步骤3)直到W5中的数据加工都被遍历过为止;8)返回数据加工时间域测试项的测试用例集合T5;时间耦合区间功能测试项生成对应的黑盒测试用例集合具体为:算法过程:1)在合法完整的测试项I5中遍历求出所有时间域属性非空的数据加工W6;2)在W6中求出所有重叠的时间域S2并记录包含重叠时间域的数据加工;权 利 要 求 书CN 104375943 A4/4页53)令时间耦合区间功能测试项的测试用例集合T6为空集;4)逐个遍历所有重叠的时间域S。
14、2,设当前的重叠时间域为S2i;5)基于时间耦合区间覆盖准则,根据重叠时间域S2i生成多数据加工在S2i的测试用例集合M7;6)将M7加入时间耦合区间功能测试项的测试用例集合T6中,回到步骤4)直到所有重叠的时间域S2都生成过测试用例集合为止;7)返回时间耦合区间功能测试项的测试用例集合T6。10.根据权利要求9所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,其特征在于所述步骤三中根据测试覆盖准则和测试用例生成算法自动生成接口测试项对应的黑盒测试用例集合具体为:算法过程:1)令接口测试项的测试用例集合T7为空集;2)基于接口属性覆盖准则,生成正常测试用例M8,即H属性全部采用正常值;3。
15、)将M8加入接口测试项的测试用例集合T7中;4)逐个遍历接口属性集合H,设当前的接口属性为Hi;5)基于接口属性覆盖准则,将属性Hi设为失效,其余接口属性设为正常,生成测试用例M8;6)将M8加入接口测试项的测试用例集合T7中,回到步骤4)直到接口属性集合H中的属性都被设为失效生成过测试用例为止;7)返回接口测试项的测试用例集合T7。权 利 要 求 书CN 104375943 A1/9页6一种基于静态模型的嵌入式软件黑盒测试用例生成方法技术领域0001 本发明涉及一种嵌入式软件黑盒测试用例生成方法,特别涉及一种基于静态模型的嵌入式软件黑盒测试用例生成方法,属于软件工程中的基于模型的测试自动化技。
16、术领域。背景技术0002 当前,嵌入式软件的复杂度越来越高,可靠性和实时性要求也越来越严格,但嵌入式产品上市的时间要求却越来越短。为满足这些严苛的要求,高效的软件测试是必要的,包括测试用例的自动规划、生成、优化、执行与评估等。高效的软件测试需要解决如何在尽量弱的测试假设下,尽量快地生成尽量小但查错能力尽量强的测试用例集。0003 基于模型的测试(Model-Based Testing,MBT)是一种根据被测系统(System Under Test,SUT)需求和功能说明的模型及其派生的模型(一般称为测试模型)产生测试用例和评估测试结果的产品质量保证技术。基于模型的测试是一种高效的软件测试。00。
17、04 一般认为,MBT起始于1956年,最初主要用于电路、通信协议等与硬件设备相关的测试,到70年代末才开始用于与软件相关的测试。经过多年的研究,MBT已经形成了比较经典的三种理论自动机理论、UML统一建模理论和概率统计与自动机相结合的理论。这三种理论又分别对应三类模型 FSM/EFSM/LTS/ASM模型、UML模型和Markov模型。近年来,关于MBT的研究热点主要包括将模型融入到软件生产线中、用例优化、用例评估、将MBT用于不同领域(如嵌入式系统、大规模分布式系统和数据采集系统等)、根据UML模型及其他模型(如Uppaal模型、Simulink/Stateflow模型等)生成测试用例等。。
18、0005 在传统的软件测试中,经典的黑盒测试用例设计方法有等价类划分、边界值分析、因果图、判定表、错误推测等。等价类划分法是把程序的输入域划分成若干部分(类),然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试中的作用等价于这一类中的其他数据。边界值分析法是在某个输入或输出变量范围的边界上,验证系统功能是否正常运行的方法,通常选取刚刚小于、等于或刚刚大于边界值的取值作为测试数据。因果图法是一种形式化的图形语言,借助图形着重分析输入条件的各种组合,每种组合条件就是“因”,它必然产生一个输出的结果,这就是“果”。判定表方法是一种组合分析方法,描述多种条件的组合,相应地产生多个。
19、动作。错误推测法是测试人员根据工作经验和直觉推测出程序可能存在的错误,从而有针对性地进行测试。0006 目前,黑盒测试主要依据需求文档进行,但基于需求规格说明文档的黑盒测试存在如下问题:(1)以手工测试为主,测试滞后且难以理解,(2)测试用例很难实现重用,导致重复劳动,测试效率低下;(3)对测试人员的依赖性很大,而测试人员很难设计出较为复杂的测试用例,无法保证测试用例的质量;发明内容0007 本发明的目的是提出一种基于静态模型的嵌入式软件黑盒测试用例生成方法,以说 明 书CN 104375943 A2/9页7解决针对现有的基于需求规格说明文档的黑盒测试存在测试滞后且难以理解、测试效率低、无法保。
20、证测试用例的质量的问题。0008 本发明为解决上述技术问题所采用的技术方案是:0009 本发明所述的一种基于静态模型的嵌入式软件黑盒测试用例生成方法,是按照以下步骤实现的:0010 步骤一、采用数据流图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型;0011 步骤二、对步骤一构建的嵌入式软件的静态模型进行校验,并根据测试目的人工规划测试项,然后自动对测试项进行补全和合法性判定,最后填写测试项的名称;0012 所述的测试项的补全采用图的经典遍历算法实现,以实现测试项的内部连通;0013 所述的测试项的合法性判定为:数据流图的无意义图元包括“与关系节点”、“或关。
21、系节点”和“异或关系节点”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”。若测试项全由上述无意义的图元组成,则将被判定为非法;0014 步骤三、根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合入库保存,其中每种测试项都有相应的测试用例生成算法;0015 所述的测试项分为数据流图测试项、故障树测试项、因果图测试项、判定表测试项、时间域测试项和接口测试项;0016 所述的测试覆盖准则包括数据流图的测试路径覆盖准则、故障树的最小割集覆盖准则、判定表的条件元动作元组合覆盖准则、时间域覆盖准则、时间耦合区间覆盖准则、接。
22、口的属性覆盖准则。0017 步骤四、对测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。0018 本发明的有益效果如下:0019 (1)本发明能在嵌入式软件生命周期的早期介入并发现更多的错误,不存在测试滞后的问题,因为在创建嵌入式软件的静态测试模型时,测试设计者会发现原始软件需求或系统模型中的一些不一致或不完备信息;0020 (2)本发明模型可以重用,根据模型生成的测试用例也可以重用,这样可以减少重复劳动,并提高测试效率;0021 (3)本发明能很容易地实现静态的测试需求追踪,因为静态的测试需求存在于静态模型之中,而静态模型具有很强的可溯性,这有利于提高测。
23、试的效率;0022 (4)本发明能够及时响应嵌入式软件的需求变化,更好地对测试用例进行维护,因为测试模型变化后可以重新生成测试用例,提高了测试效率;0023 (5)本发明能自动地从形式化模型中根据覆盖准则生成较为复杂的测试用例集合,比传统的测试用例更能发现代码缺陷,保证了测试用例的质量;0024 (6)本发明能方便地完成不同粒度的测试,因为模型可以具有不同的抽象层次,这使得测试更具有针对性,有利于提高测试的质量;0025 (7)本发明的测试设计和测试用例的生成比较形象直观,不仅保证了测试用例设计的有效性,也保证了再现性和可理解性;说 明 书CN 104375943 A3/9页80026 (8)。
24、与基于需求规格说明文档的黑盒测试相比,本发明提出的基于静态模型的嵌入式软件黑盒测试用例生成方法能自动生成更高测试需求覆盖率的测试用例,而且测试效率提高了30左右。附图说明0027 图1为本发明的基于模型的测试的自动化测试框架图;0028 图2为本发明的流程图;0029 图3为本发明的静态图形间的关系图;0030 图4为本发明实施例的数据流图使用示例自动售货机系统的第一层数据流图;0031 图5为本发明实施例的故障树使用示例“检查硬币”数据加工节点嵌套的故障树;0032 图6为本发明实施例的判定表使用示例“检查硬币”数据加工节点嵌套的判定表。具体实施方式0033 以下结合附图对本发明作进一步的详。
25、细说明:0034 如图1所示,本发明处于MBT的自动化测试框架之下,过程从构建SUT测试模型到生成测试用例集合为止,主要侧重嵌入式软件静态特性的描述。MBT自动化测试框架分为“三个层次、一个过程” 测试模型层、测试用例层、物理存储层和测试跟踪与管理过程。测试模型层的核心任务是构建SUT测试模型。测试用例层的核心任务是产生测试项集合、测试用例集合和测试脚本集合。物理存储层的核心任务是为测试模型层和测试用例层的元素提供物理存储服务,包括SUT测试模型、测试项集合、测试用例集合和测试文档集合的物理存储。测试跟踪与管理过程的核心任务是跟踪和管理测试过程,包括测试项与测试用例的追踪、测试模型的变更对测试。
26、项和测试用例的影响、测试项的变更对测试用例的影响等。0035 具体实施方式一:结合图2、图3说明本实施方式,本实施方式包括以下步骤:0036 步骤一、熟悉被测软件后,使用结构化分析方法,采用数据流图、故障树、因果图、判定表、图形间的嵌套机制和图形的扩充语义构建嵌入式软件的静态模型,以描述嵌入式软件的静态测试需求;0037 步骤二、对步骤一构建的嵌入式软件的静态模型进行校验,并根据测试目的人工规划测试项,然后自动对测试项进行补全和合法性判定,最后填写测试项的名称;0038 所述的测试项的补全以达到“测试项的内部连通”为目标,采用图的经典遍历算法实现,最终生成完整的测试项。0039 所述的测试项的。
27、合法性判定为要求完整的测试项中必须存在有意义的图元。数据流图的无意义图元包括“与关系节点”、“或关系节点”和“异或关系节点”,故障树的无意义图元包括“连线”、“与门”和“或门”,因果图的无意义图元包括“连线”。若测试项全由上述无意义的图元组成,则将被判定为非法。例如,在数据流图中,虽然测试项中包含若干节点和数据流,并且是连通的,但如果这些节点全部都是像与、或、异或等与具体功能无关的节点,那么这个测试项将被判定为不合法,测试项规划失败。说 明 书CN 104375943 A4/9页90040 步骤三、根据测试覆盖准则和测试用例生成算法自动生成测试项对应的黑盒测试用例集合,并将测试项和测试用例集合。
28、入库保存,其中每种测试项都有相应的测试用例生成算法;0041 所述的测试项解决的是“测什么”的问题,是测试点的体现,在静态图形模型中具体表现为由一个或多个图形元素组成的图元集合,分为数据流图测试项、故障树测试项、因果图测试项、判定表测试项、时间域测试项和接口测试项。每种测试项都有相应的测试用例生成算法。0042 所述的测试覆盖准则包括数据流图的测试路径覆盖准则、故障树的最小割集覆盖准则、判定表的条件元动作元组合覆盖准则、时间域覆盖准则、时间耦合区间覆盖准则、接口的属性覆盖准则。0043 步骤四、对测试项和测试用例集合进行管理,包括添加、删除、修改和查看操作,以完善测试用例集合的生成。0044 。
29、本实施方式的有益效果如下:0045 (1)本发明能在嵌入式软件生命周期的早期介入并发现更多的错误,不存在测试滞后的问题,因为在创建嵌入式软件的静态测试模型时,测试设计者会发现原始软件需求或系统模型中的一些不一致或不完备信息;0046 (2)本发明模型可以重用,根据模型生成的测试用例也可以重用,这样可以减少重复劳动,并提高测试效率;0047 (3)本发明能很容易地实现静态的测试需求追踪,因为静态的测试需求存在于静态模型之中,而静态模型具有很强的可溯性,这有利于提高测试的效率;0048 (4)本发明能够及时响应嵌入式软件的需求变化,更好地对测试用例进行维护,因为测试模型变化后可以重新生成测试用例,。
30、提高了测试效率;0049 (5)本发明能自动地从形式化模型中根据覆盖准则生成较为复杂的测试用例集合,比传统的测试用例更能发现代码缺陷,保证了测试用例的质量;0050 (6)本发明能方便地完成不同粒度的测试,因为模型可以具有不同的抽象层次,这使得测试更具有针对性,有利于提高测试的质量;0051 (7)本发明的测试设计和测试用例的生成比较形象直观,不仅保证了测试用例设计的有效性,也保证了再现性和可理解性;0052 (8)与基于需求规格说明文档的黑盒测试相比,本发明提出的基于静态模型的嵌入式软件黑盒测试用例生成方法能自动生成更高测试需求覆盖率的测试用例,而且测试效率提高了30左右。0053 具体实施。
31、方式二:结合图2、图3说明本实施方式,本实施方式与具体实施方式一不同的是:0054 步骤一所述的结构化方法是嵌入式软件进行需求分析和设计的常用方法,数据流图是嵌入式软件需求分析与总体设计阶段的产物,故障树、因果图和判定表是传统黑盒测试设计的常用手段。0055 图形间的嵌套机制如图3所示,带箭头的连接线表示图形间的嵌套关系(起点是父图,终点是子图),包括:0056 (1)数据流图分层构建,具体为数据流图的数据加工嵌套子数据流图;说 明 书CN 104375943 A5/9页100057 (2)数据流图的数据加工嵌套故障树、因果图和判定表;0058 (3)故障树的底事件嵌套子故障树。0059 具体。
32、实施方式三:结合图2、图3说明本实施方式,本实施方式与具体实施方式一或二不同的是:步骤一所述的图形的扩充语义包括:0060 (1)为数据流图的图元添加了测试语义,包括数据加工添加了反算程序、时间域、硬件和中断属性;0061 (2)为故障树的图元添加了测试语义,包括底事件添加了CMP属性(该属性量化地描述了底事件的发生);0062 (3)为判定表添加了测试语义,包括根据逻辑表达式自动生成判定表、添加判定表的前置条件。0063 具体实施方式四:结合图2、图3说明本实施方式,本实施方式与具体实施方式一至三之一不同的是:步骤二所述的校验需要满足的条件如下:0064 (1)针对数据加工,数据流图要求数据。
33、守恒;0065 (2)针对数据流图的分层机制,数据流图要求父子图平衡;0066 (3)故障树的事件约束,包括一棵故障树只有一个顶事件,底事件必须使用CMP属性量化描述;0067 (4)因果图的要因约束,包括一个因果图只有一个主要因;0068 (5)判定表的条件元动作元组合约束,包括一个规则项的条件元和动作元均非空。0069 具体实施方式五:结合图2、图3说明本实施方式,本实施方式与具体实施方式一至四之一不同的是:步骤三中根据测试覆盖准则和测试用例生成算法自动生成数据流图测试项对应的黑盒测试用例集合具体为:0070 嵌入式软件的静态图形模型采用XML文档的形式进行存储,测试项和测试用例集合采用数。
34、据库的形式进行存储。0071 数据流图测试项生成测试用例的过程是:先求出合法完整测试项的所有测试路径集合,再按测试路径集合化简规则对每个测试路径集合进行化简以求得所有简单测试路径,最后依据每条简单测试路径生成测试用例集合。其中,测试路径集合指的是从一个节点到另一个节点的所有可达路径,简单测试路径指的是从一个节点到另一个节点的一条可达路径。数据流图的使用示例如图4所示。0072 设m、n是数据流图中的两个节点,测试路径集合化简规则如下:(1)若从m到n存在一个数据流t(m,n),则数据流t是一条路径;(2)若a,b都是一条路径,且tail(a)head(b),则(a,b)也是一条路径,(a,b)。
35、路径的执行需要依次执行a和b;(3)若a,b都是一条路径,且tail(a)tail(b)或head(a)head(b),则(a and b)也是一条路径,(a and b)路径的执行需要同时执行a和b;(4)若a,b都是一条路径,且tail(a)tail(b)或head(a)head(b),则(a or b)代表两条路径,(a or b)路径的执行需要分别执行a和b;(5)若a,b都是一条路径,且tail(a)tail(b)或head(a)head(b),则(a xor b)代表两条路径,(a xor b)路径的执行需要执行a和b之一。0073 输入:数据流图DFD,合法完整的数据流图测试项I10074 输出:数据流图测试项的测试用例集合T10075 算法过程:说 明 书CN 104375943 A10。