主要内容

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

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

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

功能测试工作流

使用测试用例生成以增量方式增加测试覆盖率

此示例显示了巡航控制模型的基于功能测试的测试工作流。从具有链接到外部需求文档的测试的模型开始,在中分析模型的覆盖率金宝app®新闻报道™,使用金宝appSimulink设计验证程序™,并报告结果。

探索测试线束和模型

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

    path = fullfile(matlabroot,'toolbox','shared','simear',...'验证','src','cruise')运行(fullfile(path,'slverificedcruisestart'))

  2. 打开模型和测试线束。在命令行中,输入:

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

    sltest.testmanager.load('slReqTests.mldatx')sltest.testmanager.view

  4. 打开测试序列块。序列测试系统脱离:

    • 踩下制动踏板

    • 速度超限

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

测量模型覆盖率

  1. 在Simuli金宝appnk测试管理器中,单击斯莱克斯特测试文件。

  2. 要为测试文件启用覆盖库,请在右侧页面下覆盖范围设置:

    • 选择记录参考模型的覆盖率

    • 使用覆盖过滤器文件名指定用于覆盖率分析的覆盖率筛选器。默认设置接受模型配置参数设置。将字段留空不会附加覆盖率筛选器。

    • 选择决定,条件MCDC.

  3. 要在Test Manager ToolStrip上运行测试,请单击.

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

    覆盖率结果

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

  1. 使用金宝appSimulink设计验证程序生成附加测试以增加模型覆盖率。在里面结果和伪影,选择斯莱克斯特测试文件并打开聚合覆盖率结果部分位于右侧窗格中。

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

  3. 在下面马具选择创造一个新的线束.

  4. 点击好的使用将测试添加到测试套件中金宝appSimulink设计验证程序. 正在测试的模型必须位于MATLAB路径或工作文件夹中。

  5. 在Test Manager ToolStrip上,单击执行更新的测试套件。测试结果包括组合测试用例输入的覆盖范围,实现了增加的模型覆盖范围。

相关话题