主要内容

在MATLAB的多个版本中运行测试

如果你有不止一个版本的MATLAB®安装后,可以在多个发行版中运行测试。从R2011b开始,您还可以在没有R2011b的版本中运行测试动态仿真模块®测试™.在多个版本中运行测试使您可以在首选的Simulink版本中运行测试的同时使用后期版本中的测试功能。您还可以比较多个版本的测试结果,以便在升级到新版本的MATLAB和Simulink之前更好地理解Simulink的更改。

尽管您可以在以前版本的模型上运行测试用例,但是您在其中运行测试的版本必须支持测试的特性。例如,如果您的测试涉及到测试工具或测试序列,那么版本必须支持这些特性以使测试能够运行。

在创建使用其他版本的测试之前,请使用测试管理器首选项将这些版本添加到可用版本列表中。看到使用测试管理器首选项添加版本

在多个版本中进行测试的注意事项

在以前或以后的版本中测试模型

您的模型或测试工具必须与运行您的测试的MATLAB版本兼容。

  • 如果您有一个在较新版本的MATLAB中创建的模型,要在较前版本的MATLAB中测试该模型,请将该模型导出到较前版本,并使用较前的MATLAB版本模拟导出的模型。有关更多信息,请参阅中导出模型的信息保存模型

  • 要在最新版本的MATLAB中测试模型,请考虑使用Upgrade Advisor为最新版本升级模型。有关更多信息,请参见咨询升级顾问

测试用例与以前版本的兼容性

在多版本测试中收集覆盖率时,您可以在当前版本之前运行长达三年(六个版本)的测试用例。R2016b及其后续版本支持包含逻辑或时间评估的测试。

多重发布测试的测试用例限制

某些特性在多版本测试中不受支持:

  • 并行测试执行

  • 使用MATLAB单元测试框架运行测试用例

  • 实时测试

  • 模型与观察

  • 输入外部Excel中定义的数据®文档

  • 包括来自测试用例回调的自定义图

使用测试管理器首选项添加版本

在为多个版本创建测试之前,请使用测试管理器首选项来包含要在其中进行测试的MATLAB版本。您还可以删除添加到可用版本列表中的版本。但是,您不能删除正在从中运行Test Manager的发布。

  1. 在测试管理器中,单击首选项

  2. 在“首选项”对话框中,单击释放.的释放窗格列出您正在运行测试管理器的版本。

  3. 释放窗格中,单击添加/删除版本打开版本管理器。

  4. 在发布管理器中,单击添加

  5. 浏览到您想要添加的MATLAB版本的位置并单击好吧

  6. 要更改将出现在测试管理器中的版本名称,请编辑的名字字段。

  7. 关闭发布管理器。Preferences对话框显示所选的版本。取消选择不希望用于运行测试的版本。

在多个版本中运行基线测试

当您使用为多个版本设置的测试管理器运行基线测试时,您可以:

  • 在您想要看到结果的版本中创建基线,例如,尝试不同的参数并应用公差。

  • 在一个版本中创建基线,并在另一个版本中运行它。使用这种方法,例如,您可以知道一个较新的版本是否产生与较早的版本相同的模拟输出。

创建基线。

  1. 确保该版本已经添加到您的Test Manager首选项中。

  2. 如果需要的话,创建一个测试文件,并向其中添加一个基线测试用例。

  3. 选择测试用例。

  4. 被测系统,输入要测试的模型的名称。

  5. 设置剩下的测试。

  6. 捕捉基线。下基线标准,点击捕获.指定保存基线的格式和文件,并选择捕获基线的版本。然后,单击捕获模拟模型。

有关捕获基线的更多信息,请参见捕捉基线标准

在您创建基线之后,在所选的版本中运行测试。您选择的每个版本都会生成一组结果。

  1. 在测试用例中,展开模拟设置和发布覆盖,在为模拟选择版本下拉菜单,选择您想要用来与您的基线进行比较的发布。

  2. 指定测试选项。

  3. 从工具条中单击运行

    对于您在运行测试用例时所选择的每个版本,通过-失败的结果将出现在结果和工件窗格。对于来自除您运行Test Manager的版本之外的版本的结果,版本号将出现在名称中。

测试用例结果层次结构

在多个发行版中运行等价测试

当您运行等价测试时,您将比较两个模拟。每个模拟运行在一个版本中,版本可以相同也可以不同。等价测试的例子包括比较在不同模型仿真模式下运行的模型,如正常和软件在环(SIL),或比较不同的公差设置。

  1. 确保发布已经添加到您的Test Manager首选项中。

  2. 如果需要的话,创建一个测试文件,并向其中添加一个等价测试用例。

  3. 选择测试用例。

  4. 模拟1被测系统,输入要测试的模型的名称。

  5. 扩大模拟设置和发布覆盖,在为模拟选择版本下拉菜单,选择等价测试模拟1的发布。对于等价测试,每个模拟只能选择一个版本。

  6. 设置剩下的测试。

  7. 重复步骤4到6模拟2

  8. 在工具条中,单击运行

    测试运行您所选择的版本中的每个模拟,并比较结果的等价性。对于您在运行测试用例时选择的每个版本,通过-失败的结果出现在结果和工件窗格。对于来自除您运行Test Manager的版本之外的版本的结果,版本号将出现在名称中。

    带有信号选择复选框的测试用例结果层次结构。

在多个发行版中运行模拟测试

运行模拟测试,在您选择的每个版本中使用您在测试用例中指定的标准模拟模型。

  1. 确保发布已经添加到您的Test Manager首选项中。

  2. 如果需要的话,创建一个测试文件,并向其中添加一个模拟测试用例模板。

  3. 选择测试用例。

  4. 被测系统,输入要测试的模型。

  5. 扩大模拟设置和发布覆盖,在为模拟选择版本下拉菜单,为模拟选择发布选项。

  6. 模拟输出,选择要记录的信号。

  7. 在工具条中,单击运行

    测试运行,模拟您所选择的每个版本。对于每个版本,通过-失败结果显示在结果和工件窗格。对于来自除您运行Test Manager的版本之外的版本的结果,版本号将出现在名称中。

    多个版本的测试结果层次结构。

评估多个版本中的时间逻辑

您可以在多个版本中运行包含逻辑和时间评估的测试,以测试在早期版本中创建的模型的信号逻辑。当您在多个版本中运行测试时,您还可以比较不同版本之间的评估结果。有关更多信息,请参见使用时态评估来评估时态逻辑

您可以使用逻辑和时间评估运行这些测试用例类型:

  • 基线测试

  • 等效性测试

  • 模拟测试

运行带有逻辑和时间评估的测试

要在多个版本中运行带有逻辑和时间评估的测试逻辑:

  1. 启动MATLAB R2021b或更高版本。

  2. 打开测试管理器。有关更多信息,请参见打开测试管理器

  3. 在测试管理器中,将发布添加到测试管理器首选项中。有关更多信息,请参见使用测试管理器首选项添加版本

  4. 创建一个具有基线、等价性或模拟测试用例的新测试文件,或者打开一个现有的测试文件。欲了解更多信息,请参见:

  5. 在测试管理器中,指定您的测试用例属性,包括被测试的系统和您想要应用的其他属性。有关更多信息,请参见在测试管理器中指定测试属性

  6. 向您的测试用例中添加一个逻辑的或时间的评估。有关更多信息,请参见使用时态评估来评估时态逻辑而且逻辑和时态评估语法

  7. 选择要在其中运行测试的发行版。在测试管理器中,选择您的测试用例。在被测系统下,模拟设置和发布覆盖旁边,为模拟选择版本,从列表中选择要运行测试用例的发布。

    如果您正在使用基线或模拟测试用例,您可以通过从列表中选择多个版本,在单个运行中运行多个版本中的测试。如果您正在使用等价测试用例,您可以在下面选择一个版本模拟1另一个版本是模拟2.欲了解更多信息,请参见:

  8. 运行测试。在测试管理器中,单击运行

评估的评估结果

结果和工件窗格显示您所选择的每个版本的测试结果。测试发行版出现在每个测试结果的名称中,这些测试结果来自不同于您运行test Manager的版本的发行版。

在当前版本和R2020a中运行评估的单个测试用例的通过-失败结果。

您可以独立于其他通过-不通过标准来评估评估结果。例如,当基线测试用例可能由于基线标准失败而失败时,测试用例中的逻辑或时间评估可能会通过。

您还可以检查详细的评估信号行为。有关更多信息,请参见查看评估结果

收集多重发布测试中的覆盖率

要为多个版本添加覆盖率集合,您必须拥有仿真软件覆盖™许可证。中描述的设置测试在多个版本中运行基线测试在多个发行版中运行等价测试,或在多个发行版中运行模拟测试.您可以使用外部测试工具来增加多版本测试的覆盖率。在您捕获基线或运行等价性或模拟测试之前,启用覆盖率收集。

  1. 单击包含您的测试用例的测试文件。要收集测试套件或测试用例的覆盖率,您必须在测试文件级别启用覆盖率。

  2. 覆盖范围设置部分中,选择记录被测系统的覆盖范围记录引用模型的覆盖率,或两者兼而有之。

  3. 选择要收集的保险范围类型覆盖率度量收集。

运行测试后,将结果和工件窗格显示了测试套件中每个版本的通过-失败结果。

不及格两种结果

要查看一个版本的覆盖结果,选择它的测试用例并展开覆盖率结果部分。该表列出了您所选择的度量的模型、版本和覆盖率百分比。

单个版本的覆盖率结果表

要查看测试中发布的聚合覆盖率结果,选择包含发布的测试套件,并展开聚合覆盖率结果部分。

多个版本的聚合覆盖率结果

要使用当前版本向旧版本添加缺失覆盖率的测试,请单击该行并单击为遗漏的覆盖率添加测试.您还可以使用覆盖过滤器,生成报告,合并结果,导入和导出结果,以及链接需求的范围覆盖。有关更多信息,请参见收集测试覆盖率而且增加模型的测试覆盖率

另请参阅

|

相关的话题

Baidu
map