主要内容

使用基于MATLAB的SIMULINK测试收集覆盖范围金宝app

此示例显示如何使用基于MATLAB的SIMULINK测试来收集具有测试线束的模型上的覆盖范金宝app围,并使用MATLAB测试框架填充测试管理器中的结果。基于MATLAB的SIMU金宝appLINK测试是.m文件测试案例类定义继承自sltest.testcase.

基于MATLAB的SIMU金宝appLINK测试文件

基于MATLAB的SIMULINK金宝app测试文件,testharnesswithmodelcoverage.m,已创建并提供此示例。测试文件包含两个测试功能。每个人都有一个线束模型来驱动输入数据来测试子系统testharnesswithmodelcoverage / subsystem1.并与相应的基线进行比较。这项测试用途金宝appsimulink.simulationOutput.模拟模型时对象。

classdef testharnesswithmodelcoverage 
            
方法(测试)函数睾丸(testcase)In = testcase.createsimulationInput('simpleSwitchwithsubsubsystemin',...'hyharness','simpleswitchwithsubsubystemin_harness1');simout = testcase.simulate(in);testcase.verifySignalSmatch(simout,'baselineone.mat');结束函数testtwo(testcase)in = testcase.createsimulationInput('simpleSwitchwithsubsystemin',...'hyharness','simpleswitchwithsubsubystemin_harness2');simout = testcase.simulate(in);testcase.verifySignalSmatch(Simout,'baselinetwo.mat');结束
结尾

创建一个testrunner和testsuite

创建一个TestRunner.运行sltest_ratelim.模型。

进口matlab.unittest.testrunner.;runner = testrunner.withtextoutput;

创建一个testsuite.与之使用TestRunner.

套房= testsuite('testharnesswithmodelcoverage');

配置测试赛道

使用插件方法配置TestRunner.添加测试结果sltest.testcase.到测试管理器。添加testrunnerplugin到了TestRunner.

进口sltest.plugins.matlabtestCaseIntegrationPlugin.;runner.addplugin(matlabtestcaseintegrationplugin);

DIPATOSTICSOUTPUTPLUGIN.totest managerlog.将诊断流自诊断sltest.testcase.跑到日志testcaseresults.在里面测试经理。诊断包括传递诊断以进行传递的测试。添加DIPATOSTICSOUTPUTPLUGIN.totest managerlog.到了TestRunner.

进口sltest.plugins.totestManagerlog.;进口matlab.unittest.plugins.diagnosticsoutputplugin.;Streamoutput = totestmanagerlog();diagnosticsoutputplugin = diagnosticsoutputplugin.......(Streamoutpul,'包括广泛的迪涅斯蒂斯',真的);runner.addplugin(diagnosticsoutputplugin);

为Simulink模型配置Coverage集合金宝app

在AN的模型sltest.testcase.使用该模拟模拟方法可以收集覆盖范围。使用modelcoverageplugin.配置Coverage指标集合。此示例收集MCDC覆盖范围。添加modelcoverageplugin.到了TestRunner.

进口sltest.plugins.coverage.CoverageMetrics.;进口sltest.plugins.modelcoverageplugin;McDcmetrics = CoverageMetrics('MCDC',真的);runner.addplugin(modelcoverageplugin('收集',mcdcmetrics)));

收集并添加覆盖范围并对测试管理器添加测试结果

现在是TestRunner.完全配置,使用跑步函数收集覆盖范围并将覆盖范围和测试结果添加到测试管理器上。

运行(跑步者,套房);
设置ResultSetFixture设置完ResultSetFixture __________运行TestHarnessWithModelCoverage ..做TestHarnessWithModelCoverage __________对于simpleSwitchWithSubsystemIn / Subsystem1 /tmp/Bdoc21a_1626862_63905/tp36f6c562_d6c2_4e1f_8d4c_de10e9f92437.html撕裂覆盖率报告下来ResultSetFixture完成拆除ResultSetFixture __________

跑步还生成一个报告,其中包括运行的测试套件的累积覆盖范围。使用SLTEST_RATELIM的覆盖报告链接查看报告。

打开测试管理器

Sltestmgr.

选择结果和文物窗格扩展结果BaselInetestWithCoverage.行。

选择睾丸排。

覆盖结果部分显示收集的覆盖范围sltest_ratelim.睾丸

选择testtwo.排。

覆盖结果部分显示收集的覆盖范围sltest_ratelim.testtwo.

选择BaselInetestWithCoverage.排。

汇总覆盖结果部分显示收集的覆盖范围的聚合sltest_ratelim.睾丸testtwo.。聚合结果显示了指定的覆盖度量标准的全部覆盖范围。