为 Embedded Coder 生成的代码生成测试用例
当您使用 Embedded Coder® 从设置为软件在环(SIL) 模式的模型生成代码时,您可以使用 Simulink® Coverage™ 记录生成的代码的覆盖率度量。但是,使您能够实现 100%模型覆盖率的相同测试可能无法为生成的代码提供 100% 的覆盖率。输出代码和模型之间的一些差异可能会导致代码覆盖率与模型覆盖率存在差距:
额外的自定义代码文件
共享实用工具文件
代码转换,例如:
表达式折叠
简化或扩展表达
查找表产生的新决策点
您可以使用 Simulink Design Verifier™ 来生成测试用例,以增加生成代码的覆盖率。您可以使用 Simulink Design Verifier API 或从 Simulink Test™ 测试管理器从模块图为生成的代码生成测试用例。在生成测试用例之前,您需要至少记录一次覆盖率结果。
从 Simulink 模型工具条生成代码的测试用例
在为模型启用 SIL 代码覆盖率 (Simulink Coverage)、仿真模型并记录代码覆盖率数据后,您可以使用 Simulink Design Verifier 为生成的代码生成其他测试用例:
在 Design Verifier 选项卡的模式部分中,选择测试生成。
要为作为顶层模型生成的代码生成测试,请选择目标 > 生成的顶层模型代码,然后点击生成测试。
要为作为模型参考生成的代码生成测试,请选择目标 > 生成的模型引用代码,然后点击生成测试。
Simulink Design Verifier 测试生成根据您选择的测试生成模式进行。
要详细了解作为顶层模型生成的代码和作为模型参考生成的代码之间的差异,请参阅:
配置并运行 SIL 仿真 (Embedded Coder)
SIL 和 PIL 的代码接口 (Embedded Coder)
选择 SIL 或 PIL 方法 (Embedded Coder)
使用 Simulink Design Verifier API 为生成的代码生成测试用例
有关如何以编程方式为生成的代码生成测试用例的示例,请参阅 代码覆盖率测试生成。
从 Simulink Test 测试管理器生成代码的测试用例
如果您使用 Simulink Test 测试管理器记录设置为 SIL 模式的模型的代码覆盖率,则可以直接从测试管理器逐步增加生成的代码的覆盖率。有关详细信息,请参阅 执行功能测试并分析测试覆盖率。