主要内容

执行功能测试并分析测试覆盖率

功能测试从基于需求构建测试用例开始。这些测试可以覆盖设计的关键方面,并验证各个模型组件是否满足需求。测试用例包括输入、预期输出和接受标准。

通过在测试套件中收集单个测试用例,您可以系统地运行功能测试。为了检查回归,将基线标准添加到测试用例中,并迭代地测试模型。覆盖率度量反映了这些测试完全运行模型的程度。覆盖度量还帮助您添加测试和需求,以满足覆盖目标。

功能测试工作流

使用测试用例生成增量地增加测试覆盖率

这个例子展示了一个巡航控制模型的基于功能测试的测试工作流。您从一个具有链接到外部需求文档的测试的模型开始,分析模型的覆盖率动态仿真模块®覆盖™,逐步增加覆盖率Simulink设计验证器™,并报告结果。

探索测试工具和模型

  1. 在工作文件夹中创建项目的副本。在命令行中输入:

    Path = fullfile(matlabroot,'toolbox','shared','examples',…“验证”、“src”,“巡航”)运行(fullfile(路径,slVerificationCruiseStart))

  2. 打开模型和测试工具。在命令行中输入:

    open_system simulinkCruiseAddReqExample sltest.harness.open('simulinkCruiseAddReqExample','SafetyTest_Harness1')
  3. 从加载测试套件根据需求测试模型并报告结果(仿真软件测试)并打开Simulink测试管理器。在命令行中输入:

    sltest.testmanager.load sltest.testmanager.view(“slReqTests.mldatx”)

  4. 打开测试序列块。该序列测试当:

    • 踩下刹车踏板

    • 速度超过限制

    一些测试序列步骤链接到需求文档simulinkCruiseChartReqs.docx

测量模型覆盖率

  1. 在Simulink测试管理器中,单击slReqTests测试文件。

  2. 要启用测试文件的覆盖收集,请在右页下面覆盖范围设置

    • 选择记录引用模型的覆盖率

    • 使用覆盖过滤器文件名指定用于覆盖率分析的覆盖率筛选器。默认设置遵循模型配置参数设置。如果字段为空,则没有覆盖过滤器。

    • 选择决定条件,MCDC

  3. 要运行测试,请在“测试管理器”工具条上单击运行

  4. 当测试完成时,在测试管理器中选择结果。聚合覆盖率结果表明,示例模型实现了50%的决策覆盖率、41%的条件覆盖率和25%的MCDC覆盖率。

    覆盖率结果

生成测试以增加模型覆盖率

  1. 使用Simulink设计验证器生成额外的测试以增加模型覆盖率。在结果和工件,选择slReqTests测试文件并打开聚合覆盖率结果位于右窗格中的。

  2. 右键单击测试结果并选择为遗漏的覆盖率添加测试

  3. 利用,选择创建一个新的挽具

  4. 点击好吧向测试套件中添加测试Simulink设计验证器。被测试的模型必须在MATLAB上®路径或工作文件夹中。

  5. 在测试管理器工具条上,单击运行执行更新后的测试套件。测试结果包括组合测试用例输入的覆盖率,实现了增加的模型覆盖率。

或者,您可以创建和使用测试以编程方式通过使用sltest.testmanager.addTestsForMissingCoverage(仿真软件测试)而且sltest.testmanager.TestOptions(仿真软件测试)

相关的话题

Baidu
map