主要内容

测试迭代

你可以与不同的数据或配置运行相同的测试用例集使用迭代的测试用例。迭代可以使用不同的:

  • 参数

  • 外部输入

  • 配置设置

  • 信号编辑器场景

  • 测试序列场景

  • 基线数据

  • 模拟模式

设置迭代中迭代部分的测试用例。你可以使用的表创建迭代的迭代部分测试经理或使用一个脚本。

在迭代中使用测试序列场景,首先,在输入节中,设置测试序列块块包含场景。然后,选择一个场景覆盖的场景使用场景作为默认为每个迭代。如果你不选择一个场景中,活跃的场景测试序列块作为默认值。使用测试序列的场景列在表中修改迭代的场景。有关更多信息,请参见用测试序列场景在测试序列编辑器和测试经理

使用不同的仿真模式,如正常和software-in-the-loop(银),基线或模拟测试,首先,建立测试用例。然后,在迭代表,点击自动生成。汽车产生的迭代对话框中,选择模拟模式和一个或多个其他选项。对于每个选项,创建的迭代的数量翻了一倍,一个模式的模型,一个用于SIL模式。

如果测试收集的范围使用金宝app®覆盖™,同样的覆盖设置适用于所有迭代的测试用例。

你是否使用表或脚本迭代,您可以看到通过单击迭代的测试用例显示迭代按钮。

创建表迭代

表迭代提供一个快速的方法添加模型中基于迭代的项目或测试用例。首先创建迭代的表,显示适当的列:

  1. 扩大迭代>表迭代部分。

  2. 在表中,通过点击添加或删除列+按钮,选择列表中的项目。例如,选择显示参数和配置集,选择参数集配置设置物品。

    表迭代列选择选项

手动添加迭代

  1. 手动添加迭代,点击添加。表显示一个新的迭代的行。

  2. 分配一个迭代名称并选择项目的迭代。例如,这个测试用例有四个迭代。每次迭代中使用一个外部输入和基线数据的不同组合。

    表的迭代

生成表迭代

您也可以从您的测试用例中的数据自动生成迭代和模型:

  1. 单击自动生成按钮。

  2. 选择生成迭代的项目。

    对于测试序列场景,迭代为每个场景生成的块你选择测试序列块输入部分。

    如果您选择多个项目,创建迭代顺序配对。例如:

    • 该模型sldemo_autotrans有一个信号编辑器块和四个信号情况下,标签滑行,Gradual_Acceleration, Hard_braking, Passing_Maneuver,每个油门和刹车信号。打开这个模型中,类型openExample (“sldemo_autotrans”)在命令行中。查看信号编辑器中,双击ManeuversGUI块打开参数对话框。然后,单击发射信号编辑按钮下信号的属性。

    • 测试用例有三个参数集,贴上P1, P2, P3。

    • 自动生成的迭代信号编辑器场景和参数设置的结果在三个迭代。由三组参数迭代是有限的。每次迭代中包含一个信号编辑器场景中,一个参数集。信号编辑器场景匹配和参数设置的顺序中列出信号编辑器块和参数设置部分。

    信号编辑器有四个场景和情节通过操纵油门。

    参数覆盖和产生的迭代

  3. 指定一个可选的命名规则为迭代。在迭代的命名规则框中,输入规则使用:

    • 每个设置您想要使用的名称的名称、删除空间

    • 每个设置下划线或空间分离

    例如,如果你想要包括的参数集的名称,配置设置和基线文件名称,输入ParameterSet_ConfigurationSet_Baseline

部分选项 目的

信号编辑场景

适用于输入部分的模拟、基线或等价测试用例,为指定的信号编辑场景。每个信号编辑场景是用于生成迭代。

参数集

适用于参数将覆盖部分的模拟、基线或等价测试用例。每个参数覆盖集是用于生成迭代。

外部输入

适用于输入部分的模拟、基线或等价测试用例,为指定的外部输入集。每个外部输入集被用来生成一个迭代。

配置设置

适用于配置设置覆盖部分的模拟、基线或等价测试用例。每次迭代中使用指定的配置设置。

记录信号设置

适用于日志记录部分的模拟、基线或等价测试用例。每个记录信号设置用于生成一个迭代。

基线

仅适用于基线测试用例类型,特别的基线标准部分基线测试用例。每个基线标准集是用于生成迭代。

测试序列的场景

适用于输入部分的模拟、基线或等价测试用例,为指定的测试序列块。每个测试场景是用于生成迭代序列。

模拟模式

适用于迭代表部分的模拟或基线测试用例。为当前迭代模型的模拟模式和SIL相互迭代创建测试设置在自动生成的迭代中选择对话框。

模拟1或2

仅适用于等价测试用例类型。自动生成报告对话框的顶部,有一个菜单模拟1模拟2。这些部分对应等效内的两个模拟部分测试用例。

创建脚本迭代

您可以运行一组自定义的迭代中使用脚本脚本化的迭代部分。例如,您可以定义参数设置或定制迭代顺序通过使用一个自定义的迭代。脚本在运行时生成迭代测试执行。

脚本代码迭代

迭代脚本组件

迭代脚本必须包含特定的组件。最基本的迭代脚本包含三个元素:

  1. 迭代对象,使用创建的sltestiteration

  2. 迭代设置,设置使用setTestParam

  3. 迭代注册,添加使用addIteration

例如,该脚本创建一个迭代运行一个信号从一个场景信号编辑器块。

% %迭代使用信号编辑器的场景%建立一个新的迭代对象testItr = sltestiteration;%设置迭代使用信号编辑器设置场景setTestParam (testItr“SignalEditorScenario”,sltest_signalEditorScenarios {1});%添加迭代运行测试用例%这里使用预定义的sltest_testCase变量addIteration (sltest_testCase testItr);

关于测试迭代类的更多信息,请参阅sltest.testmanager.TestIteration。您可以遍历多个项目,如信号编辑器或测试序列场景。您可以遍历所有信号编辑器测试序列场景脚本块的基本迭代循环:

% %遍历所有信号编辑场景%确定可能的迭代的数量numSteps =长度(sltest_signalEditorScenarios);%创建每个迭代k = 1: numSteps%建立一个新的迭代对象testItr = sltestiteration;%设置迭代设置setTestParam (testItr“SignalEditorScenario”,sltest_signalEditorScenarios {k});%添加迭代运行测试用例%可以传递一个可选的迭代名称addIteration (sltest_testCase testItr);结束%重置的路径rmpath (fullfile (matlabroot,“例子”,“金宝appsimulink_automotive”,“主要”));

预定义的变量

您可以使用预定义的变量来编写迭代脚本。看到预定义的变量列表的测试经理,扩大帮助创建测试迭代部分。你写脚本中的迭代脚本框内脚本化的迭代部分。脚本框是一个功能空间,这意味着MATLAB®从脚本框基工作区不能访问信息。如果你在脚本中定义变量的盒子,那么其他工作区不能使用的变量。

预定义的变量有:

  • sltest_bdroot——测试用例模型模拟,定义为一个字符串

  • sltest_sut被测试的系统,定义为一个字符串

  • sltest_isharness- - - - - -真正的如果sltest_bdroot是一种利用模型,定义为一个逻辑

  • sltest_externalInputs——外部输入的名称,定义为一个单元阵列的字符串

  • sltest_parameterSets——名称的参数覆盖集,定义为一个单元阵列的字符串

  • sltest_configSets——配置设置,定义为一个单元阵列的字符串

  • sltest_signalEditorScenarios信号编辑场景名称,定义为一个二维单元阵列的特征向量。

  • sltest_signalBuilderGroups——名称的信号生成器组,定义为一个二维单元阵列的特征向量。

  • sltest_loggedSignalSets——名字记录信号集,定义为一个二维单元阵列的特征向量。

  • sltest_testSequenceScenarios——测试序列场景名称,定义为一个二维单元阵列的特征向量。

  • sltest_tableIterations——迭代对象在迭代中创建表,定义为一个单元阵列sltest.testmanager.TestIteration对象

  • sltest_testCase——定义为当前测试用例对象sltest.testmanager.TestCase对象

脚本迭代模板

您可以快速为您的测试用例生成迭代使用模板信号编辑器场景、参数设置、外部输入、配置集,和基线集,如果您正在使用一个基线测试用例。脚本迭代模板遵循同步命令和配对的测试设置。关于同步命令的更多信息,请参阅创建表迭代

例如,如果您想要运行脚本迭代所有信号编辑场景:

  1. 点击迭代模板

  2. 选择测试用例设置你想要遍历。点击好吧

    生成脚本并添加到脚本框下面的任何现有的脚本。

  3. 生成一个表,给一个预览的迭代执行运行测试用例时,点击显示迭代

通过一组参数

脚本迭代可以用来测试模式,横扫一组参数。您可以使用该脚本尝试不同的模型空间参数的值迅速的和模型参数UpperSaturationLimit在模型中sltestCar。下添加脚本迭代>脚本化的迭代

% %迭代迅速的参数%设置参数值来扫过去IeiValues = (0.021, 0.022, 0.022, 0.023);UprSatValues = (2000、3000、4000、5000);numSteps =长度(IeiValues);%创建每个迭代k = 1: numSteps%建立一个新的迭代对象testItr = sltestiteration;lei %设置值(参数在模型空间中)setVariable (testItr“名字”,“迅速”,“源”,“模型空间”,“价值”,IeiValues (k));% UpperSaturationLimit模型参数的设置值testItr.setModelParam (“sltestCar /发动机/集成商”,“UpperSaturationLimit”,UprSatValues (k));%添加迭代运行测试用例addIteration (sltest_testCase testItr);结束

你添加脚本后,单击显示迭代。你可以看到脚本创建的迭代。

迭代的细节,包括参数名称和值,和工作空间和模型参数覆盖

运行测试每个迭代生成一个结果。

迭代结果的层次结构

另请参阅

|

相关的话题