Main Content

Link to Requirements

Since requirements specify behavior in response to particular conditions, you can develop test inputs, expected outputs, and assessments from the model requirements.

Test components affected by requirements

Requirements Traceability Considerations

Consider the following limitations working with requirements links in test harnesses:

  • Some blocks and subsystems are recreated during test harness rebuild operations. Requirements linking is not supported for these blocks and subsystems in a test harness:

    • Conversion subsystems between the component under test and the sources or sinks

    • Test Sequence blocks that schedule function calls

    • Blocks that drive control input signals to the component under test

    • Blocks that drive Goto or From blocks that pass component under test signals

    • Data Store Read and Data Store Write blocks

  • If you use external requirements storage, performing the following operations requires reestablishing requirements links to model objects inside test harnesses:

    • Cut/paste or copy/paste a subsystem with a test harness

    • Clone a test harness

    • Move a test harness from a linked block to the library block

Establish Requirements Traceability for Testing

If you have a Simulink® Test™ and a Requirements Toolbox™ license, you can link requirements to test harnesses, test sequences, and test cases. Before adding links, review Supported Requirements Document Types (Requirements Toolbox).

Requirements Traceability for Test Harnesses

When you edit requirements links to the component under test, the links immediately synchronize between the test harness and the main model. Other changes to the component under test, such as adding a block, synchronize when you close the test harness. If you add a block to the component under test, close and reopen the harness to update the main model before adding a requirement link.

To view items with requirements links, on the Apps tab, under Model Verification, Validation, and Test, click Requirements Manager. In the Requirements tab, click Highlight Links .

Requirements Traceability for Test Sequences

In test sequences, you can link to test steps. To create a link, first find the model item, test case, or location in the document you want to link to. Right-click the test step, select Requirements, and add a link or open the link editor.

To highlight or remove the highlighting from test steps that have requirements links, toggle the requirements links highlighting button in the Test Sequence Editor toolstrip. Highlighting test steps also highlights the model block diagram.

Requirements Traceability for Test Cases

If you use many test cases with a single test harness, link to each specific test case to distinguish which blocks and test steps apply to it. To link test steps or test harness blocks to test cases,

  1. Open the test case in the Test Manager.

  2. In the left pane, in the Test Browser tab, select the test case.

  3. In Simulink in the Apps tab, click Requirements Manager.

  4. To link a test case to a:

    • Simulink block, right-click the block and select Requirements > Link to Current Test Case from the context menu.

    • Test step, double-click the test sequence block in the test harness to open the Test Sequence Editor. Right-click the test step and select Requirements > Link to Current Test Case from the context menu.

Requirements Traceability Example

This example demonstrates adding requirements links to a test harness and test sequence. The model is a component of an autopilot roll control system. This example requires Simulink Test and Requirements Toolbox.

  1. Open the model, the test file, and the harness.

    openExample("simulinktest/ModelCoverageMATLABUnitExample", ...
        supportingFile="RollAutopilotMdlRef.slx")
    openExample("simulinktest/ModelCoverageMATLABUnitExample", ...
        supportingFile="AutopilotTestFile.mldatx")
    sltest.harness.open("RollAutopilotMdlRef/Roll Reference",...
    "RollReference_Requirement1_3")
  2. In the test harness, on the Apps tab, under Model Verification, Validation, and Test, click Requirements Manager. In the Requirements tab, click Highlight Links .

    The test harness highlights the Test Sequence block, component under test, and Test Assessment block.

    The model is shown with the Test Harness highlighted.

  3. Add traceability to the Discrete Derivative block.

    1. Right-click the Discrete Derivative block and select Requirements > Open Outgoing Links dialog.

    2. In the Requirements tab, click New.

    3. Enter the following to establish the link:

      • Description: DD link

      • Document type: Text File (legacy)

      • Document: RollAutopilotRequirements.txt

      • Location: 1.3 Roll Hold Reference

      Requirements Outgoing Links dialog box

    4. Click OK. The Discrete Derivative block highlights.

  4. To trace to the requirements document, right-click the Discrete Derivative block, and select Requirements > DD Link. The requirements document opens in the editor and highlights the linked text.

    Highlighted text that links to a requirement

  5. In the test harness, open the Test Sequence block. Add a requirements link that links the InitializeTest step to the test case.

    1. In the Test Manager, in the left pane, in the Test Browser tab, select Requirement 1.3 Test.

    2. In the test harness, double-click the test sequence block to open the Test Sequence Editor. Right-click the InitializeTest step and select Requirements > Link to Current Test Case from the context menu.

      When the requirements link is added, the Test Sequence Editor highlights the step.

      Highlighted test sequence step that is linked to a requirement