CN107066375B - 安全关键软件自动化基于需求的测试实例生成系统和方法 - Google Patents
安全关键软件自动化基于需求的测试实例生成系统和方法 Download PDFInfo
- Publication number
- CN107066375B CN107066375B CN201611015902.8A CN201611015902A CN107066375B CN 107066375 B CN107066375 B CN 107066375B CN 201611015902 A CN201611015902 A CN 201611015902A CN 107066375 B CN107066375 B CN 107066375B
- Authority
- CN
- China
- Prior art keywords
- test
- model
- software
- software architecture
- test case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Abstract
本发明的安全关键软件自动化基于需求的测试实例生成系统和方法包括在基于模型的开发工具中构建从软件设计模型的架构信息自动得出的软件架构模型,将需求模型分配到软件架构模型的块/算子中,并且从软件架构来生成组件级基于需求的测试实例。组件级基于需求的测试实例生成方法包括接收以层级数据流图表示的软件架构连同所分配需求模型,选择软件组件其中之一,通过基于所选择的测试策略将测试目标或约束的至少一个自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型,并且采用测试生成器来生成人类和机器可读测试实例,以供进一步自动转换成测试可执行和测试审查制品。还公开用于实现该方法的系统和非暂时计算机可读介质。
Description
技术领域
本发明涉及用于安全关键软件自动化的基于需求的测试实例生成的系统和方法。
背景技术
认证标准(例如航空软件的DO-178B/C)要求针对认证目标来严格检验安全关键软件、例如航空软件。测试是检验过程的基本部分。来自需求的手动测试实例生成特别对于复杂的大软件是艰难和费时的。
从高级软件需求所得出的自动生成的测试实例和/或测试过程能够帮助降低通过手动测试实例生成和审查活动所引入的成本。从规范所生成的那些测试实例和/或测试过程能够经过测试引导运行于关联低级设计实现。
常规测试工具和/或模型不能够在设计模型中的不同等级来生成基于需求的测试实例。由常规工具所产生的所生成测试实例无法直接运行于设计中的多级的组件。
发明内容
技术方案1:一种用于自动化的基于需求的测试实例生成的方法,所述方法包括:
在基于模型的开发工具(150)中构建软件架构模型(300),所述软件架构模型从软件设计模型(1000)的架构信息自动得出;
将需求模型(REQ1-REQ28)分配到软件架构模型的不同的组件中;以及
测试实例生成器单元(140)从所述软件架构模型来生成组件级基于需求的测试实例(136)。
技术方案2:如技术方案1所述的方法,包括通过将对应受监测或受控制变量(VAR1-VAR25)与不同模块的相应模块的输入端口和输出端口的至少一个相连接来分配所述需求模型。
技术方案3:如技术方案1所述的方法,包括测试实例生成器单元生成集成级测试实例,并且应用所述集成级测试实例,以检验代码模块是否符合所分配需求。
技术方案4:如技术方案1所述的方法,包括:
接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件(组件1-组件4)的一个或多个块/算子映射;
从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及
通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
技术方案5:如技术方案4所述的方法,包括基于测试生成等级来选择所述软件组件。
技术方案6:如技术方案1所述的方法,包括按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述测试实例。
技术方案7:如技术方案4所述的方法,包括:
通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个,来生成基于需求的测试实例;以及
将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
技术方案8:一种其上存储了指令的非暂时计算机可读介质,所述指令在由处理器运行时使所述处理器执行用于自动化的基于需求的测试实例生成的方法,所述方法包括:
构建软件架构模型,所述软件架构模型从软件设计模型的架构信息自动得出;
将需求模型分配到软件架构模型的不同块/算子中;以及
从所述软件架构模型来生成组件级基于需求的测试实例。
技术方案9:如技术方案8所述的非暂时计算机可读介质,包括使处理器通过将对应受监测或受控制变量与不同模块的相应模块的输入端口或输出端口相连接来分配所述需求模型的指令。
技术方案10:如技术方案8所述的非暂时计算机可读介质,包括使所述处理器生成集成级测试实例并且应用所述集成级测试实例以检验代码模块是否符合所分配需求的指令。
技术方案11:如技术方案8所述的非暂时计算机可读介质,包括使所述处理器执行下列步骤的指令:
接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;
从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及
通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
技术方案12.:如技术方案10所述的非暂时计算机可读介质,包括使所述处理器按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述测试实例的指令。
技术方案13:如技术方案11所述的非暂时计算机可读介质,包括使所述处理器执行下列步骤的指令:
通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个,来生成基于需求的测试实例;以及
将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
技术方案14:一种用于自动化的基于需求的测试实例生成的系统,所述系统包括:
基于模型的开发工具,包括配置成运行指令的控制处理器,所述控制处理器连接到通信链路;
组件级测试实例生成器单元,自动生成测试实例。
技术方案15:如技术方案14所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器执行下列步骤的指令:
从软件设计来得出软件架构模型;
将需求模型分配到软件架构模型的不同块/算子中;
生成组件级基于需求的测试实例。
技术方案16:如技术方案15所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器生成集成级测试实例并且应用所述集成级测试实例以检验代码模块是否符合所述软件架构模型和所分配需求模型的指令。
技术方案17:如技术方案15所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器执行下列步骤的指令:
接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;
从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及
通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
附图说明
图1示出按照实施例、用于自动化的基于需求的测试实例生成的系统;
图2示出按照实施例、用于软件测试的过程;
图3A-3D示出按照实施例、从软件设计自动得出的软件架构模型;
图4示出按照实施例、用于组件级测试实例生成的过程;
图5示出按照实施例的需求模型;
图6示出按照实施例、具有所附连测试目标的需求模型;
图7示出按照实施例、具有所附连测试目标的逻辑条件覆盖模型;
图8A-8B示出按照实施例、具有所附连测试目标的输入掩蔽模型;
图9示出按照实施例的测试脚本生成和审查过程;
图10示出按照实施例的示范软件架构设计和关联需求可溯性信息;
图11示出按照实施例的示范单元级测试脚本;以及
图12示出按照实施例的示范集成级测试脚本。
具体实施方式
按照实施例,系统和方法从软件设计架构连同需求模型一起自动创建软件架构模型,以便基于所提出的软件架构模型来自动化生成多级架构的基于需求的测试实例。
按照实施例,软件架构模型及其需求分配使用基于模型的开发(MBD)工具采用层级数据流图的表示来构建。与常规MBD工具(其按传统用于低级设计)相反,实施MBD工具从软件设计架构自动创建软件架构模型,并且生成系统级或高级需求的对应测试实例。
实施系统和方法能够实现组件级基于需求的测试实例生成,以便自动生成软件架构中的不同等级的组件的测试实例。
图1示出按照实施例、用于自动化的基于需求的测试实例生成的系统100。系统100包括控制处理器110,其运行计算机指令131以控制系统及其组件的操作。可执行指令能够存储在数据存储器130中,其还能够存储由系统所访问和生成的数据。控制处理器110能够位于计算机或服务器中,并且经由通信链路120来互连到各种组件。通信链路可以是内部总线、电子通信网络等。系统100能够从安全关键软件的系统和/或高级需求132来生成测试实例。
图2示出按照实施例、用于自动化软件测试的过程200。过程200从软件设计模型来得出软件架构模型134。软件架构模型在基于模型的开发工具150环境中基于设计模型的架构信息来构建(步骤205)。这个软件架构模型能够按照一些实现自动创建。通过将对应受监测/受控制变量(例如图1的VAR1-VAR19)与组件的输入/输出端口相连接,将需求模型分配(步骤210)到软件架构模型的不同模块中。按照一些实施例,在步骤205,能够添加需求模型中的所有输出变量的输入端口。通过添加所有输出变量的输入端口,测试实例生成器能够在一轮中生成测试实例的输入和预计输出。
组件级测试实例生成器单元140能够使用具有所分配需求的软件架构模型来生成(步骤215)单元/模块级基于需求的测试实例。测试实例生成器单元140还能够生成(步骤220)集成级测试实例,以检验代码组件或集成是否符合所分配需求。
图3A-3D示出按照实施例、基于软件设计架构作为层级数据流图所构建的软件架构模型300。软件设计中的各组件1、组件2、组件3、组件4是具有输入和输出端口的软件架构模型中的块/算子(block/operator)。软件架构模型中的块/算子相互连接,并且能够具有多层子块/子算子。将需求模型REQ12、REQ13、REQ14、REQ15分配到软件架构模型中,并且连接到输入和输出端口。构建过程是自动、系统和模块化的。层级数据流从对软件设计的需求来提供良好可视化和简易可溯性。
图4示出按照实施例、用于组件级测试实例生成的过程400。过程400基于接收(步骤405)具有所分配需求模型的采取层级数据流图形式的自动创建软件架构模型。基于测试生成的等级来选择(步骤410)软件设计中的软件组件的一个或多个,并且对应软件架构模型块/算子用于测试实例生成。通过将测试约束和测试目标附连到对应软件架构模型块/算子,基于所选择的组件来构建(步骤415)中间测试模型。附连测试目标,以满足需求级的某些覆盖标准,例如需求覆盖(例如激活所有需求)、逻辑条件覆盖(例如在某个等级激活需求中的逻辑条件)等。测试约束附连到模型,以约束受监测/受控制变量范围,并且确保所生成测试实例没有违反需求。
自动测试实例生成策略(即,附连测试目标和约束)能够基于需求的一般形式。在自然结构英语语言中,需求的形式能够表达为:
<前提表达式> 意味着 <结果表达式>,
其中<前提表达式>是关于受监测变量的逻辑表达式;
以及<结果表达式>是关于受控制变量的逻辑表达式。
图5示出按照实施例的需求模型500(当通过Simulink来表达时)。需求模型包括前提表达式510和结果表达式520。向逻辑块530提供这些表达式,其基于表达式状态(即,A ==> B)来意味着输出信号540。为了使需求成立,输出信号必须为1或“真”(true)。自动测试实例生成器单元140对此进行接收,并且由此按照一个或多个策略(例如需求覆盖策略、逻辑条件覆盖策略、输入掩蔽策略等)来生成测试实例。实施例并不局限于此,以及测试实例生成的其他策略处于本公开的考虑范围之内。
需求覆盖策略包括对各需求生成一个测试实例,其中必须以前提表达式为真来满足需求。这通过插入测试目标和约束并且运行测试生成引擎(其能够驱动输入序列以实现测试目标)进行。
作为举例,测试目标的插入能够使用来自所选择的基于模型的开发工具(例如,从Simulink可得到的Simulink Design Verifier块)中的商业设计检验器块资料库的测试目标和测试条件块进行。测试生成引擎能够用来得出输入,以实现测试目标。图6示出按照实施例、具有所附连测试目标的需求模型600。测试目标块610(采用圆圈内的“O”所表示)由设计检验器来分析,以查找使其前提表达式(其属于布尔逻辑类型)为真的变量值指配VAR21、VAR22的组合。测试条件块620(采用圆圈内的“C”所表示)使设计检验器将“意味着”块的输出保持为真。“意味着”块的真输出信号是关于满足需求REQ27的指示。对受监测和受控制变量的值指配由设计检验器自动生成。
能够实现逻辑条件覆盖(LCC)策略,以实现逻辑方程条件的功能覆盖。通过仅改变那个条件而对可能影响结果的所有其他条件保持为固定,逻辑方程中的各条件证明对逻辑方程的结果具有影响。考虑表1中的示例,其示出两个变量的逻辑条件覆盖,其中两个布尔逻辑值(a和b)是所列布尔逻辑算子的条件。表1指示测试实例是实现LCC覆盖所需的(√)还是不需要的(x)。当前提表达式具有这些算子其中之一时,对标记有(√)的对应组合的每个生成测试实例,并且这对任何数量的操作数可一般化。
表1
图7示出按照实施例、具有所附连测试目标的逻辑条件覆盖模型700。这个LCC模型基于具有附加测试目标和条件块710、720、730的模式的需求模型600。为了生成测试实例,测试目标块按照表1中的所使用布尔逻辑算子和相应实例来附连。在运行测试生成引擎之后,生成一组测试实例,以满足逻辑条件覆盖。还检查每个所生成的测试实例,以便发现它“激活”哪些需求—激活意指可满足性端口740的输出信号必须为1或“真”。
输入掩蔽策略能够实现掩蔽修改条件/判定覆盖(MC/DC)。掩蔽MC/DC通过保证与唯一原因相同的各逻辑算子的最小测试实例来满足单独影响的定义,并且对于满足安全关键软件开发标准(例如DO-178B/C)的MC/DC目标是可接受的。掩蔽表示关于对逻辑构造的特定输入能够隐藏对构造的其他输入的影响的概念。例如,对AND算子的假输入掩蔽所有其他输入,以及对OR算子的真输入掩蔽所有其他输入。对MC/DC的掩蔽方式允许一个以上输入在单独对中发生变化,只要感兴趣条件示为影响判定结果的值的唯一条件。但是,需要判定的内部逻辑的分析表明,感兴趣条件是引起判定结果的值发生变化的唯一条件。
图8A-8B示出按照实施例、具有所附连测试目标的输入掩蔽模型策略800。输入掩蔽模型800中所示的每个子表达式对应于信号/块通路,其开始于前提表达式的输入条件,涉及受监测变量VAR23、VAR24、VAR25,并且结束于表示受监测表达式的结果的信号。从这个模型,测试实例能够自动生成,由自动测试实例生成器单元140关联到需求REQ28,并且转化成输出测试脚本。
输入掩蔽测试生成策略按照下列步骤来附连测试目标。
对于前提表达式的各基本命题(输入条件),得到所有子表达式的集合S,其包含这个命题,除了命题本身之外。然后,对于集合S中的各表达式:(1) 如果子表达式的顶级运算为OR门,则通过其在S中的非(negation)来替代这个表达式;(2) 创建表达式e,其是S中的所有表达式和上述基本命题的结合;以及(3) 创建测试目标,其必须使表达式e为真。
再次参照图4,在测试约束和测试目标的附连之后,过程400以测试实例生成器单元140生成测试实例136(步骤420)继续进行。测试实例生成器单元能够对中间测试模型执行模型检查、约束解析和可达性解析方法,以生成测试实例,以便满足测试目标和/或检测不可达测试目标。将所生成的测试实例转化(步骤425)为用于测试执行的测试脚本以及用于认证的测试审查制品(artifact)。组件级测试生成方法的优点在于,该方法灵活地为软件架构中的不同等级的组件自动生成基于需求的测试实例,以实现适当需求级覆盖标准。按照实施例,能够生成测试实例,其可适用于单元/模块级测试以及集成级测试。
图9示出按照实施例、用于脚本生成和测试制品审查的过程900。通过过程900所生成的中间格式905能够是人类和/或机器可读的。过程900对上述组件级测试实例进行操作。从测试实例来生成(步骤905)中间格式。中间格式能够指示输入和预计输出信息。中间格式还能够指示测试实例追溯的需求、测试实例满足的测试目标以及从其中得出测试目标的参考。中间信息能够用来手动或自动进行测试审查。从中间信息来生成(步骤910)认证制品。中间信息能够用来生成(步骤915)可适合在不同测试环境中运行的可执行测试脚本。测试脚本还能够自动回写(步骤920)到需求和测试管理工具(例如IBM® Rational® DOORS®)。
图10-12共同示出按照实施例的端对端实现的图示。图10示出按照实施例的示范软件架构设计模型1000和关联需求可溯性信息。软件架构模型能够构建(图2的步骤205)为Simulink模型(图3A-3D)。软件设计模型软件架构设计中的每个块被转换成Simulink的软件架构模型中的块,其中具有相同接口和架构信息。软件架构模型中的每个块还基于图10的需求可溯性信息来分配有一组需求模型。例如,图3D中,四个需求模型(1010)基于图10中的信息来分配给组件2。类似地,块1020指示组件1的需求可溯性信息;块1030指示组件3的需求可溯性信息;以及块1040指示组件4的需求可溯性信息。图3A-3D所示的软件架构模型然后用来生成软件架构中的不同等级的基于需求的测试实例。
用户能够选择“组件2”块(图4的步骤410)来生成这个单元级的测试实例并且选择输入掩蔽测试策略。按照实施例,测试目标和约束块将在步骤415自动附连到“组件2”块内部的所有需求模型。在步骤420调用Simulink Design Verifier并且在步骤425转化测试实例之后,将生成满足输入掩蔽测试策略的所有测试目标和约束的测试实例。
图11示出按照实施例的示范单元级测试脚本1100。这个单元级测试脚本是在“组件2”的单元级的所生成测试实例的示例。生成测试实例,以便能够在SCADE测试环境中对设计中的“组件2”块运行。用户备选地能够选择包括图4的组件1-4的集成级块(步骤410),以生成集成级测试实例。按照实施例,测试目标和约束块在步骤415自动附连到集成级块内部的所有需求模型。在步骤420调用Simulink Design Verifier并且在步骤425转化测试实例之后,将生成满足输入掩蔽测试策略的所有测试目标和约束的测试实例。
图12示出按照实施例的示范集成级测试脚本1200。这个测试脚本是所生成的集成级测试实例的一个示例。生成测试实例,以便能够在SCADE测试环境中对设计中的集成级块运行。
按照实施例,自动创建层级数据流图(即,软件架构模型连同需求模型),以捕获需求和设计信息。这个层级数据流图用来生成软件架构中的不同等级的基于需求的测试实例。按照实施例,系统设计信息用来构建层级数据流图,其中在层级数据流图的模块内部来分配需求模型。需求分配基于来自设计信息的需求模块可溯性信息。测试目标和约束能够按照用户选择测试策略来附连到软件架构模型。自动测试实例生成基于层级数据流图,以便生成设计架构中的不同等级的基于需求的测试实例,其满足测试目标和约束。所生成的测试实例能够直接运行于设计中的多级的组件。
按照一些实施例,非易失性存储器或计算机可读介质(例如寄存器存储器、处理器高速缓存、RAM、ROM、硬盘驱动器、闪速存储器、CD ROM、磁介质等)中存储的计算机程序应用可包括代码或者可执行指令,其在运行时可指示和/或使控制器或处理器执行本文所述的、例如用于如上所述的自动化的基于需求的测试实例生成的方法。
计算机可读介质可以是非暂时计算机可读介质,包括除了暂时的传播信号之外的所有形式和类型的存储器和计算机可读介质。在一个实现中,非易失性存储器或计算机可读介质可以是外部存储器。
虽然本文描述了特定硬件和方法,但是要注意,任何数量的其他配置可按照本发明的实施例来提供。因此,虽然示出、描述和指出本发明的新基本特征,但是将会理解,可由本领域的技术人员进行所示实施例的形式和细节方面及其操作方面的各种省略、置换和变更,而没有背离本发明的精神和范围。还全面预计和考虑从一个实施例到另一个实施例的元件的置换。本发明仅针对所附权利要求书以及其中引述的等效体来限定。
Claims (7)
1.一种用于自动化的基于需求的测试实例生成的方法,所述方法包括:
在基于模型的开发工具(150)中构建软件架构模型(300),所述软件架构模型从软件设计模型(1000)的架构信息自动得出;
将需求模型(REQ1-REQ28)分配到软件架构模型的不同的组件中;以及
通过测试实例生成器单元(140)从所述软件架构模型来生成组件级基于需求的测试实例(136),其中按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述组件级基于需求的测试实例,
其中所述输入掩蔽策略包括掩蔽修改条件/判定覆盖。
2.如权利要求1所述的方法,包括通过将对应受监测或受控制变量(VAR1-VAR25)与不同模块的相应模块的输入端口和输出端口中的至少一个相连接来分配所述需求模型。
3.如权利要求1所述的方法,其中,生成所述组件级基于需求的测试实例包括生成集成级测试实例,并且应用所述集成级测试实例,以检验代码模块是否符合所分配需求。
4.如权利要求1所述的方法,包括:
接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;
从所述软件设计来选择所述对应组件其中之一,以用于测试实例生成;以及
通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
5.如权利要求4所述的方法,其中所述对应组件包括组件1、组件2、组件3、组件4。
6.如权利要求4所述的方法,包括基于测试生成等级来选择所述对应组件其中之一。
7.如权利要求4所述的方法,包括:
通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个来生成基于需求的测试实例;以及
将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210276124.7A CN114996115A (zh) | 2015-11-20 | 2016-11-18 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/947633 | 2015-11-20 | ||
US14/947,633 US9940222B2 (en) | 2015-11-20 | 2015-11-20 | System and method for safety-critical software automated requirements-based test case generation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210276124.7A Division CN114996115A (zh) | 2015-11-20 | 2016-11-18 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107066375A CN107066375A (zh) | 2017-08-18 |
CN107066375B true CN107066375B (zh) | 2022-03-01 |
Family
ID=58699700
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611015902.8A Active CN107066375B (zh) | 2015-11-20 | 2016-11-18 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
CN202210276124.7A Pending CN114996115A (zh) | 2015-11-20 | 2016-11-18 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
CN201910175783.XA Active CN110245067B (zh) | 2015-11-20 | 2019-03-08 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210276124.7A Pending CN114996115A (zh) | 2015-11-20 | 2016-11-18 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
CN201910175783.XA Active CN110245067B (zh) | 2015-11-20 | 2019-03-08 | 安全关键软件自动化基于需求的测试实例生成系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9940222B2 (zh) |
JP (1) | JP6307140B2 (zh) |
CN (3) | CN107066375B (zh) |
BR (2) | BR102016026988A2 (zh) |
CA (2) | CA2948250C (zh) |
FR (1) | FR3044126B1 (zh) |
GB (1) | GB2545800A (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9940222B2 (en) * | 2015-11-20 | 2018-04-10 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
US10025696B2 (en) | 2016-02-09 | 2018-07-17 | General Electric Company | System and method for equivalence class analysis-based automated requirements-based test case generation |
US20180165180A1 (en) * | 2016-12-14 | 2018-06-14 | Bank Of America Corporation | Batch File Creation Service |
JP6556786B2 (ja) | 2017-05-17 | 2019-08-07 | 矢崎総業株式会社 | 端子 |
CN107729226A (zh) * | 2017-07-13 | 2018-02-23 | 中科院合肥技术创新工程院 | 基于业务流的测试用例自动生成系统及方法 |
CN107729256A (zh) * | 2017-11-16 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种项目需求和测试用例的关联方法及系统 |
EP3493051A1 (en) * | 2017-11-30 | 2019-06-05 | The MathWorks, Inc. | System and methods for evaluating compliance of implementation code with a software architecture specification |
DE102018003142A1 (de) | 2017-12-13 | 2019-06-13 | The Mathworks, Inc. | Automatische Einstellung von Multitasking-Konfigurationen für ein Codeprüfsystem |
EP3572945A1 (en) * | 2018-03-09 | 2019-11-27 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
CN108595318B (zh) * | 2018-03-31 | 2021-05-14 | 西安电子科技大学 | Rfc制导的ssl/tls实现中数字证书验证模块的差异测试方法 |
CN108427554B (zh) * | 2018-05-14 | 2023-09-08 | 华南理工大学 | 一种表驱动的云模式软件自动构造方法及系统 |
WO2020015837A1 (de) * | 2018-07-20 | 2020-01-23 | Siemens Aktiengesellschaft | Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms |
US10585779B2 (en) | 2018-07-30 | 2020-03-10 | General Electric Company | Systems and methods of requirements chaining and applications thereof |
CN109344059B (zh) * | 2018-09-20 | 2023-04-11 | 天津龙拳风暴科技有限公司 | 一种服务器压力测试方法及装置 |
US11138089B2 (en) | 2018-12-19 | 2021-10-05 | International Business Machines Corporation | Performance benchmark generation |
CN109815147B (zh) * | 2019-01-21 | 2022-06-24 | 深圳乐信软件技术有限公司 | 测试案例生成方法、装置、服务器和介质 |
EP3722942B1 (en) | 2019-04-10 | 2023-03-22 | The Boeing Company | Running integration tests using unit tests |
US11620454B2 (en) * | 2020-02-05 | 2023-04-04 | Hatha Systems, LLC | System and method for determining and representing a lineage of business terms and associated business rules within a software application |
CN111539099A (zh) * | 2020-04-17 | 2020-08-14 | 北京航空航天大学 | 一种基于程序变异的Simulink模型验证方法 |
CN111679941A (zh) * | 2020-05-31 | 2020-09-18 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 自动识别仪器型号映射仪器指令实现仪器互换的方法 |
US11200069B1 (en) | 2020-08-21 | 2021-12-14 | Honeywell International Inc. | Systems and methods for generating a software application |
US11144436B1 (en) | 2020-10-19 | 2021-10-12 | Bank Of America Corporation | System for testing an application with dynamically linked security tests |
CN112231164B (zh) * | 2020-12-11 | 2021-08-27 | 鹏城实验室 | 处理器验证方法、设备及可读存储介质 |
EP4050489A1 (en) * | 2021-02-24 | 2022-08-31 | The Boeing Company | Automatic generation of integrated test procedures using system test procedures |
CN113010152A (zh) * | 2021-03-24 | 2021-06-22 | 中广核工程有限公司 | 一种核电厂安全级软件设计系统和方法 |
CN112905486B (zh) * | 2021-03-26 | 2022-07-08 | 建信金融科技有限责任公司 | 一种服务集成测试方法、装置和系统 |
CN113282498B (zh) * | 2021-05-31 | 2024-04-05 | 深圳赛安特技术服务有限公司 | 测试用例的生成方法、装置、设备及存储介质 |
CN115525532A (zh) * | 2021-06-25 | 2022-12-27 | 华为云计算技术有限公司 | 一种测试用例选择方法及相关装置 |
CN117555812A (zh) * | 2024-01-11 | 2024-02-13 | 北京捷科智诚科技有限公司 | 一种云平台自动化测试方法及系统 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390325A (en) | 1992-12-23 | 1995-02-14 | Taligent, Inc. | Automated testing system |
US7437304B2 (en) * | 1999-11-22 | 2008-10-14 | International Business Machines Corporation | System and method for project preparing a procurement and accounts payable system |
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
US7272752B2 (en) | 2001-09-05 | 2007-09-18 | International Business Machines Corporation | Method and system for integrating test coverage measurements with model based test generation |
CA2393043A1 (en) | 2002-07-11 | 2004-01-11 | Luiz Marcelo Aucelio Paternostro | Formal test case definitions |
US20050043913A1 (en) | 2003-08-19 | 2005-02-24 | Rex Hyde | Method of determining the level of structural coverage testing of test cases which are written for a program that does not provide for structural coverage testing |
US7478365B2 (en) | 2004-01-13 | 2009-01-13 | Symphony Services Corp. | Method and system for rule-based generation of automation test scripts from abstract test case representation |
US7392509B2 (en) | 2004-04-13 | 2008-06-24 | University Of Maryland | Method for domain specific test design automation |
JP2006024006A (ja) | 2004-07-08 | 2006-01-26 | Denso Corp | テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。 |
US7865339B2 (en) | 2004-07-12 | 2011-01-04 | Sri International | Formal methods for test case generation |
US7979849B2 (en) | 2004-10-15 | 2011-07-12 | Cisco Technology, Inc. | Automatic model-based testing |
US8392873B2 (en) | 2005-01-26 | 2013-03-05 | Tti Inventions C Llc | Methods and apparatus for implementing model-based software solution development and integrated change management |
US7752606B2 (en) * | 2005-08-10 | 2010-07-06 | Capital One Financial Corporation | Software development tool using a structured format to generate software code |
KR101222860B1 (ko) | 2005-09-01 | 2013-01-16 | 삼성전자주식회사 | 광픽업장치 |
US7716254B2 (en) | 2005-09-12 | 2010-05-11 | Infosys Technologies Ltd. | System for modeling architecture for business systems and methods thereof |
US7853906B2 (en) | 2006-03-22 | 2010-12-14 | Nec Laboratories America, Inc. | Accelerating high-level bounded model checking |
US20080056210A1 (en) | 2006-06-14 | 2008-03-06 | Toshiba America Research, Inc. | Moving Networks Information Server |
DE102006050112A1 (de) | 2006-10-25 | 2008-04-30 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Erstellung einer Anforderungsbeschreibung für ein eingebettetes System |
US7644334B2 (en) | 2006-11-27 | 2010-01-05 | Honeywell International, Inc. | Requirements-based test generation |
US8041554B1 (en) | 2007-06-06 | 2011-10-18 | Rockwell Collins, Inc. | Method and system for the development of high-assurance microcode |
US9189757B2 (en) * | 2007-08-23 | 2015-11-17 | International Business Machines Corporation | Monitoring and maintaining balance of factory quality attributes within a software factory environment |
US8423879B2 (en) | 2008-05-14 | 2013-04-16 | Honeywell International Inc. | Method and apparatus for test generation from hybrid diagrams with combined data flow and statechart notation |
US8307342B2 (en) | 2008-05-14 | 2012-11-06 | Honeywell International Inc. | Method, apparatus, and system for automatic test generation from statecharts |
KR101254609B1 (ko) | 2008-05-19 | 2013-04-15 | 존슨 컨트롤스 테크놀러지 컴퍼니 | 하나의 소프트웨어의 적어도 일 부분을 검증하기 위해 테스트 케이스들을 자동 형성하는 방법 |
JP2009294846A (ja) * | 2008-06-04 | 2009-12-17 | Denso Corp | テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法 |
US8260479B2 (en) | 2008-12-09 | 2012-09-04 | Honeywell International Inc. | Modular software architecture for an unmanned aerial vehicle |
US20100192128A1 (en) | 2009-01-27 | 2010-07-29 | Honeywell International Inc. | System and methods of using test points and signal overrides in requirements-based test generation |
US20110083121A1 (en) | 2009-10-02 | 2011-04-07 | Gm Global Technology Operations, Inc. | Method and System for Automatic Test-Case Generation for Distributed Embedded Systems |
US9298598B2 (en) * | 2010-03-22 | 2016-03-29 | Red Hat, Inc. | Automated visual testing |
US8849626B1 (en) | 2010-06-23 | 2014-09-30 | Iowa State University Research Foundation, Inc. | Semantic translation of stateflow diagrams into input/output extended finite automata and automated test generation for simulink/stateflow diagrams |
WO2012049816A1 (ja) | 2010-10-14 | 2012-04-19 | 日本電気株式会社 | モデル検査装置、方法及びプログラム |
CN102136047A (zh) | 2011-02-25 | 2011-07-27 | 天津大学 | 一种基于形式化及统一软件模型的软件可信工程方法 |
JP5814603B2 (ja) * | 2011-04-21 | 2015-11-17 | 株式会社東芝 | テスト仕様作成支援装置、方法及びプログラム |
US8645924B2 (en) | 2011-06-06 | 2014-02-04 | Fujitsu Limited | Lossless path reduction for efficient symbolic execution and automatic test generation |
US8893087B2 (en) | 2011-08-08 | 2014-11-18 | Ca, Inc. | Automating functionality test cases |
US9063673B2 (en) * | 2011-08-30 | 2015-06-23 | Uniquesoft, Llc | System and method for implementing application code from application requirements |
US9360853B2 (en) | 2011-09-19 | 2016-06-07 | Dspace Gmbh | Exchange of files and meta-information between system design tools and behavior modeling tools and/or simulators for the creation of ECU software |
CN102693134B (zh) | 2012-05-25 | 2014-11-19 | 南京邮电大学 | 一种基于统一建模语言的传感网软件建模平台开发方法 |
US9971676B2 (en) | 2012-08-30 | 2018-05-15 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for state based test case generation for software validation |
KR101408870B1 (ko) | 2012-11-06 | 2014-06-17 | 대구교육대학교산학협력단 | Uml sd로부터 mccfg를 기반으로 하는 다단계 테스트 케이스 생성장치 및 방법 |
US9747079B2 (en) | 2014-12-15 | 2017-08-29 | General Electric Company | Method and system of software specification modeling |
CN104991863B (zh) * | 2015-07-14 | 2017-11-03 | 株洲南车时代电气股份有限公司 | 一种基于功能块图测试模型自动生成测试用例的方法 |
CN104978275B (zh) * | 2015-07-16 | 2017-09-29 | 北京航空航天大学 | 一种面向do‑178c软件测试过程的目标验证及证据模型提取方法 |
CN105068927A (zh) * | 2015-08-04 | 2015-11-18 | 株洲南车时代电气股份有限公司 | 基于关键字驱动的城轨传动控制单元自动化测试方法 |
US9940222B2 (en) * | 2015-11-20 | 2018-04-10 | General Electric Company | System and method for safety-critical software automated requirements-based test case generation |
CN107727411B (zh) * | 2017-10-30 | 2019-09-27 | 青岛慧拓智能机器有限公司 | 一种自动驾驶车辆测评场景生成系统及方法 |
-
2015
- 2015-11-20 US US14/947,633 patent/US9940222B2/en active Active
-
2016
- 2016-11-09 JP JP2016218486A patent/JP6307140B2/ja not_active Expired - Fee Related
- 2016-11-14 CA CA2948250A patent/CA2948250C/en not_active Expired - Fee Related
- 2016-11-16 GB GB1619371.6A patent/GB2545800A/en not_active Withdrawn
- 2016-11-17 FR FR1661158A patent/FR3044126B1/fr active Active
- 2016-11-18 BR BR102016026988-1A patent/BR102016026988A2/pt not_active Application Discontinuation
- 2016-11-18 CN CN201611015902.8A patent/CN107066375B/zh active Active
- 2016-11-18 CN CN202210276124.7A patent/CN114996115A/zh active Pending
-
2018
- 2018-03-09 US US15/916,660 patent/US20180196739A1/en not_active Abandoned
-
2019
- 2019-02-28 CA CA3035176A patent/CA3035176A1/en not_active Abandoned
- 2019-03-08 CN CN201910175783.XA patent/CN110245067B/zh active Active
- 2019-03-08 BR BR102019004568-0A patent/BR102019004568A2/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CA2948250A1 (en) | 2017-05-20 |
BR102016026988A2 (pt) | 2017-07-18 |
US20170147482A1 (en) | 2017-05-25 |
US9940222B2 (en) | 2018-04-10 |
CA2948250C (en) | 2020-05-26 |
CN114996115A (zh) | 2022-09-02 |
CN110245067B (zh) | 2023-09-22 |
GB2545800A (en) | 2017-06-28 |
CN110245067A (zh) | 2019-09-17 |
US20180196739A1 (en) | 2018-07-12 |
FR3044126A1 (fr) | 2017-05-26 |
JP6307140B2 (ja) | 2018-04-04 |
BR102019004568A2 (pt) | 2019-10-01 |
FR3044126B1 (fr) | 2022-01-14 |
CA3035176A1 (en) | 2019-09-09 |
CN107066375A (zh) | 2017-08-18 |
JP2017097862A (ja) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066375B (zh) | 安全关键软件自动化基于需求的测试实例生成系统和方法 | |
US10437713B2 (en) | System and method for equivalence class analysis-based automated requirements-based test case generation | |
CN105701008B (zh) | 用于测试用例生成的系统和方法 | |
CA2956364C (en) | System and method for coverage-based automated test case augmentation for design models | |
US20100192128A1 (en) | System and methods of using test points and signal overrides in requirements-based test generation | |
US20160266952A1 (en) | Automated Qualification of a Safety Critical System | |
US10936474B2 (en) | Software test program generation | |
Lee et al. | Requirements modeling and automated requirements-based test generation | |
EP3572945A1 (en) | System and method for safety-critical software automated requirements-based test case generation | |
US20220269593A1 (en) | Automatic generation of integrated test procedures using system test procedures | |
Abdo et al. | A Model-Based Approach for Early and Continuous Validation of Avionics Platforms up to Virtual Products and Hybrid Platforms | |
Fey et al. | Model-based design for safety-related applications | |
KR101095858B1 (ko) | 테스트 스터브 생성 방법 및 그 장치 | |
Taghavi et al. | A Survey of Analysis Composition Operators in the Context of Palladio | |
US20150135149A1 (en) | Monitoring coverage for static modelling of an electronic device | |
Trout | Testing safety-critical systems using Model-based Systems Engineering (MBSE) | |
Akkipeddi et al. | Generating test vectors from system requirements | |
Nanda et al. | Quantitative metrics for improving software performance for an integrated tool platform | |
Kamei et al. | Tool Support for Verification of Software Timing and Stack Usage for a DO-178B Level A System | |
Gledhill | The use of case tools as an aid to the verification of complex software systems | |
Chown | Test generation technology for an AUTOSAR simulation platform | |
Ackermann et al. | Integrating Functional and Non-Functional Design Verification for Embedded Software Systems | |
Toeppe et al. | Model driven automatic unit testing technology tool architecture | |
Anderson et al. | Dependability of Component Based Systems (Dagstuhl Seminar 02451) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |