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

技术编号:34791877 阅读:9 留言:0更新日期:2022-09-03 19:55
本发明专利技术的安全关键软件自动化基于需求的测试实例生成系统和方法包括在基于模型的开发工具中构建从软件设计模型的架构信息自动得出的软件架构模型,将需求模型分配到软件架构模型的块/算子中,并且从软件架构来生成组件级基于需求的测试实例。组件级基于需求的测试实例生成方法包括接收以层级数据流图表示的软件架构连同所分配需求模型,选择软件组件其中之一,通过基于所选择的测试策略将测试目标或约束的至少一个自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型,并且采用测试生成器来生成人类和机器可读测试实例,以供进一步自动转换成测试可执行和测试审查制品。还公开用于实现该方法的系统和非暂时计算机可读介质。统和非暂时计算机可读介质。统和非暂时计算机可读介质。

【技术实现步骤摘要】
安全关键软件自动化基于需求的测试实例生成系统和方法


[0001]本专利技术涉及用于安全关键软件自动化的基于需求的测试实例生成的系统和方法。

技术介绍

[0002]认证标准(例如航空软件的DO

178B/C)要求针对认证目标来严格检验安全关键软件、例如航空软件。测试是检验过程的基本部分。来自需求的手动测试实例生成特别对于复杂的大软件是艰难和费时的。
[0003]从高级软件需求所得出的自动生成的测试实例和/或测试过程能够帮助降低通过手动测试实例生成和审查活动所引入的成本。从规范所生成的那些测试实例和/或测试过程能够经过测试引导运行于关联低级设计实现。常规测试工具和/或模型不能够在设计模型中的不同等级来生成基于需求的测试实例。由常规工具所产生的所生成测试实例无法直接运行于设计中的多级的组件。

技术实现思路

[0004]技术方案1:一种用于自动化的基于需求的测试实例生成的方法,所述方法包括:在基于模型的开发工具(150)中构建软件架构模型(300),所述软件架构模型从软件设计模型(1000)的架构信息自动得出;将需求模型(REQ1

REQ28)分配到软件架构模型的不同的组件中;以及测试实例生成器单元(140)从所述软件架构模型来生成组件级基于需求的测试实例(136)。
[0005]技术方案2:如技术方案1所述的方法,包括通过将对应受监测或受控制变量(VAR1

VAR25)与不同模块的相应模块的输入端口和输出端口的至少一个相连接来分配所述需求模型。
[0006]技术方案3:如技术方案1所述的方法,包括测试实例生成器单元生成集成级测试实例,并且应用所述集成级测试实例,以检验代码模块是否符合所分配需求。
[0007]技术方案4:如技术方案1所述的方法,包括:接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件(组件1

组件4)的一个或多个块/算子映射;从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
[0008]技术方案5:如技术方案4所述的方法,包括基于测试生成等级来选择所述软件组件。
[0009]技术方案6:如技术方案1所述的方法,包括按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述测试实例。
[0010]技术方案7:如技术方案4所述的方法,包括:通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个,来生成基于需求的测试实例;以及将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
[0011]技术方案8:一种其上存储了指令的非暂时计算机可读介质,所述指令在由处理器运行时使所述处理器执行用于自动化的基于需求的测试实例生成的方法,所述方法包括:构建软件架构模型,所述软件架构模型从软件设计模型的架构信息自动得出;将需求模型分配到软件架构模型的不同块/算子中;以及从所述软件架构模型来生成组件级基于需求的测试实例。
[0012]技术方案9:如技术方案8所述的非暂时计算机可读介质,包括使处理器通过将对应受监测或受控制变量与不同模块的相应模块的输入端口或输出端口相连接来分配所述需求模型的指令。
[0013]技术方案10:如技术方案8所述的非暂时计算机可读介质,包括使所述处理器生成集成级测试实例并且应用所述集成级测试实例以检验代码模块是否符合所分配需求的指令。
[0014]技术方案11:如技术方案8所述的非暂时计算机可读介质,包括使所述处理器执行下列步骤的指令:接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
[0015]技术方案12.:如技术方案10所述的非暂时计算机可读介质,包括使所述处理器按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述测试实例的指令。
[0016]技术方案13:如技术方案11所述的非暂时计算机可读介质,包括使所述处理器执行下列步骤的指令:通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法的至少一个,来生成基于需求的测试实例;以及将所生成测试实例转化为测试脚本用于测试执行并且转化为测试制品供审查。
[0017]技术方案14:一种用于自动化的基于需求的测试实例生成的系统,所述系统包括:基于模型的开发工具,包括配置成运行指令的控制处理器,所述控制处理器连接到通信链路;组件级测试实例生成器单元,自动生成测试实例。
[0018]技术方案15:如技术方案14所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器执行下列步骤的指令:从软件设计来得出软件架构模型;将需求模型分配到软件架构模型的不同块/算子中;
生成组件级基于需求的测试实例。
[0019]技术方案16:如技术方案15所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器生成集成级测试实例并且应用所述集成级测试实例以检验代码模块是否符合所述软件架构模型和所分配需求模型的指令。
[0020]技术方案17:如技术方案15所述的系统,包括所述控制处理器,其配置成运行使所述控制处理器执行下列步骤的指令:接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;从所述软件设计来选择所述软件组件其中之一用于测试实例生成;以及通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。
附图说明
[0021]图1示出按照实施例、用于自动化的基于需求的测试实例生成的系统;图2示出按照实施例、用于软件测试的过程;图3A

3D示出按照实施例、从软件设计自动得出的软件架构模型;图4示出按照实施例、用于组件级测试实例生成的过程;图5示出按照实施例的需求模型;图6示出按照实施例、具有所附连测试目标的需求模型;图7示出按照实施例、具有所附连测试目标的逻辑条件覆盖模型;图8A

8B示出按照实施例、具有所附连测试目标的输入掩蔽模型;图9示出按照实施例的测试脚本生成和审查过程;图10示出按照实施例的示范软件架构设计和关联需求可溯性信息;图11示出按照实施例的示范单元级测试脚本;以及图12示出按照实施例的示范集成级测试脚本。
具体实施方式
[0022]按照实施例,系统和方法从软件设计架构连同需求模型一起自本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在其上存储有指令的非暂时性计算机可读介质,所述指令在由处理器执行时使得所述处理器执行用于自动化的基于需求的测试实例生成的方法,所述方法包括:构建软件架构模型,所述软件架构模型软件设计模型的架构信息自动得出;将需求模型分配到软件架构模型的不同块/算子中;以及从所述软件架构模型来生成组件级基于需求的测试实例,其中按照从需求覆盖策略、逻辑条件覆盖策略和输入掩蔽策略的列表中选取的至少一个策略来生成所述组件级基于需求的测试实例,其中所述输入掩蔽策略包括掩蔽修改条件/判定覆盖(MC/DC)。2.如权利要求1所述的非暂时性计算机可读介质,包括使所述处理器通过将对应受监测或受控制变量与不同模块的相应模块的输入端口或输出端口相连接来分配所述需求模型的指令。3.如权利要求1所述的非暂时性计算机可读介质,包括使所述处理器生成集成级测试实例并且应用所述集成级测试实例以检验代码模块是否符合所分配需求的指令。4.如权利要求1的非暂时性计算机可读介质,包括使所述处理器执行以下操作的指令:接收从所述软件设计连同所分配需求模型所得出的采取层级数据流图形式的所述软件架构模型,所述层级数据流图包括到所述软件设计中的对应组件的一个或多个块/算子映射;从所述软件设计来选择所述软件组件其中之一,以用于测试实例生成;以及通过将至少一个测试目标和测试约束自动附连到对应软件架构模型块/算子、基于所选择的组件来构建中间测试模型。5. 如权利要求4的非暂时性计算机可读介质,包括使所述处理器执行以下操作的指令:通过对所述中间测试模型执行模型检查、约束解析和可达性解析方法...

【专利技术属性】
技术研发人员:李萌MR杜尔林萧洁恩I奥利维拉郁涵AM德康托
申请(专利权)人:通用电气公司
类型:发明
国别省市:

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

1