Model Testing Metrics
R2026bThe Model Testing Dashboard collects metric data from the model design and testing
artifacts in a project, such as requirements, models, and test results. Use the metric data to
assess the status and quality of your model testing. Each metric in the dashboard measures a
different aspect of the quality of the testing of your model and reflects guidelines in
industry-recognized software development standards, such as ISO 26262 and DO-178. You can
collect these metrics programmatically by using the API.metric.Engine
Use these tables to explore the model testing metrics, view their metric IDs, and access information about each metric.
The model testing metrics cover these areas:
To collect available model testing metrics programmatically, use the
getAvailableMetricIds and execute
functions.
metricEngine = metric.Engine; modelTestingMetricIds = getAvailableMetricIds(metricEngine,App="DashboardApp",Dashboard="ModelUnitTesting"); results = execute(metricEngine,modelTestingMetricIds)
If your scripts reference metric IDs from R2026a or earlier, see Migrate from Earlier Metrics.
Model Testing
Assess the traceability between requirements and tests and learn more about the types of tests for a unit by using the test analysis metrics.
Requirements Linked to Tests
Assess requirements traceability by analyzing how requirements are linked to tests and identifying requirements that might be over-tested or under-tested.
| Metric | Metric ID |
|---|---|
| Tests Per Requirement Distribution | modeltesting.TestAnalysis[slcomp.TestsPerRequirementDistribution] |
| Tests Per Requirement Ratio | modeltesting.TestAnalysis[slcomp.TestsPerRequirementRatio] |
| Tests Per Requirement Distribution Details | modeltesting.TestAnalysis[slcomp.TestsPerRequirementDistributionDetails] |
Tests Linked to Requirements
Assess test traceability by analyzing how tests are linked to requirements and identifying tests with limited or broad requirement coverage.
| Metric | Metric ID |
|---|---|
| Requirements Per Test Ratio | modeltesting.TestAnalysis[slcomp.RequirementsPerTestRatio] |
| Requirements Per Test Distribution | modeltesting.TestAnalysis[slcomp.RequirementsPerTestDistribution] |
| Requirements Per Test Distribution Details | modeltesting.TestAnalysis[slcomp.RequirementsPerTestDistributionDetails] |
Test Information
Analyze the composition of the test suite by examining test types, tags, and detailed test information.
| Metric | Metric ID |
|---|---|
| Component Tests | modeltesting.TestAnalysis[slcomp.ComponentTests] |
| Independent Tests | modeltesting.TestAnalysis[slcomp.IndependentTests] |
| Test Breakdown Details | modeltesting.TestAnalysis[slcomp.TestBreakdownDetails] |
| Test Type Distribution | modeltesting.TestAnalysis[slcomp.TestTypeDistribution] |
| Test Tag Distribution | modeltesting.TestAnalysis[slcomp.TestTagDistribution] |
Model Testing Results
Assess the status of model test results for a unit by using the result analysis metrics.
Status of Model Tests
Evaluate the status of model test results by examining test outcome distributions and detailed test results.
| Metric | Metric ID |
|---|---|
| Test Status Distribution | modeltesting.TestResultAnalysis[slcomp.TestStatusDistribution] |
| Test Status Distribution Details | modeltesting.TestResultAnalysis[slcomp.TestStatusDistributionDetails] |
Model Coverage
Evaluate how thoroughly testing exercises your models by reviewing aggregated coverage results and model coverage details.
| Metric | Metric ID |
|---|---|
| Model Coverage Breakdown | slcomp.mt.CoverageBreakdown |
| Model Coverage Fragment | slcomp.mt.CoverageFragment |
Requirements-Based Tests
Determine how much of the achieved coverage comes from requirements-based tests.
| Metric | Metric ID |
|---|---|
| Requirements-Based Coverage Ratio | modeltesting.RequirementsBasedCoverage[slcomp.CoverageRatio] |
| Requirements-Based Coverage Fragments | modeltesting.RequirementsBasedCoverage[slcomp.CoverageFragments] |
Unit-Boundary Tests
Determine how much of the achieved coverage comes from unit-boundary tests.
| Metric | Metric ID |
|---|---|
| Component Boundary Coverage Ratio | modeltesting.ComponentBoundaryCoverage[slcomp.CoverageRatio] |
| Component Boundary Coverage Fragments | modeltesting.ComponentBoundaryCoverage[slcomp.CoverageFragments] |
Migrate from Earlier Metrics
Since R2026b
Starting in R2026b, the model testing metrics use a different naming convention and can return results in improved table-based formats. If you have scripts that call earlier metric IDs, use the tables in this section to identify the replacement metrics. The new coverage metrics consolidate per-coverage-type metrics into single metrics that return all coverage types (execution, decision, condition, MC/DC) in one result.
To collect all metrics in a group at once, use the group name with empty brackets. For example:
metric_engine = metric.Engine;
results = execute(metric_engine,"modeltesting.TestAnalysis[]")Migrate Test Analysis Metrics
| Earlier Metric ID | Replacement Metric ID |
|---|---|
slcomp.mt.ComponentTests | modeltesting.TestAnalysis[slcomp.ComponentTests] |
slcomp.mt.IndependentTests | modeltesting.TestAnalysis[slcomp.IndependentTests] |
slcomp.mt.TestCaseInfo | modeltesting.TestAnalysis[slcomp.TestBreakdownDetails] |
slcomp.mt.TestCaseTypeDistribution | modeltesting.TestAnalysis[slcomp.TestTypeDistribution] |
slcomp.mt.TestCaseTagDistribution | modeltesting.TestAnalysis[slcomp.TestTagDistribution] |
slcomp.mt.TestCaseWithRequirementDistribution | modeltesting.TestAnalysis[slcomp.RequirementsPerTestRatio] |
slcomp.mt.RequirementsPerTestCase | modeltesting.TestAnalysis[slcomp.RequirementsPerTestDistributionDetails] |
slcomp.mt.RequirementsPerTestCaseDistribution | modeltesting.TestAnalysis[slcomp.RequirementsPerTestDistribution] |
slcomp.mt.RequirementWithTestCaseDistribution | modeltesting.TestAnalysis[slcomp.TestsPerRequirementRatio] |
slcomp.mt.ComponentRequirements | |
slcomp.mt.TestCasesPerRequirement | modeltesting.TestAnalysis[slcomp.TestsPerRequirementDistributionDetails] |
slcomp.mt.TestCasesPerRequirementDistribution | modeltesting.TestAnalysis[slcomp.TestsPerRequirementDistribution] |
Migrate Test Result Metrics
| Earlier Metric ID | Replacement Metric ID |
|---|---|
slcomp.mt.TestStatus | modeltesting.TestResultAnalysis[slcomp.TestStatusDistribution] |
slcomp.mt.TestStatusDistribution | modeltesting.TestResultAnalysis[slcomp.TestStatusDistributionDetails] |
Migrate Requirements-Based Coverage Metrics
| Earlier Metric ID | Replacement Metric ID |
|---|---|
slcomp.mt.RequirementsExecutionCoverageBreakdown | modeltesting.RequirementsBasedCoverage[slcomp.CoverageRatio] |
slcomp.mt.RequirementsDecisionCoverageBreakdown | |
slcomp.mt.RequirementsConditionCoverageBreakdown | |
slcomp.mt.RequirementsMCDCCoverageBreakdown | |
slcomp.mt.RequirementsExecutionCoverageFragment | modeltesting.RequirementsBasedCoverage[slcomp.CoverageFragments] |
slcomp.mt.RequirementsDecisionCoverageFragment | |
slcomp.mt.RequirementsConditionCoverageFragment | |
slcomp.mt.RequirementsMCDCCoverageFragment |
Migrate Unit-Boundary Coverage Metrics
| Earlier Metric ID | Replacement Metric ID |
|---|---|
slcomp.mt.UnitBoundaryExecutionCoverageBreakdown | modeltesting.ComponentBoundaryCoverage[slcomp.CoverageRatio] |
slcomp.mt.UnitBoundaryDecisionCoverageBreakdown | |
slcomp.mt.UnitBoundaryConditionCoverageBreakdown | |
slcomp.mt.UnitBoundaryMCDCCoverageBreakdown | |
slcomp.mt.UnitBoundaryExecutionCoverageFragment | modeltesting.ComponentBoundaryCoverage[slcomp.CoverageFragments] |
slcomp.mt.UnitBoundaryDecisionCoverageFragment | |
slcomp.mt.UnitBoundaryConditionCoverageFragment | |
slcomp.mt.UnitBoundaryMCDCCoverageFragment |
See Also
getAvailableMetricIds | Code Testing Metrics | Project Model Testing Metrics | Model Maintainability Metrics