通过生成测试输入提高测试覆盖范围。
如果您的测试实现不完整的模型覆盖,可以通过使用Simulink®Design Verifier™产生测试输入来增加覆盖范围。万博1manbetx此示例显示如何提高超出初始测试用例的测试覆盖范围。您衡量了测试用例的初始覆盖范围。然后,生成新的测试用例,将它们添加到测试套件,运行测试,并查看聚合覆盖范围。
此示例使用Simulink Desi万博1manbetxgn Verifier和Simulink®Cockage™。
此示例使用测试线束测试自动驾驶仪系统的组件。来自基础工作空间的时间序列数据被映射到测试线束中的root Inports。测试文件配置为收集覆盖范围。
示例工作流程是:
测量初始测试用例的模型覆盖范围。
生成其他测试以实现更大的覆盖范围。
将新的测试用例添加到测试文件中。
运行所有测试用例并审查总覆盖范围。
为示例设置路径和文件名。
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);