主要内容

为模型或组件生成测试和测试集

在Test Manager中,为组件创建测试向导为模型或模型中的组件创建一个测试工具和测试用例。您还可以使用向导为模型中的多个组件创建测试线束和测试用例。您可以为其创建测试控制的组件包括子系统、状态流®图表和模型块。有关测试线束支持的组件的完整列表,请参见金宝app测试线束和模型的关系。如果您选择了一个与向导不兼容的模型组件,那么该组件将不会出现在向导中。

在向导中,您指定:

  • 要测试的模型。

  • 要测试的组件或组件,如果您不测试整个模型的话。

  • 测试输入。

  • 要在组件上运行的测试类型。

  • 是否将测试数据保存在mat文件或Excel中®。有关在测试管理器中使用Excel文件的详细信息,请参见在Excel中格式化测试用例数据

有关使用向导的示例,请参见创建并运行一个背靠背测试

打开为组件创建测试向导

在运行向导之前,检查您的模型。

  • 如果您正在使用使用软件在循环(SIL)或处理器在循环(PIL)模式的等价测试来测试原子子系统的代码,请验证子系统是否已经生成了代码。

  • 如果您正在测试为可重用库子系统生成的代码,那么在打开Create Test for Component向导之前,请确认子系统已经定义了功能接口,并且库已经生成了代码。有关可重用库子系统、函数接口和生成代码的信息,请参见基于库的可重用库子系统代码生成(嵌入式编码)。你必须有一个嵌入式编码器®验证生成代码的许可证。

  • 如果您正在测试一个或多个组件,请在打开向导之前选择模型中的组件。向导打开后,单击使用当前选择的组件要添加所选组件并填充顶级模特字段。

要打开为组件创建测试向导,请在测试管理器中选择>模型构件试验

选择要测试的模型或组件

向导部分显示用于指定要测试的模型和组件以及是否创建测试工具的字段。

如果您没有在模型中选择任何组件,那么在向导的第一页上,单击使用当前模型按钮填写顶级模特字段。

然后,如果你正在测试:

  • 一个完整的模型,不要选择添加组件到所选组件窗格。

    要在不创建测试线束的情况下测试整个模型,请清除为组件创建测试线束。如果您正在测试模型中的一个或多个特定组件,向导将自动创建测试集,并且为组件创建测试线束选项不显示。

  • 一个或多个组件,并且在打开向导之前没有选择模型中的组件,选择组件或按下Ctrl然后单击要测试的组件。点击加号按钮添加组件的图标将组件添加到所选组件窗格。要移除一个或多个组件,请按Ctrl点击选择它们所选组件窗格,然后单击“删除”按钮图标,用于删除所选组件

  • a中的分量模型块,则不需要指定模型Block作为顶模。使用包含的模型的名称模型块作为顶级模特

  • 具有函数接口的可重用库子系统功能界面设置选择显示。选择要为其创建测试的功能接口。的功能界面设置选择多个组件时,不显示该选项。

    向导部分显示功能接口设置。

    可重用库包含可以与多个模型共享的组件和子系统。如果这些子系统位于可重用库的顶层,并且具有功能接口,那么您可以共享子系统生成的代码。功能接口指定子系统输入和输出块参数设置。

请注意

对于导出功能模型,测试工具会自动创建一个测试序列块。

如果您在模型中选择了一个或多个组件,请在向导的第一页单击使用当前选择的组件填写顶级模特字段,并自动添加所选组件。

点击下一个以转到向导的下一页。

设置测试输入

向导部分显示设置输入的选项。

测试输入页,选择如何获取测试输入。

  • 使用来自顶部模型的组件输入作为测试输入—模拟模型并记录组件的输入。然后,使用这些输入作为创建的测试工具的输入。使用此选项进行调试。

    请注意

    如果您正在测试具有函数调用的子系统,则无法通过模拟模型获得输入,因为无法记录函数调用。使用其他两个选项中的任意一个来获取输入。

  • 使用Design Verifier生成测试输入场景创建测试线束输入以满足测试覆盖要求金宝app®设计验证器™。此选项仅在以下情况下出现金宝appSimulink设计验证器安装。

    模拟顶级模型,并在分析中使用记录的组件输入-当从Design Verifier生成的测试用例的覆盖率低于预期时,选择此选项以包括Design Verifier分析的顶级模型模拟。

  • 在创建的线束中指定输入在向导创建线束之后,在Test Manager中打开线束并手动指定线束输入。如果您选择不创建测试工具,则不会出现此选项。

测试方法

向导部分显示了如何测试组件或模型的选项

验证策略页,选择如何测试组件。

  • 使用测试输出下的组件作为基线—模拟模型,记录各组件的输出,作为基准。

  • 进行背靠背测试—比较组件在两种不同仿真模式下运行的结果。对于每个模拟,从下拉菜单中选择模式。要对原子子系统或可重用库子系统进行SIL测试,包含子系统的子系统或库必须已经生成了代码。

    如果你选择使用Design Verifier生成测试输入场景测试输入选项卡,然后选择Simulation2Software-in-the-Loop(银)Processor-in-the-Loop(公益诉讼),向导将显示将模型覆盖目标设置为增强的MCDC选择。增强的MCDC通过生成避免来自下游块的屏蔽效应的测试用例扩展了MCDC的覆盖范围。看到在Simulink设计验证器中增强MCDC覆盖金宝app(金宝appSimulink设计验证器)使用增强型MCDC创建背靠背测试(金宝appSimulink设计验证器)

  • 在创建的线束中定义验证逻辑—向导创建线束后,打开线束。手动指定验证逻辑测试序列测试评估块在生成的线束。或者,在生成的测试用例中使用逻辑和时间评估或自定义标准。如果您正在测试顶级模型并选择不创建测试工具,则不会出现此选项。

保存测试数据

向导部分显示用于指定文件格式和保存测试数据的位置的选项。

生成的测试页,选择保存测试数据的格式,并为生成的测试指定文件名。

  • 选择测试线束输入源-选择如何将设计验证器生成的输入应用于测试线束。此选项仅在您选择时才会出现使用Design Verifier生成测试输入场景在Test Inputs选项卡上。

    • 港口-创建一个以import块为源的测试工具。

    • 信号编辑器-创建一个测试线束,用信号编辑器作为包含由设计验证器生成的输入场景的源。

  • 指定文件格式—指定保存数据的文件类型。此选项仅在您选择时才会出现港口作为输入源。

    • Excel—将测试输入、输出和参数保存到Excel电子表格文件的一个工作表中。对于具有多个迭代的测试,每个迭代都在一个单独的工作表中。有关在测试管理器中使用Excel文件的详细信息,请参见在Excel中格式化测试用例数据

    • -将输入和输出保存在单独的MAT文件中。对于使用金宝appSimulink设计验证器,向导将输入和参数保存在一个文件中,并将输出保存在基线文件中。

  • 指定保存测试数据的位置—指定文件的完整路径。或者,您可以使用默认的文件名和位置,这样可以保存sltest_ <模型名称>在当前工作文件夹中。此选项仅适用于Excel格式的文件。MAT文件被保存到模型配置设置中指定的默认位置。

  • 测试文件位置-指定要保存生成的测试文件的完整路径。或者,您可以使用默认文件名,即sltest_ <模型名称> _tests。该文件保存在当前工作文件夹中。仅当您在打开向导之前没有在测试管理器中打开测试文件时,此字段才会出现。

    如果您在打开向导之前在test Manager中打开了一个测试文件,那么将显示这些选项,而不是测试文件位置

    • 向当前选定的测试文件添加测试—生成的测试将添加到选项中选择的测试文件中测试浏览器面板,当您打开向导时。

    • 创建一个包含测试的新测试文件—为测试创建新的测试文件。它出现在测试浏览器测试管理器的面板。

    向导部分显示向当前文件添加测试或创建新测试文件的选项

生成测试线束和测试用例

点击完成生成一个测试工具和测试用例。如果您正在测试整个模型并取消选择,则不会创建测试工具创建测试线束在向导的第一个选项卡上。

测试管理器然后打开测试用例测试浏览器窗格,如果创建了测试工具,则测试工具名称将在利用田野被测系统部分。测试用例被命名<模型名称> _Harness < # >

请注意

如果模型有一个现有的外部测试线束,向导将为被测组件创建一个额外的外部测试线束。如果不存在线束,或者存在内部线束,向导将创建一个内部测试线束。

如果您正在使用等效测试测试原子子系统或模型块的代码,则在验证策略Tab,你设置Simulation2Software-in-the-Loop(银)Processor-in-the-Loop(公益诉讼),向导仅为正常和SIL或PIL模拟模式创建一个测试线束。对于其他等效性测试,向导将创建两个线束,每个线束对应一个模拟模式。对于以下类型的子系统和模型配置,向导创建两个测试控制,即使子系统是原子的。

  • 虚拟子系统

  • 函数调用,For Each, If Action, S-Function,初始化函数,终止函数和重置函数子系统

  • Stateflow图表

  • 子系统中ERTFilePackagingFormat属性设置为紧凑的如果子系统代码有PreserveStaticInFcnDecls设置为

  • 生成内联代码的子系统,例如RTWSystemCode财产也不是那种一次性的功能可重用的功能).

  • 包含引用模型、S-Function、数据存储读块或数据存储写块的子系统

  • 在其接口上有虚拟总线的子系统

  • 包括LDRA或BullsEye代码覆盖的子系统

  • 包括信号记录的子系统

另请参阅

相关的话题