Main Content

本页采用了机器翻译。点击此处可查看英文原文。

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

如果您安装了多个版本的 MATLAB®,则可以在多个版本中运行测试。从 R2011b 开始,您还可以在没有 Simulink® Test™ 的版本中运行测试。在多个版本中运行测试使您能够在首选的 Simulink 版本中运行测试时使用后续版本的测试功能。您还可以比较多个版本的测试结果,以便在升级到新版本的 MATLAB 和 Simulink 之前更好地了解 Simulink 的变化。

虽然您可以在以前版本的模型上运行测试用例,但是运行测试的版本必须支持该测试的功能。例如,如果您的测试涉及测试框架或测试序列,则发布必须支持这些功能才能运行测试。

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

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

在先前版本或后续版本中测试模型

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

  • 如果您有一个在较新版本的 MATLAB 中创建的模型,若要在较早版本的 MATLAB 中测试该模型,请将该模型导出到较早版本,然后使用较早版本的 MATLAB 仿真的模型。有关更多信息,请参阅Save Models中有关导出模型的信息。

  • 要在较新版本的 MATLAB 中测试模型,请考虑使用升级顾问将模型升级到较新版本。有关更多信息,请参阅 Upgrade Models Using Upgrade Advisor

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

在收集多版本测试的覆盖率时,您可以运行当前版本之前最多三年(六个版本)的测试用例。R2016b 及更高版本支持包含逻辑或时序评估的测试。

多个版本测试的测试用例限制

某些功能不支持多版本测试:

  • 并行测试执行

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

  • 实时测试

  • 有观测器的模型

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

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

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

在为多个版本创建测试之前,请先使用测试管理器预设项来包含您想要测试的 MATLAB 版本。您还可以删除已添加到可用版本列表中的版本。但是,您不能删除正在运行测试管理器的版本。

  1. 在测试管理器中,点击预设项

  2. 在“预设项”对话框中,点击“版本”。版本窗格列出了您正在运行测试管理器的版本。

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

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

  5. 浏览到您想要添加的 MATLAB 版本的位置并点击确定

  6. 要更改测试管理器中显示的发布名称,请编辑名称字段。

  7. 关闭发布管理器。“预设项”对话框显示所选的版本。取消选择您不想用于运行测试的版本。

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

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

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

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

创建基线。

  1. 确保该版本已添加到您的测试管理器预设项中。

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

  3. 选择测试用例。

  4. 在测系统下,输入您想要测试的模型的名称。

  5. 设置其余测试。

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

有关捕获基线的更多信息,请参阅 捕获基线准则

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

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

  2. 指定测试选项。

  3. 在工具条中,点击运行

    对于运行测试用例时选择的每个版本,通过-失败结果都会出现在结果和工件窗格中。对于除运行测试管理器的版本之外的版本的结果,版本号会出现在名称中。

Test case results hierarchy

在多个版本中运行等效性测试

当您运行等效性检验时,您会比较两个仿真。每个仿真都在一个版本中运行,该版本可以相同也可以不同。等效性测试的例子包括比较在不同模型仿真模式下运行的模型,例如普通和软件在环 (SIL),或比较不同的容差设置。

  1. 确保版本已添加到您的测试管理器预设项中。

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

  3. 选择测试用例。

  4. 仿真 1在测系统下,输入您要测试的模型的名称。

  5. 展开仿真设置和版本覆盖,然后在选择仿真版本下拉菜单中选择等效性测试仿真 1 的版本。对于等效性测试,每次仿真只能选择一个版本。

  6. 设置其余测试。

  7. 仿真 2 重复步骤 4 到 6。

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

    测试将运行您选择的版本中的每个仿真,并比较结果是否等效性。对于运行测试用例时选择的每个版本,通过-失败结果都会出现在结果和工件窗格中。对于除运行测试管理器的版本之外的版本的结果,版本号会出现在名称中。

    Test case results hierarchy with signal selection check boxes.

在多个版本中运行仿真测试

运行仿真测试将使用您在测试用例中指定的准则仿真您选择的每个版本中的模型。

  1. 确保版本已添加到您的测试管理器预设项中。

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

  3. 选择测试用例。

  4. 在测系统下,输入您想要测试的模型。

  5. 展开仿真设置和版本覆盖,然后在选择仿真版本下拉菜单中选择仿真的发布选项。

  6. 在“仿真输出”下,选择要记录的信号。

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

    测试运行,仿真您选择的每个版本。对于每个版本,通过和失败的结果都会出现在结果和工件窗格中。对于除运行测试管理器的版本之外的版本的结果,版本号会出现在名称中。

    Test results hierarchy for multiple releases.

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

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

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

  • 基线测试

  • 等效性检验

  • 仿真测试

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

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

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

  2. 打开测试管理器。有关更多信息,请参阅 打开 Simulink Test 经理

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

  4. 使用基线、等效性或仿真测试用例创建一个新的测试文件,或者打开一个现有的测试文件。有关详细信息,请参阅:

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

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

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

    如果您正在使用基线或仿真测试用例,则可以通过从列表中选择多个版本在一次运行中运行多个版本中的测试。如果您使用等效性测试用例,您可以选择仿真 1 下的一个版本和仿真 2 下的另一个版本。有关详细信息,请参阅:

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

评估评估结果

结果和工件窗格显示您选择的每个版本的测试结果。测试版本出现在每个测试结果的名称中,这些测试结果来自除您运行测试管理器的版本之外的版本。

Pass-fail results for a single test case with an assessment run in the current release and in R2020a.

您可以独立于其他通过-失败准则来评估评估结果。例如,虽然基线测试用例可能由于基线准则不满足而失败,但测试用例中的逻辑或时序评估可能会通过。

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

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

要添加多个版本的覆盖率收集,您必须拥有 Simulink Coverage™ 许可证。按照 在多个版本中运行基线测试在多个版本中运行等效性测试在多个版本中运行仿真测试 中的描述设置您的测试。您可以使用外部测试框架来增加多版本测试的覆盖率。在捕获基线或运行等效性或仿真测试之前,请启用覆盖率收集。

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

  2. 覆盖率设置部分中,选择记录在测系统的覆盖率记录引用模型的覆盖率或两者。

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

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

Pass-fail results

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

Coverage results table for a single release

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

Aggregated coverage results for multiple releases

要使用当前版本添加针对旧版本缺失覆盖率的测试,点击该行,然后点击针对缺失覆盖率添加测试。您还可以使用覆盖率过滤器、生成报告、合并结果、导入和导出结果以及覆盖率范围限定到链接的需求。有关更多信息,请参阅 收集测试覆盖率增加模型的测试覆盖率

另请参阅

|

相关主题