Run Tests Using External Data

You can run test cases using data defined in external MAT-files or Microsoft® Excel® files. You can 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, that is, in the form system/block

  • The name of the signal associated with the inport block

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

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.

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

Mapping Status

When you map external inputs to model elements, the mapping can create 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:


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.

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

Import an Excel Spreadsheet into a Test Case

If you have a test case and want to add test data to it from Excel spreadsheet, you must associate it 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 Microsoft Excel File as Input

You can import Microsoft Excel spreadsheets to use as inputs. You can import multiple sheets 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.

For information about the Excel file format, see Format Test Case Data in Excel.

  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 (Simulink).

  7. Click Add.

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


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 external inputs/signal builder 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 matlab/toolbox/simulinktest/simulinktestdemos 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 Inputs 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 (Simulink).

  5. Click Add.

See Also

Related Topics