使用基于matlab的Simulink测试收集覆盖率金宝app
这个例子展示了如何使用基于MATLAB®的Simulink®测试来收集带有测试工具的模型的覆金宝app盖率,并使用MATLAB测试框架在测试管理器中填充结果。基于matlab的Simu金宝applink测试.m
继承的文件测试用例类定义slt。TestCase
.
基于matlab的Simu金宝applink测试文件
基于matlab的Simulink金宝app测试文件,TestHarnessWithModelCoverage.m
,已经创建并提供了此示例。测试文件包含两个测试函数。每个子系统都有一个控制模型来驱动输入数据来测试子系统TestHarnessWithModelCoverage / Subsystem1
并与相应基线进行比较。此测试使用金宝app仿真软件。SimulationOutput
对象在模拟模型时。
classdef TestHarnessWithModelCoverage < sltest。TestCase
方法(测试)函数teststone (testCase) in = testCase. createsimulationinput ('simpleSwitchWithSubsystemIn',…“WithHarness”、“simpleSwitchWithSubsystemIn_Harness1”);simOut = testCase.simulate(in);testCase.verifySignalsMatch (simOut baselineOne.mat);end function testTwo(testCase) in = testCase. createsimulationinput ('simpleSwitchWithSubsystemIn',…“WithHarness”、“simpleSwitchWithSubsystemIn_Harness2”);simOut = testCase.simulate(in);testCase.verifySignalsMatch (simOut baselineTwo.mat);结束结束
结束
创建一个TestRunner和测试套件
创建一个TestRunner
运行sltest_ratelim
模型。
进口matlab.unittest.TestRunner;runner = testrrunner . withtextoutput;
创建一个TestSuite
与TestRunner
.
套件= testsuite(“TestHarnessWithModelCoverage”);
配置测试运行程序
使用插件方法配置TestRunner
控件的测试结果slt。TestCase
到测试管理器。添加TestRunnerPlugin
到TestRunner
.
进口sltest.plugins.MATLABTestCaseIntegrationPlugin;runner.addPlugin (MATLABTestCaseIntegrationPlugin);
的DiagnosticsOutputPlugin
和ToTestManagerLog
流中的诊断slt。TestCase
的日志TestCaseResults
在测试经理
.诊断包括为通过的测试传递诊断。添加DiagnosticsOutputPlugin
而且ToTestManagerLog
到TestRunner
.
进口sltest.plugins.ToTestManagerLog;进口matlab.unittest.plugins.DiagnosticsOutputPlugin;streamOutput = ToTestManagerLog();diagnosticsOutputPlugin = diagnosticsOutputPlugin...(streamOutput“IncludingPassingDiagnostics”,真正的);runner.addPlugin (diagnosticsOutputPlugin);
为Simulink模型配置覆盖率收集金宝app
中的模型slt。TestCase
模拟的模拟
方法可以收集覆盖率。使用ModelCoveragePlugin
配置覆盖率度量收集。本示例收集MCDC覆盖率。添加ModelCoveragePlugin
到TestRunner
.
进口sltest.plugins.coverage.CoverageMetrics;进口sltest.plugins.ModelCoveragePlugin;mcdcMetrics = coveragmetrics (“MCDC”,真正的);runner.addPlugin (ModelCoveragePlugin (“收集”mcdcMetrics));
收集并向测试管理器添加覆盖率和测试结果
既然TestRunner
是完全配置的,使用运行
功能来收集覆盖率,并将覆盖率和测试结果添加到测试管理器。
运行(跑步、套房);
设置ResultSetFixture完成设置ResultSetFixture __________运行TestHarnessWithModelCoverage ..Done TestHarnessWithModelCoverage __________ Coverage Report for simpleSwitchWithSubsystemIn/Subsystem1 /tmp/Bdoc22b_2134332_1852116/tpa80d2f9b_1ef5_4684_b2c2_6cd1dbc57a90.html
运行
还生成一个报告,其中包含所运行的测试套件的累计覆盖率。使用sltest_ratelim的覆盖率报告
链接查看报告。
打开测试管理器
sltestmgr
选择结果和工件窗格并展开结果而且BaselineTestWithCoverage行。
选择testOne
行。
的覆盖率结果部分显示收集的覆盖范围sltest_ratelim
从testOne
.
选择testTwo
行。
的覆盖率结果部分显示收集的覆盖范围sltest_ratelim
从testTwo
.
选择BaselineTestWithCoverage
行。
的汇总覆盖率结果部分显示收集的覆盖的聚合sltest_ratelim
从testOne
而且testTwo
.聚合的结果显示了对指定的覆盖度量的完全覆盖。