Main Content

Model Testing Metrics

R2026b

The 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 metric.Engine API.

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)
For more information, see Collect Metrics on Model Testing Artifacts Programmatically.

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.

MetricMetric ID
Tests Per Requirement Distributionmodeltesting.TestAnalysis[slcomp.TestsPerRequirementDistribution]
Tests Per Requirement Ratiomodeltesting.TestAnalysis[slcomp.TestsPerRequirementRatio]
Tests Per Requirement Distribution Detailsmodeltesting.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.

MetricMetric ID
Requirements Per Test Ratiomodeltesting.TestAnalysis[slcomp.RequirementsPerTestRatio]
Requirements Per Test Distributionmodeltesting.TestAnalysis[slcomp.RequirementsPerTestDistribution]
Requirements Per Test Distribution Detailsmodeltesting.TestAnalysis[slcomp.RequirementsPerTestDistributionDetails]

Test Information

Analyze the composition of the test suite by examining test types, tags, and detailed test information.

MetricMetric ID
Component Testsmodeltesting.TestAnalysis[slcomp.ComponentTests]
Independent Testsmodeltesting.TestAnalysis[slcomp.IndependentTests]
Test Breakdown Detailsmodeltesting.TestAnalysis[slcomp.TestBreakdownDetails]
Test Type Distributionmodeltesting.TestAnalysis[slcomp.TestTypeDistribution]
Test Tag Distributionmodeltesting.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.

MetricMetric ID
Test Status Distributionmodeltesting.TestResultAnalysis[slcomp.TestStatusDistribution]
Test Status Distribution Detailsmodeltesting.TestResultAnalysis[slcomp.TestStatusDistributionDetails]

Model Coverage

Evaluate how thoroughly testing exercises your models by reviewing aggregated coverage results and model coverage details.

MetricMetric ID
Model Coverage Breakdownslcomp.mt.CoverageBreakdown
Model Coverage Fragmentslcomp.mt.CoverageFragment

Requirements-Based Tests

Determine how much of the achieved coverage comes from requirements-based tests.

MetricMetric ID
Requirements-Based Coverage Ratiomodeltesting.RequirementsBasedCoverage[slcomp.CoverageRatio]
Requirements-Based Coverage Fragmentsmodeltesting.RequirementsBasedCoverage[slcomp.CoverageFragments]

Unit-Boundary Tests

Determine how much of the achieved coverage comes from unit-boundary tests.

MetricMetric ID
Component Boundary Coverage Ratiomodeltesting.ComponentBoundaryCoverage[slcomp.CoverageRatio]
Component Boundary Coverage Fragmentsmodeltesting.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 IDReplacement Metric ID
slcomp.mt.ComponentTestsmodeltesting.TestAnalysis[slcomp.ComponentTests]
slcomp.mt.IndependentTestsmodeltesting.TestAnalysis[slcomp.IndependentTests]
slcomp.mt.TestCaseInfomodeltesting.TestAnalysis[slcomp.TestBreakdownDetails]
slcomp.mt.TestCaseTypeDistributionmodeltesting.TestAnalysis[slcomp.TestTypeDistribution]
slcomp.mt.TestCaseTagDistributionmodeltesting.TestAnalysis[slcomp.TestTagDistribution]
slcomp.mt.TestCaseWithRequirementDistributionmodeltesting.TestAnalysis[slcomp.RequirementsPerTestRatio]
slcomp.mt.RequirementsPerTestCasemodeltesting.TestAnalysis[slcomp.RequirementsPerTestDistributionDetails]
slcomp.mt.RequirementsPerTestCaseDistributionmodeltesting.TestAnalysis[slcomp.RequirementsPerTestDistribution]
slcomp.mt.RequirementWithTestCaseDistributionmodeltesting.TestAnalysis[slcomp.TestsPerRequirementRatio]
slcomp.mt.ComponentRequirements
slcomp.mt.TestCasesPerRequirementmodeltesting.TestAnalysis[slcomp.TestsPerRequirementDistributionDetails]
slcomp.mt.TestCasesPerRequirementDistributionmodeltesting.TestAnalysis[slcomp.TestsPerRequirementDistribution]

Migrate Test Result Metrics

Earlier Metric IDReplacement Metric ID
slcomp.mt.TestStatusmodeltesting.TestResultAnalysis[slcomp.TestStatusDistribution]
slcomp.mt.TestStatusDistributionmodeltesting.TestResultAnalysis[slcomp.TestStatusDistributionDetails]

Migrate Requirements-Based Coverage Metrics

Earlier Metric IDReplacement Metric ID
slcomp.mt.RequirementsExecutionCoverageBreakdownmodeltesting.RequirementsBasedCoverage[slcomp.CoverageRatio]
slcomp.mt.RequirementsDecisionCoverageBreakdown
slcomp.mt.RequirementsConditionCoverageBreakdown
slcomp.mt.RequirementsMCDCCoverageBreakdown
slcomp.mt.RequirementsExecutionCoverageFragmentmodeltesting.RequirementsBasedCoverage[slcomp.CoverageFragments]
slcomp.mt.RequirementsDecisionCoverageFragment
slcomp.mt.RequirementsConditionCoverageFragment
slcomp.mt.RequirementsMCDCCoverageFragment

Migrate Unit-Boundary Coverage Metrics

Earlier Metric IDReplacement Metric ID
slcomp.mt.UnitBoundaryExecutionCoverageBreakdownmodeltesting.ComponentBoundaryCoverage[slcomp.CoverageRatio]
slcomp.mt.UnitBoundaryDecisionCoverageBreakdown
slcomp.mt.UnitBoundaryConditionCoverageBreakdown
slcomp.mt.UnitBoundaryMCDCCoverageBreakdown
slcomp.mt.UnitBoundaryExecutionCoverageFragmentmodeltesting.ComponentBoundaryCoverage[slcomp.CoverageFragments]
slcomp.mt.UnitBoundaryDecisionCoverageFragment
slcomp.mt.UnitBoundaryConditionCoverageFragment
slcomp.mt.UnitBoundaryMCDCCoverageFragment

See Also

| | |

Topics