主要内容

增加模型的测试覆盖率

通过生成测试输入来增加测试覆盖率。

如果您的测试实现了不完整的模型覆盖率,您可以通过使用Simulink®Design Verifier™生成测试输入来增加覆盖率。金宝app这个例子展示了如何在初始测试用例之外增加测试覆盖率。您度量测试用例的初始覆盖率。然后,您生成新的测试用例,将它们添加到测试套件中,运行测试,并检查聚合的覆盖率。

本例使用Simulink Desig金宝appn Verifier和Simulink®Coverage™。

工作流

这个例子使用测试装置测试自动驾驶系统的一个组件。来自基本工作区的时间序列数据被映射到测试工具中的根导入。测试文件被配置为收集覆盖率。

示例工作流是:

  1. 度量初始测试用例的模型覆盖率。

  2. 生成额外的测试以获得更大的覆盖率。

  3. 将新的测试用例添加到测试文件中。

  4. 运行所有的测试用例并检查聚合的覆盖率。

路径和示例文件

为示例设置路径和文件名。

rollModel =“RollAutopilotRevised”;testHarness =“RollReference_LoggedDataTest”;测试文件=“RollRefTest.mldatx”

运行初始测试和评审覆盖率

1.确保工作文件夹是可写的。

2.打开测试文件。

sltest.testmanager.view;sltest.testmanager.load(测试文件);

3.运行测试。在测试浏览器,强调了记录数据及覆盖范围测试套件中。点击运行

4.测试完成后,在测试结果中,展开覆盖率结果部分。测试实现部分覆盖卷参考子系统。

  • 决定覆盖率:80%

  • 条件覆盖:70%

  • MCDC 25%

生成测试以增加模型覆盖率

为缺失的覆盖率生成额外的测试。

1.在覆盖率结果下面,单击为缺失的覆盖率添加测试

2.在为缺失的覆盖率添加测试对话框中,设置以下选项:

  • 利用:RollReference_LoggedDataTest.这将新的测试输入映射到现有的测试工具。

  • 测试用例创建一个新的测试用例.这将使用生成的测试输入创建一个新的测试用例。

  • 测试类型:基准测试.这提供了从模型为生成的测试捕获基线数据输出的选项。

  • 测试文件:RollRefTest.这将重用现有的测试文件。

3.点击好吧.一个对话框显示了测试用例生成的进度。当测试用例生成完成时,一个新的测试用例出现在测试管理器中。

运行新测试用例

1.将新的测试用例拖放到记录数据及覆盖范围测试套件中。

2.运行记录数据及覆盖范围再次测试套件。

3.仿真完成后,在结果和工件部分,选择结果集并展开聚合覆盖率结果.测试套件实现了完整的覆盖范围:

  • 决定:100%

  • 条件:100%

  • MCDC: 100%

清理

清除变量和测试结果,关闭模型。

清晰的reqDocrollModel测试文件testHarnesstopModel;sltest.testmanager.clearResults;sltest.testmanager.close;close_system (“RollAutopilotRevised”, 0);

相关的话题