主要内容

用代码编译激活时间验证和验证变量模型

这个例子展示了如何验证和验证变量模型代码编译使用Simulink®Design Verifier™和Simulink Test™可变激活时间。

Simulink设计验证器和Simulink测试概述

Simulink Design Verifier识别隐藏的设计错误,并检测导致整数溢出、死逻辑、数组访问违规和除零的模型构造。它还为模型覆盖生成测试用例。有关更多信息,请参见关于使用Simulink设计验证器进行系统模型验证(仿真软件设计验证器)

Simulink Test为模型、生成的代码和模拟的或物理硬件的系统的、基于模拟的测试提供了创作、管理和执行的工具。您可以创建非侵入式测试工具来隔离被测组件,并使用测试管理器来管理和执行用户定义的测试。有关更多信息,请参见验证功能测试(仿真软件测试)

请注意:变体模型slexVariantVnVWorkflow在本例中使用代码编译变体激活时间。对于这样的模型,Simulink Test默认情况下只分析活动变量的选择。您必须切换活动变量选择并重新运行测试以分析所有选择。要使Simulink测试工作流迭代化,您可以使用启动改变激活时间并在快速重新启动中运行测试迭代。的启动带有快速重新启动工作流的变体允许您在每次迭代中切换活动变体的选择,而不需要重新编译模型来更改活动变体。关于一个显示Simulink测试工作流的启动变量和快速重启的例子,请参见验证和验证变量模型与启动激活时间

探索模型

打开模型,slexVariantVnVWorkflow

open_system (“slexVariantVnVWorkflow”);

模型包含一个Variant子系统块,ComputeTargetSpeed,有两种不同的选择,ComputeTargetSpeed_Config1而且ComputeTargetSpeed_Config2.在这个例子中,我们使用Simulink Design Verifier来生成满足条件和决策覆盖目标的测试用例。这个模型使用了一个测试装置,slexVariantVnVWorkflow_mdlHarness,使用Simulink Test创建,并包含针对每个变体选择的基于需求的测试。束带与模型一起保存。

  • 要启动Simulink Design Verifier,并为模型中的变量选择自动生成测试用例,双击SLDV运行按钮。

  • 要启动Simulink测试管理器并查看测试套件中的测试套件,slexVariantVnVWorkflow_mdlHarness,双击打开Simulink测试管理器按钮。

使用Simulink设计验证器生成测试用例

默认情况下,Simulink Design Verifier只分析变量模型中的活动变量选择。你可以写一个MATLAB脚本来为所有的变量选择生成测试用例。

查看与此模型的Simulink设计验证器相关的配置参数:

  • 在Simulink编辑器中,在建模选项卡上,单击模型设置

  • 2 .在“配置参数”对话框中,单击设计验证器在左边窗格中。在分析选项节中,模式被设置为测试生成.在测试生成类别,模型覆盖目标被设置为条件决定

在MATLAB命令窗口中,运行与这些步骤对应的脚本。的SLDV运行模型中的按钮自动执行相同的脚本。

步骤1:设置所需的Simulink设计验证器选项。有关选项的信息,请参见sldvoptions(仿真软件设计验证器)

modelName =“slexVariantVnVWorkflow”;open_system (modelName);为模型创建一个设计验证选项对象。。选择= sldvoptions (modelName);指定生成测试用例时要使用的优化策略。。选择。TestSuiteOptimization =“汽车”生成并保存一个Simulink设计验证器报告。。选择。SaveReport =“上”为每个变量选择创建唯一的报告。。选择。MakeOutputFilesUnique =“上”创建由Simulink设计验证器分析生成的线束模型。。选择。SaveHarnessModel =“关闭”%指定分析模式。选择。模式=“TestGeneration”

步骤2:设置需要为其生成测试的变量选择,然后分析模型。

在基本工作区中将活动变量选项设置为ComputeTargetSpeed_Config1。assignin (“基地”“speedConfig”1);为分析报告指定一个文件名,以指示正在分析的变量选择。选择。(modelName ReportFileName = (“report_speedConfig1”]);从MATLAB命令提示符跟踪执行进度。disp([换行符“为模特进行SLDV跑步”modelName'与变种选择:SpeedConfig 1']);调用模型更新命令来激活变量选择。。set_param (modelName“SimulationCommand”“更新”);分析模型以生成测试用例,并在日志窗口中显示消息。[status, filename] = sldvrun(modelName, opts, true);

步骤3:重复步骤2对于变量的选择ComputeTargetSpeed_Config2

assignin (“基地”“speedConfig”2);选择。(modelName ReportFileName = (“report_speedConfig2”]);disp([换行符“为模特进行SLDV跑步”modelName'与变种选择:SpeedConfig 2']);set_param (modelName“SimulationCommand”“更新”);[status1,fileNames] = sldvrun(modelName, opts, true);

步骤4:显示测试生成状态。

如果状态,状态“Simulink设计验证器测试生成完成。”);结束

分析完成后,Simulink Design Verifier Results Summary窗口将打开,并显示您可以使用结果的不同方式。看到回顾分析结果(仿真软件设计验证器).若要将生成的测试导出到Simulink Test,请单击导出测试用例到Simulink test

使用Simulink测试执行测试

可以使用Simulink测试执行用户定义测试或从Simulink设计验证器导入的测试。要执行测试并分析结果,请使用测试管理器。的变量模型默认情况下,Simulink Test只分析活动的变量选择代码编译变体激活时间。分析该模型中所有的变量选择:

1.在应用程序选项卡,模型验证、验证和测试部分中,点击仿真软件测试

2.在测试选项卡上,单击仿真软件测试经理

3.使用所需的测试用例创建测试套件,并在测试管理器中选择套件模型。

4.控件中的参数集添加变量控制变量参数将覆盖部分。

5.对于每个测试用例,根据每个变量选择更改参数集中的变量控制变量的值,然后重新运行测试。

探索测试束模型

要查看线束模型中的测试套件,slexVariantVnVWorkflow_mdlHarness,双击打开Simulink测试管理器按钮在模型中。

  • 在测试套件中CruiseControl_SpeedConfig_1,活动变量选择设置为ComputeTargetSpeed_Config1.在CruiseControl_SpeedConfig_2时,主动选择设置为ComputeTargetSpeed_Config2

  • 选择测试套件并单击运行,以运行测试。当测试完成时,单击结果和工件选项卡,以检查聚合的结果和覆盖率度量。看到执行功能测试并分析测试覆盖率(仿真软件测试)

另请参阅

Baidu
map