主要内容

增加模型的测试覆盖范围

通过生成测试输入提高测试覆盖范围。

如果您的测试实现不完整的模型覆盖,可以通过使用Simulink®Design Verifier™产生测试输入来增加覆盖范围。万博1manbetx此示例显示如何提高超出初始测试用例的测试覆盖范围。您衡量了测试用例的初始覆盖范围。然后,生成新的测试用例,将它们添加到测试套件,运行测试,并查看聚合覆盖范围。

此示例使用Simulink Desi万博1manbetxgn Verifier和Simulink®Cockage™。

工作流程

此示例使用测试线束测试自动驾驶仪系统的组件。来自基础工作空间的时间序列数据被映射到测试线束中的root Inports。测试文件配置为收集覆盖范围。

示例工作流程是:

  1. 测量初始测试用例的模型覆盖范围。

  2. 生成其他测试以实现更大的覆盖范围。

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

  4. 运行所有测试用例并审查总覆盖范围。

路径和示例文件

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

Rollmodel ='rollautopilotrevised';testharness ='rollreference_loggeddatty';testfile ='rollreftest.mldatx';

运行初始测试和审查报道

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

2.打开测试文件。

sltest.testmanager.view;sltest.testmanager.load(testfile);

3.运行测试。在里面测试浏览器,突出显示记录数据和覆盖范围测试套件。点击跑步

4.测试完成后,在测试结果中,扩展覆盖结果部分。测试实现了部分覆盖滚动参考子系统。

  • 决策覆盖范围:80%

  • 条件覆盖范围:70%

  • MCDC 25%

生成测试以增加模型覆盖范围

为缺少覆盖产生额外的测试。

1.在覆盖结果下方,点击添加缺失覆盖的测试

2.在添加缺失覆盖的测试对话框,设置这些选项:

  • 马具:rollreference_loggeddattest.。这将新的测试输入映射到现有的测试线束。

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

  • 测试类型:基线测试。这为捕获生成的测试的模型中捕获基线数据输出的选项。

  • 测试文件:RollReftest。此重新使用现有的测试文件。

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

运行新的测试用例

1.将新的测试用例切成剪切并粘贴到记录数据和覆盖范围测试套件。

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

3.仿真完成后,在结果和文物部分,选择结果集并展开汇总覆盖结果。测试套件实现完整的覆盖范围:

  • 决定:100%

  • 条件:100%

  • MCDC:100%

清理

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

清除reqdoc.Rollmodel.testfile.testharness.超模;sltest.testManager.ClearResults;sltest.testManager.Close;close_system('rollautopilotrevised',0);