通过生成测试输入来增加测试覆盖率。
如果您的测试实现了不完整的模型覆盖率,您可以通过使用Simulink®Design Verifier™生成测试输入来增加覆盖率。金宝app这个例子展示了如何在初始测试用例之外增加测试覆盖率。您度量测试用例的初始覆盖率。然后,您生成新的测试用例,将它们添加到测试套件中,运行测试,并检查聚合的覆盖率。
本例使用Simulink Desig金宝appn Verifier和Simulink®Coverage™。
这个例子使用测试装置测试自动驾驶系统的一个组件。来自基本工作区的时间序列数据被映射到测试工具中的根导入。测试文件被配置为收集覆盖率。
示例工作流是:
度量初始测试用例的模型覆盖率。
生成额外的测试以获得更大的覆盖率。
将新的测试用例添加到测试文件中。
运行所有的测试用例并检查聚合的覆盖率。
为示例设置路径和文件名。
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);