主要内容

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

如果你有不止一个MATLAB版本®已安装,您可以在多个版本中运行测试。从R2011b开始,您还可以在没有的版本中运行测试金宝app®测试™.在多个发行版中运行测试使您能够在您首选的Simulink发行版中运行测试的同时使用后面发行版中的测试功能。金宝app您还可以比较多个版本的测试结果,以便在升级到新的MATLAB和Simulink版本之前更好地理解Simulink的变化。金宝app

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

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

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

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

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

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

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

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

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

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

某些特性不支持多版本测试:金宝app

  • 并行测试执行

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

  • 实时测试

  • 模型与观察

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

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

使用测试管理器首选项添加发布

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

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

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

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

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

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

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

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

在多个发布中运行基线测试

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

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

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

创建基线。

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

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

  3. 选择测试用例。

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

  5. 设置测试的其余部分。

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

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

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

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

  2. 指定测试选项。

  3. 从工具条中,单击运行

    对于您在运行测试用例时选择的每个版本,通过-失败结果将出现在结果和工件窗格。对于来自不同于您正在运行测试管理器的版本的结果,版本号会出现在名称中。

测试用例结果层次结构

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

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

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

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

  3. 选择测试用例。

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

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

  6. 设置测试的其余部分。

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

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

    测试运行您选择的版本中的每个模拟,并比较结果的等效性。对于您在运行测试用例时选择的每个版本,通过-失败结果将出现在结果和工件窗格。对于来自不同于您正在运行测试管理器的版本的结果,版本号会出现在名称中。

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

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

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

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

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

  3. 选择测试用例。

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

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

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

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

    测试运行,模拟您选择的每个版本。对于每个版本,通过-失败结果显示在结果和工件窗格。对于来自不同于您正在运行测试管理器的版本的结果,版本号会出现在名称中。

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

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

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

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

  • 基线测试

  • 等效性测试

  • 模拟测试

使用逻辑和时间评估运行测试

在多个版本中使用逻辑和时间评估运行测试逻辑:

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

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

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

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

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

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

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

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

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

评估的评估结果

结果和工件窗格显示您选择的每个版本的测试结果。测试发行版出现在每个发行版的测试结果名称中,而不是您运行test Manager的版本。

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

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

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

在多版本测试中收集覆盖率

要为多个版本添加覆盖率集合,您必须有金宝app仿真软件覆盖™许可证。按照中所述设置测试在多个发布中运行基线测试在多个版本中运行等价测试,或在多个版本中运行模拟测试.在您捕获基线或运行等价或模拟测试之前,启用覆盖率收集。

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

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

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

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

不及格两种结果

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

单个版本的覆盖率结果表

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

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

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

另请参阅

|

相关的话题