CN107066375B - 安全关键软件自动化基于需求的测试实例生成系统和方法 - Google Patents

安全关键软件自动化基于需求的测试实例生成系统和方法 Download PDF

Info

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
Application number
CN201611015902.8A
Other languages
English (en)
Other versions
CN107066375A (zh
Inventor
李萌
M.R.杜尔林
萧洁恩
I.奥利维拉
郁涵
A.M.德康托
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Priority to CN202210276124.7A priority Critical patent/CN114996115A/zh
Publication of CN107066375A publication Critical patent/CN107066375A/zh
Application granted granted Critical
Publication of CN107066375B publication Critical patent/CN107066375B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test 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)。当前提表达式具有这些算子其中之一时,对标记有(√)的对应组合的每个生成测试实例,并且这对任何数量的操作数可一般化。
Figure DEST_PATH_IMAGE001
表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、磁介质等)中存储的计算机程序应用可包括代码或者可执行指令,其在运行时可指示和/或使控制器或处理器执行本文所述的、例如用于如上所述的自动化的基于需求的测试实例生成的方法。
计算机可读介质可以是非暂时计算机可读介质,包括除了暂时的传播信号之外的所有形式和类型的存储器和计算机可读介质。在一个实现中,非易失性存储器或计算机可读介质可以是外部存储器。
虽然本文描述了特定硬件和方法,但是要注意,任何数量的其他配置可按照本发明的实施例来提供。因此,虽然示出、描述和指出本发明的新基本特征,但是将会理解,可由本领域的技术人员进行所示实施例的形式和细节方面及其操作方面的各种省略、置换和变更,而没有背离本发明的精神和范围。还全面预计和考虑从一个实施例到另一个实施例的元件的置换。本发明仅针对所附权利要求书以及其中引述的等效体来限定。
Figure 685223DEST_PATH_IMAGE002

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所述的方法,包括:
通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个来生成基于需求的测试实例;以及
将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
CN201611015902.8A 2015-11-20 2016-11-18 安全关键软件自动化基于需求的测试实例生成系统和方法 Active CN107066375B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 青岛慧拓智能机器有限公司 一种自动驾驶车辆测评场景生成系统及方法

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