主要内容

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

测试生成工作流

模型验证和确认过程中的一个基本步骤是生成测试,以全面评估模型行为。这包括验证模型是否满足预期需求,以及检查模型覆盖范围以识别任何缺失的测试场景。此外,它还包括重用和扩展基于模型的测试以实现代码覆盖率,确保模型和代码行为的一致性。​

Simulink® Design Verifier™ 通过自动生成测试用例的功能,为实现这些步骤提供全面支持。以下部分描述了基于模型的测试中的三个重要活动:

  • 基于需求的测试

  • 实现模型覆盖率

  • 实现生成的代码覆盖率

并重点介绍了 Simulink Design Verifier 测试生成如何帮助您实现这些目标。

Flowchart to describe workflow of test generation.

兼容性注意事项

要使用 Simulink Design Verifier 生成测试,模型必须兼容。不兼容的一个示例是,求解器步骤设置为 variable size检查模型兼容性 包括一些功能,在这些功能下,模型不兼容生成测试。在这些情况下,您必须使用模块替换等方法使模型适合分析。有关详细信息,请参阅模块替换对测试生成的影响

基于需求的测试

Simulink Design Verifier 支持为需求表中的每行生成测试。用户还可以使用规范模型 - 这些模型使用标准的 Simulink 或 Stateflow® 元素和自定义条件设计,作为测试目标。有关基于需求的测试生成的更多信息,请参阅 使用 Requirements Table 模块构建规范模型使用规范模型进行基于需求的测试

需求建模支持的工作流相关信息
使用需求/设定模型生成测试并将其与需求联系起来。从 Requirements Table 模块生成并导出测试
使用自定义模块或 API 定义预期需求条件作为测试目标

分析并解决模型覆盖缺失问题

模型覆盖率使您能够评估测试对设计模型的影响。它有助于识别缺失的需求,并根据覆盖度量突出显示需要改进的测试套件。Simulink Design Verifier 提供工作流来增强测试套件,通过生成模型覆盖度量测试来帮助检测设计中无法到达的部分。

步骤支持的工作流相关信息
实现模型覆盖率生成条件/决策、MCDC 和关系边界度量测试。该度量通过模型定义了模型和 C 代码函数。
识别不可达的逻辑通过模型覆盖率或自定义条件检测无法达到的逻辑。这有助于您评估和申述所发现的任何死逻辑。死逻辑检测
测试模型组件
  • 对模型组件(如原子子系统或通过模型模块引用的模型)执行独立分析。

  • 对来自 Simulink Test™ 的模型组件工作流的测试利用了 Simulink Design Verifier 的测试功能。

实现缺失覆盖率
  • 补充工作流用于生成填补现有测试覆盖范围缺口的测试。

  • 通过 Simulink Test 实现缺失覆盖工作流,利用 Simulink Design Verifier 的测试功能。

分析并解决代码覆盖率缺失问题

从模型生成的代码在嵌入式平台上的后续软件集成步骤中使用。您可以重用模型级测试并测量代码覆盖率。Simulink Design Verifier 有助于生成测试,以解决生成的代码中发现的任何缺失的代码覆盖率。此外,Simulink Design Verifier 支持在模型覆盖测试生成期间记录“预期输出”,从而能够在软件循环环境中使用生成的代码对模型进行背靠背测试。

步骤支持的工作流相关信息
实现生成的代码覆盖率
  • 顶层工作流用于生成填补基于模型测试所无法覆盖的测试。

  • 通过 Simulink Test 实现缺失覆盖工作流,利用 Simulink Design Verifier 的测试功能。

为 Embedded Coder 生成的代码生成测试用例
背靠背测试记录模型覆盖测试的预期输出,并将这些测试导出到 Simulink Test 以实现背靠背测试。
在代码中测试函数为子系统对应的代码函数生成测试为子系统生成测试用例

交叉产品交互

Simulink Design Verifier 通过自动生成测试用例、识别设计错误以及验证 Simulink 模型中的属性,增强了模型验证功能。它可轻松与其他产品交互,提供全面的测试框架。下表描述了 Simulink Design Verifier 与其他产品的交互方式:

产品交互相关信息
Simulink Coverage™
  • 生成的测试的覆盖率报告

  • 目标的筛选和理由说明

Simulink Test
  • 将生成的测试导出到 Simulink Test

  • 利用以下功能生成测试的工作流

    Simulink Test

    是:

    • 模型组件测试

    • 添加缺失覆盖测试

Requirements Toolbox™生成需求表的测试用例并链接从 Requirements Table 模块生成并导出测试

另请参阅

主题