利用基于matlab的仿真软件测试模型的测试金宝app
一个MATLAB®基于仿真软件金宝app®测试是定义在一个MATLAB代码(。m
MATLAB中创建的)文件,然后打开,运行,测试经理和查看结果。测试文件是一个类继承自定义文件sltest.TestCase
。继承允许您在测试经理打开测试文件。当您打开一个MATLAB测试文件测试经理,似乎和行为相同的测试创建的测试经理,虽然与一些有限的功能基于MATLAB的测试的局限性)。除了使用MATLAB测试在测试经理,您可以使用MATLAB在命令行测试像其他单元测试文件。
因为这些测试文件是文本(。m
)文件,您可以编辑,比较与其他合并。m
测试文件,链接的文件要求。相比之下,测试文件中创建测试经理或通过使用金宝app仿真软件测试™API作为二进制MLDATX保存文件。
类和方法
TestCase类和方法
的sltest.TestCase
类和方法与MATLAB具体工作测试。您可以使用这些方法在测试文件和命令行,除了sltest.TestCase.forInteractiveUse
,这只会在命令行中使用。除了这些方法,您可以使用matlab.unittest.TestCase
用MATLAB测试方法。
类的继承 |
|
负荷模型 |
|
模拟模型 |
|
假设两组数据是等价的 |
|
维护两套数据是等价的 |
|
致命的维护两套数据是等价的 |
|
验证两组数据是等价的 |
|
为使用在命令行创建测试用例 |
|
创建临时文件夹,删除时超出范围的测试用例 | |
createSimulationInput |
创建金宝appSimulink.SimulationInput 或sltest.harness.SimulationInput 对象。 |
测试工具类
sltest.harness.SimulationInput
创建一个对象,您可以使用它来指定变化在模拟应用于测试工具。除了使用这个类为基于MATLAB的仿真软件测试,您可以使用它在其他MATLAB代码。金宝app
测试运行器方法
这些方法的matlab.unittest.TestRunner
特别适用于基于matlab仿真软件测试。金宝app
addModelCoverage
使用测试运行器——允许模型覆盖集合。而不是使用这种方法,如果你打开你的基于matlab仿真软件测试中测试文件管理器,您可以启用覆盖集合。金宝appadd金宝appSimulinkTestResults
将测试结果推到仿真软件测试经理。金宝app
插件类
这些sltest.plugins
类为基于matlab的启用功能测试。除了这些方法,您可以使用sltest.plugins
与这些测试类。插件可以被附加到一个matlab.unittest.TestRunner
启用运行时功能sltest.TestCase
测试。
启用MATLAB集成测试模拟与测试经理和测试结果 |
|
使写作文本输出测试经理的结果记录信号测试经理的窗格 |
|
启用收集模型覆盖 |
创建一个基线MATLAB的金宝app测试
创建一个基线MATLAB测试:
创建一个MATLAB代码(
。m
)文件,它定义了测试用例。您可以启动MATLAB从命令行编辑器,或测试经理使用新>基于matlab的仿真软件金宝app测试(m)。看到作者在MATLAB基于类的单元测试。唯一的区别为MATLAB测试类必须继承
sltest.TestCase
,而不是从matlab.unittest.TestCase
。这个示例MATLAB测试文件包括一个测试,定义的
testOne
函数。当您运行测试的测试经理、测试加载模型命名sltestMATLABBasedTestExample
。然后设置的值gain2_var
变量,模拟模型。最后,测试比较模型模拟输出垫基线数据文件。classdef myTest < slt。测试Case methods (Test) function testOne(testCase) testCase.loadSystem... ('sltestMATLABBasedTestExample'); evalin('base','gain2_var = 2.01;'); simOut = testCase.simulate... ('sltestMATLABBasedTestExample'); testCase.verifySignalsMatch(simOut,'baselineOne.mat',... 'AbsTol',0.015); end end end
如果您正在使用一个测试工具,代替
simOut
线在上面的MATLAB测试文件simOut = testCase.simulate (“sltestMATLABBasedTestExample”,…“WithHarness”、“sltestMATLABBasedTestExample_harness1”);
simOut
与在= testCase.createSimulationInput (“sltestMATLABBasedTestExample”,…“WithHarness”、“sltestMATLABBasedTestExample_harness1”);在= in.setModelParameter (“StopTime”,“10”) simOut = testCase.simulate(的);
如果一个基线数据MAT-file不存在或如果你需要更新它,在MATLAB命令行,使用:
runtests(<测试>,“GenerateBaselines”,真正的)
示例文件,
<测试>
是““myTest / testOne”
。当您生成基线时,测试开始运行。它停下来打开一个模拟数据检查报告,并在MATLAB命令行提示您复审基线数据。批准的数据时,它将基线数据保存到一个新的文件或更新现有的MAT-file垫。然后,测试继续运行,但是失败了,因为新的或更新的基线数据不包括在当前运行。重新运行测试使用
runtests
命令来使用新的或更新的基准和产生传递的效果。你也可以重新运行测试通过使用黄色重新运行
超链接在命令行。您可以选择,如果你有一个金宝app仿真软件覆盖™许可,可以覆盖集合包含在您测试使用
sltest.plugins.ModelCoveragePlugin
。看到收集使用基于matlab的仿真软件测试覆盖金宝app一个例子和覆盖率收集信息。或者,您可以使用测试经理收集覆盖率。当你打开测试文件测试经理,选择测试文件,选择一个覆盖范围设置选项,并选择覆盖率指标。文件中的测试套件和测试用例继承覆盖设置从测试文件。如果你设置覆盖集合和指标测试经理,您不需要导入或覆盖插件添加到
跑步者
。如果你设置覆盖指标的测试经理,然后关闭测试经理,覆盖设置不保存到基于matlab的Simulink仿真测试代码(金宝app
。m
)文件。您可以选择,如果你有一个要求工具箱™许可证,您可以添加需求。打开测试经理和更新测试文件。
点击开放>开放的基于matlab仿真软件测试(金宝appm)并选择测试文件。测试文件加载及其层次结构显示在测试测试浏览器窗格。如果您选择测试文件,需求和测试文件内容窗格显示在测试经理。
添加通过扩大需求需求部分通过点击添加打开外部链接编辑器。看到链接到需求添加的信息需求。
更新MATLAB代码(
。m
从测试经理)测试文件,单击在MATLAB编辑器中开启测试链接。在你编辑的代码文件并保存您的更改,或添加覆盖或需求之后,返回到测试经理和点击同步按钮
接下来的测试文件测试浏览器窗格。
运行测试,查看结果,并创建一个测试结果报告。
或者,而不是增加覆盖率(步骤4)和运行测试在测试经理(步骤8),您可以使用这些命令在MATLAB命令行添加覆盖,运行测试,测试经理,推动的结果。然后,当你打开测试经理,显示测试结果。
套件= testsuite (“mytest”);跑步者= testrunner (“textoutput”);runner.addModelCoverage (…“CollectMetrics”(“MCDC”、“条件”));runner.add金宝appSimulinkTestResults (“ExportToFile”,…“testmgr_results.mldatx”);runner.run(套);
从一个链接到需求MATLAB的金宝app测试文件
请注意
你必须有需求的工具箱包括需求链接。
添加链接要求从文件正在编辑在MATLAB编辑器中,看到的需求跟踪的MATLAB代码(需求工具箱)。为MATLAB测试文件,添加链接使用相同的过程。然而,你选择的文本MATLAB代码(。m
)文件确定链接的类型和测试它是补充道。如果您选择:
类定义行(例如,
classdef myClass < sltest.TestCase
)——添加一个验证了
链接整个测试文件文本在一个测试函数,添加一个
验证了
链接的功能跨多个测试函数,添加一个文本
验证了
链接的第一个函数的选择其他任何文本选择——添加一个
有关
链接选择
添加需求链接后,您可以查看在需求编辑器中点击的验证状态显示>验证状态。更新的状态验证了
要求,右键单击并选择要求运行测试。看到评审需求验证状态(需求工具箱)。
链接,您创建的MATLAB代码(。m
)文件中出现需求部分的测试经理。链接到需求的测试经理工作描述的一样链接到需求。
当你有需求编辑器打开并点击MATLAB测试传入链接,如果你有一个金宝app仿真软件测试许可证,打开测试经理和相关的测试。如果没有许可证,MATLAB编辑器打开,去行代码相关的要求。
参数化测试,需求的工具箱不支持链接到个人参金宝app数化版本的测试。在你的。m
文件,如果你从参数化测试要求创建一个链接,链接相关联的所有版本的测试。在测试经理,如果你创建一个链接从一个版本的参数化测试要求,与所有版本的测试相关的链接。
的局限性MATLAB——基于测试
基于matlab的仿真软件金宝app测试不支持:金宝app
基线测试以外的测试类型。
并行运行测试。
运行测试在多个版本。
测试标签和描述。
回调。(然而,尽管不支持回调的测试经理基于matlab的测试,您可以使用金宝app
TestClassSetup
和TestMethodSetup
,或在你的设备。m
文件来实现类似的功能。看到编写Setup和Teardown代码使用类。)逻辑和时间评估。
使覆盖集合或改变覆盖率度量测试套件测试经理或测试文件级别。
节约覆盖设置测试基于MATLAB的仿真软件MATLAB代码(金宝app
。m
从测试经理)文件。
另请参阅
add金宝appSimulinkTestResults
|addModelCoverage
|sltest.TestCase
|matlab.unittest.TestCase
|matlab.unittest.TestRunner