主要内容

使用基于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;

创建一个TestSuiteTestRunner

套件= testsuite(“TestHarnessWithModelCoverage”);

配置测试运行程序

使用插件方法配置TestRunner控件的测试结果slt。TestCase到测试管理器。添加TestRunnerPluginTestRunner

进口sltest.plugins.MATLABTestCaseIntegrationPlugin;runner.addPlugin (MATLABTestCaseIntegrationPlugin);

DiagnosticsOutputPluginToTestManagerLog流中的诊断slt。TestCase的日志TestCaseResults测试经理.诊断包括为通过的测试传递诊断。添加DiagnosticsOutputPlugin而且ToTestManagerLogTestRunner

进口sltest.plugins.ToTestManagerLog;进口matlab.unittest.plugins.DiagnosticsOutputPlugin;streamOutput = ToTestManagerLog();diagnosticsOutputPlugin = diagnosticsOutputPlugin...(streamOutput“IncludingPassingDiagnostics”,真正的);runner.addPlugin (diagnosticsOutputPlugin);

为Simulink模型配置覆盖率收集金宝app

中的模型slt。TestCase模拟的模拟方法可以收集覆盖率。使用ModelCoveragePlugin配置覆盖率度量收集。本示例收集MCDC覆盖率。添加ModelCoveragePluginTestRunner

进口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_ratelimtestOne

选择testTwo行。

覆盖率结果部分显示收集的覆盖范围sltest_ratelimtestTwo

选择BaselineTestWithCoverage行。

汇总覆盖率结果部分显示收集的覆盖的聚合sltest_ratelimtestOne而且testTwo.聚合的结果显示了对指定的覆盖度量的完全覆盖。