Verification, Validation, and Test
Systematic verification increases confidence that your design accurately implements your requirements and that your tests fully exercise those requirements. Early in development, you can create a high-level system model and link to system requirements. The system model can serve as an executable specification and basis for more detailed models.
Using these MathWorks® products to complement Model-Based Design, you can:
Trace requirements to architecture, design, tests, and code.
Confirm that your design meets requirements and is free of critical run-time errors.
Check compliance and measure quality of models and code.
Identify dead logic and generate test cases to resolve missing coverage.
Produce reports and artifacts, and verify that your design meets compliance standards.
You can also guide MATLAB® software development by:
Authoring and linking requirements to tests and code.
Running dynamic tests to monitor for regressions in code functionality.
Identifying untested code paths using industry-standard code coverage metrics.
Products for Verification, Validation, and Test
Topics
Define Requirements
- Author Requirements in MATLAB or Simulink (Requirements Toolbox)
Create requirements and define the requirement hierarchy with MATLAB or Simulink®. - Import Requirements from Third-Party Applications (Requirements Toolbox)
Import requirements from external documents and requirements management tools.
Link Requirements to Designs
- Test Model Against Requirements and Report Results (Requirements Toolbox)
Associate your model with detailed requirements, demonstrate traceability, test against requirements. - Link Test Cases to Requirements (Requirements Toolbox)
Associate Simulink Test™ test cases with requirements. - Track Requirement Links with a Traceability Matrix (Requirements Toolbox)
Track and manage links and change issues by using traceability matrices. - Validate Requirements by Analyzing Model Properties (Requirements Toolbox)
Validate requirements that are modeled as properties for a control system. - Link MATLAB Code to Requirements (Requirements Toolbox)
Associate requirements with MATLAB code and plain-text external code, such as C code.
Identify and Eliminate Design Defects
- Analyze Models for Design Errors (Simulink Design Verifier)
Run a Design Error Detection Analysis and interpret the results. - Analyze Models for Standards Compliance and Design Errors (Simulink Check)
Detect and resolve design errors, check against standards, analyze functional dependencies, and prove properties.
Perform Requirements-Based Testing
- Requirements-Based Testing for Model Development (Simulink Test)
Test an autopilot system against requirements. - Verify Requirements in Projects with MATLAB Tests (MATLAB Test)
Verify requirements in projects by running linked MATLAB tests. - Use Specification Models for Requirements-Based Testing (Simulink Design Verifier)
Follow a systematic approach to verify your design model against requirements. (Since R2022b) - Perform Functional Testing and Analyze Test Coverage (Simulink Coverage)
Analyze functional dependencies, test model components in isolation, create suites of test cases, test models, and code to achieve coverage. - Fix Requirements-Based Testing Issues (Simulink Check)
Fix model testing quality issues by using the Model Testing Dashboard. - Assess Requirements-Based Testing for ISO 26262 (Simulink Check)
Use the Model Testing Dashboard to analyze the completeness and quality of requirements-based testing activities in accordance with the ISO 26262 standard.
Perform Code-Based Testing and Verification
- Analyze Code and Perform Software-in-the-Loop Testing (Simulink Check)
Detect code errors, generate code metrics, test code and model equivalence, test code against requirements. - Generate C/C++ Code and Test for Equivalence (MATLAB Test)
Generate C/C++ code from MATLAB code and verify that the execution of the generated code and MATLAB code are equivalent. - Integrate Polyspace with MATLAB and Simulink (Polyspace Bug Finder)
Integrate Polyspace® with MATLAB and Simulink to identify potential bugs, run-time errors, and coding standard violations in your model and code. - Run Polyspace Analysis on Code Generated with Embedded Coder (Polyspace Bug Finder)
Check code generated with Embedded Coder® for bugs, run-time errors or coding rule violations.