通过生成测试输入来增加测试覆盖范围。
如果您的测试获得不完整的模型覆盖范围,则可以通过使用Simulink®DesignVerifier™生成测试输入来增加覆盖范围。金宝app此示例显示了如何将测试覆盖率增加到初始测试案例之外。您可以测量测试案例的初始覆盖范围。然后,您生成新的测试用例,将它们添加到测试套件中,运行测试并查看总覆盖范围。
此示例使用Simulink Desi金宝appgn验证仪和Simulink®Coverage™。
此示例使用测试线束测试自动驾驶系统的组件。基本工作区的时间序列数据被映射到测试安全带中的根源。测试文件配置为收集覆盖范围。
示例工作流是:
Measure model coverage of the initial test case.
Generate additional tests to achieve greater coverage.
将新测试用例添加到测试文件中。
运行所有测试用例并查看总覆盖范围。
为示例设置路径和文件名。
RollModel ='RollAutopilotRevised';testharness ='RollReference_loggedDatatest';testfile ='Rollreftest.mldatx';
1. Ensure the working folder is writable.
2.打开测试文件。
sltest.testmanager.view;sltest.testmanager.load(testfile);
3.运行测试。在里面测试浏览器,突出显示记录数据和覆盖范围测试套件。Click跑。
4.测试完成后,在test results, expand theCoverage Results部分。该测试实现了部分覆盖卷引用
子系统。
决策范围:80%
条件覆盖范围:70%
MCDC 25%
为缺少覆盖范围生成其他测试。
1.在覆盖范围下方,单击添加测试以缺少覆盖范围。
2.在添加测试以缺少覆盖范围对话框,设置以下选项:
马具:RollReference_loggedDatatest
。这将新的测试输入映射到现有的测试安全带。
测试用例:创建一个新的测试用例
。This creates a new test case with the generated test inputs.
测试类型::基线测试
。这给出了从模型中捕获基线数据输出的选项。
测试文件::Rollreftest
。这重新使用了现有的测试文件。
3.点击OK。A dialog box shows progress of the test case generation. When test case generation is complete, a new test case appears in the Test Manager.
1.将新测试用例剪切并粘贴到记录数据和覆盖范围测试套件。
2.运行记录数据和覆盖范围再次测试套件。
3.仿真完成时,结果和工件部分,选择结果集并展开汇总结果。测试套件获得完整的覆盖范围:
决定:100%
Condition: 100%
MCDC:100%
Clear variables and test results, and close the model.
clearreqDocRollmodelTestfile测试topModel;sltest.testmanager.clearresults;sltest.testmanager.close;CLOSS_SYSTEM('RollAutopilotRevised',0);