主要内容

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

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

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

功能测试工作流

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

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

探索测试工具和模型

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

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

  2. 打开模型和测试装置。在命令行输入:

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

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

  4. 打开测试序列块。序列测试系统在以下情况下脱离:

    • 踩下刹车踏板

    • 速度超过限制

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

度量模型覆盖率

  1. 在Simuli金宝appnk测试管理器中,单击slReqTests测试文件。

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

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

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

    • 选择决定条件,MCDC

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

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

    覆盖率结果

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

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

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

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

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

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

或者,您可以创建和使用测试以编程方式增加覆盖率,方法是使用sltest.testmanager.addTestsForMissingCoverage而且sltest.testmanager.TestOptions

相关的话题