Main Content

Use External Excel or MAT-File Data in Test Cases

Test cases can use data defined in external MAT-files or Microsoft® Excel® files. For information about the Excel file format, see Format Test Case Data in Excel.

You can add multiple external input files to a test case. After you add the files, select the one you want to use in the test case from the External Inputs table. If you are using test iterations, you can assign one input file to each iteration.

Data Mapping

Mapping Modes

To use external data, you map the data to your model (system under test [SUT]) using these mapping modes:

  • The names of the inport block the signal data corresponds to

  • The full block path name, in the form system/block

  • The name of the signal associated with the inport block

  • The port number, that is, sequential port numbers of the inport blocks, starting at 1

For more information about how Simulink® handles inport mapping, see Map Root Inport Signal Data.

Mapping Status

When you map external inputs to model elements, the mapping creates these possible results. These results appear under Inputs in the Test Manager interface in the Status column:

  • Mapped — The mapping succeeded and no further action is needed.

  • Failed — The mapping failed. Click the Failed link for more information.

  • Warning — The mapping occurred with warnings. Click the Warning link to see whether you need to address them

  • Stale — This status can occur when you update your external inputs in Test Manager. A stale state occurs if you did not map the new inputs. To address this status, click the Status link, which opens the Add Input dialog box. Click Map Inputs to map the new input data and then click Add.

Create a Test Case from an Excel Spreadsheet

You can create a test case in Test Manager using the Create Test from Spreadsheet wizard. From Simulink Test Manager, select New > Test from Spreadsheet. Select Use existing test data from a spreadsheet and follow the prompts.

You can use the following spreadsheet and model as an example:

<matlabroot>\examples\simulinktest\data\coordinate_test.xlsx
<matlabroot>\examples\simulinktest\main\coordinate_transform_test.slx

In the Attributes page, make sure all attribute categories that exist in the spreadsheet are displayed. Click Validate to map each input to the model by block name. If necessary, change the spreadsheet and/or SUT and click Refresh and validate again. After a successful validation, save the test.

  • The test case imports the spreadsheet. The fields defined in the spreadsheet are locked to the spreadsheet, and cannot be edited in the Test Manager.

    Test Manager wizard for importing an Excel file. Excel parameter values in the Parameter Overrides section of the Test Manager.

    Note

    If you cannot see all the data in a column, click + in the upper right corner to hide other columns and resize the desired column.

    To change the locked fields, edit the spreadsheet outside of MATLAB®.

For multi-dimensional signals, each dimension is represented in a separate column in the spreadsheet. By default, only the dimensions with non-zero values are included. If all dimensions have zero value, then only the last dimension is included in the spreadsheet.

Import an Excel Spreadsheet into an Existing Test Case

If you have a test case and want to add test data to it from an Excel spreadsheet, you must associate the test case with the spreadsheet:

  1. Open the test case.

  2. Check the Create Test Case from External File option.

  3. Browse for the spreadsheet with the test data.

The input, parameter, and comparison signal data in the spreadsheet overrides the data in the test case. The fields defined in the spreadsheet are locked to the spreadsheet. To edit, do one of the following:

  • Edit the spreadsheet outside of MATLAB and click Refresh for the File field.

  • Clear the Create Test Case from External File option and edit the test case in the Test Manager. Selecting this option again causes values in the spreadsheet to overwrite the values in the test.

Add Multiple Microsoft Excel Spreadsheets as Input to a Test Case

You can import multiple Microsoft Excel spreadsheets at once and specify a range of data. Selecting sheets and specifying ranges is useful when each sheet contains a different data set or the same file contains input data and expected outputs.

  1. In the test case, expand the Inputs section and click Add.

  2. Browse to your Microsoft Excel file and click Add.

  3. Select each sheet that contains input data. You can specify a range of data.

  4. If you want to use each sheet to create an input set in the table, select Create scenarios from each sheet.

  5. Under Input Mapping, select a mapping mode.

  6. Click Map Inputs. The Mapping Status table shows the port and signal mapping.

    For more information about troubleshooting the mapping, see Understand Mapping Results.

  7. Click Add.

Include Microsoft Excel Test Data in Test Results

  1. In the test case, expand the Inputs section and click Include input data in test result.

  2. Under the External Inputs table, click Add.

  3. In the Add Input dialog box, specify the Excel file name and the mapping mode, which specifies how to map the Excel data to root-level Inport blocks in the model.

  4. Click Map Inputs. The Mapping Status table shows the port and signal mapping.

  5. Click Add.

See Importing Test Data from Microsoft Excel for a complete example.

Importing Test Data from Microsoft Excel

Test a model using inputs stored in Microsoft® Excel®.

This example shows how to create a test case in the Test Manager and map data to the test case from a Microsoft® Excel® file. Input mapping supports Microsoft Excel spreadsheets only for Microsoft Windows®.

Create a Test File

1. Open the Test Manager. Enter

sltest.testmanager.view

2. In the test manager toolbar, select New > Test File. Save the file to a writable directory. The test manager creates a test file with an empty baseline test case.

3. In the test browser, select the test case. In the test editor, under the System Under Test section, enter sltestExcelExample.

Configure the External Inputs.

1. Expand the Inputs section of the test case.

2. To include the input data in the test results, click Include input data in test result.

3. Under the External Inputs table, click Add.

4. In the Add Input dialog box, for File, select the sltestExampleInputs.xlsx from the current directory. This file contains two tabs, named Acceleration and Braking. Each tab represents a complete set of inputs for a single simulation.

5. In the Add Input dialog box,

  • Select the Acceleration sheet from the sheets table.

  • Select Mapping Mode : Block Name.

  • Click Map Inputs.

  • Click Add.

The Mapping Mode controls the method used to map data from the Microsoft Excel sheet to root-level Inport blocks in the model. For more information, see Use External Excel or MAT-File Data in Test Cases.

The test case shows the inputs mapped.

Run the Test

1. In the toolbar, click Run.

2. In the Results and Artifacts pane, you can plot signals from the external inputs or the simulation output.

Add a MAT-File as an External Input

  1. In the test case, expand the Inputs section and click Add.

  2. Browse to the MAT-file and click Add.

  3. Under Input Mapping, choose a mapping mode.

  4. Click Map Inputs. The Mapping Status table shows the port and signal mapping.

    For information about troubleshooting the mapping status, see Understand Mapping Results.

  5. Click Add.

See Also

|

Related Topics