执行功能测试并分析测试覆盖率
功能测试从基于需求构建测试用例开始。这些测试可以涵盖设计的关键方面,并验证各个模型组件是否满足需求。测试用例包括输入、预期输出和验收标准。
通过在测试套件中收集单个测试用例,您可以系统地运行功能测试。为了检查回归,将基线标准添加到测试用例中,并迭代地测试模型。覆盖度量反映了这些测试完全运行模型的程度。覆盖率度量还可以帮助您添加测试和需求,以满足覆盖率目标。
使用测试用例生成递增地增加测试覆盖率
这个例子展示了一个巡航控制模型的基于功能测试的测试工作流。您从一个具有链接到外部需求文档的测试的模型开始,分析模型的覆盖率金宝app®覆盖™,逐步增加覆盖率用金宝appSimulink设计验证器™,并报告结果。
探索测试工具和模型
在工作文件夹中创建项目的副本。在命令行输入:
Path = fullfile(matlabroot,'toolbox','shared','examples',…“验证”、“src”,“巡航”)运行(fullfile(路径,slVerificationCruiseStart))
打开模型和测试装置。在命令行输入:
open_system 金宝appsimulinkCruiseAddReqExample sltest.harness.open('simulinkCruiseAddReqExample','SafetyTest_Harness1')
从加载测试套件根据需求测试模型并报告结果并打开Simulink测试金宝app管理器。在命令行输入:
sltest.testmanager.load sltest.testmanager.view(“slReqTests.mldatx”)
打开测试序列块。序列测试系统在以下情况下脱离:
踩下刹车踏板
速度超过限制
一些测试序列步骤链接到需求文档
金宝appsimulinkCruiseChartReqs.docx
.
度量模型覆盖率
在Simuli金宝appnk测试管理器中,单击
slReqTests
测试文件。要为测试文件启用覆盖率收集,请在下面的右侧页面中覆盖范围设置:
选择记录引用模型的覆盖范围
使用覆盖过滤器文件名指定用于覆盖分析的覆盖筛选器。默认设置遵循模型配置参数设置。将字段保留为空将没有覆盖过滤器。
选择决定,条件,MCDC.
要运行测试,请在“测试管理器”工具栏上单击运行.
当测试完成时,在测试管理器中选择结果。聚合的覆盖结果表明,示例模型实现了50%的决策覆盖、41%的条件覆盖和25%的MCDC覆盖。
生成测试以增加模型覆盖率
使用金宝appSimulink设计验证器生成额外的测试以增加模型覆盖率。在结果和工件,选择
slReqTests
测试文件并打开汇总覆盖率结果位于右侧窗格中的。右键单击测试结果并选择为缺失的覆盖率添加测试.
下利用,选择
创建一个新的挽具
.点击好吧将测试添加到测试套件中金宝appSimulink设计验证器.被测试的模型必须是在MATLAB上®路径或工作文件夹中。
在“测试管理器”工具条上,单击运行执行更新的测试套件。测试结果包括组合测试用例输入的覆盖率,实现了增加的模型覆盖率。
或者,您可以创建和使用测试以编程方式增加覆盖率,方法是使用sltest.testmanager.addTestsForMissingCoverage
而且sltest.testmanager.TestOptions
.
相关的话题
- 链接到需求
- 使用验证语句评估模型仿真
- 比较模型输出和基线数据
- 为模型决策覆盖率生成测试用例(金宝appSimulink Design Verifier)
- 增加模型的测试覆盖率