正常模式和 SIL 模式下的背靠背测试状态
度量 ID
slcomp.sil.B2BTestStatus
描述
背靠背测试度量用于模型与生成代码之间的转换验证。
该度量通过在每个时间步比较模型仿真的输出和在软件在环 (SIL) 模式下执行的代码的输出,返回每个测试的背靠背测试状态。该度量将正常模式和 SIL 模式测试运行与基线、等效性测试和仿真测试进行比较。
支持的工件
该度量收集工程中 Units 的度量结果。要控制仪表板将什么归类为单位,请参阅 将模型按层级结构分类为组件或单元。
计算详细信息
分析范围
该度量仅分析单元测试。单元测试直接测试整个单元或单元中的较低级别元素,例如子系统。
比较
该度量比较正常模式和 SIL 模式结果的方式取决于测试类型:
等效性测试. 对于等效性测试,该度量使用 getComparisonResult 方法从测试中获取等效性数据比较结果,并确定背靠背测试状态。如果您指定了信号容差,则该度量会使用这些信号容差来确定结果之间差异的可接受容差。
基线测试和仿真测试. 对于基线测试和仿真测试,该度量使用仿真数据检查器函数 Simulink.sdi.compareRuns 来比较测试中记录信号的仿真输出,并确定背靠背测试状态。有关如何向测试添加已记录信号的信息,请参阅 在测试用例中捕获仿真数据 (Simulink Test)。比较检查信号数量、信号数据类型、信号时间步长和其他元数据是否存在不匹配。测试在正常模式下记录的每个输出都必须在 SIL 模式下记录一个匹配的输出,否则背靠背比较将失败。有关比较的更多信息,请参阅 Simulink.sdi.compareRuns 和 仿真数据检查器如何比较数据。
该度量根据信号的数据类型,指定函数 Simulink.sdi.compareRuns 的绝对容差 ('AbsTol') 和相对容差 ('RelTol') 值。如果您需要该度量在比较中考虑各个信号的容差,请改用等效性测试。
| 数据类型 | 绝对容差 | 相对容差 |
|---|---|---|
| 逻辑值 | 0 | 0 |
| 整数 | 0 | 0 |
| 定点 | 0 | 0 |
| 枚举 | 0 | 0 |
| 半精度 | 10*eps(half(0)) | 10*eps(half(1)) |
| 单精度 | 100*eps(single(0)) | 100*eps(single(1)) |
| 双精度 | 1000*eps(double(0)) | 1000*eps(double(1)) |
对于上面未列出的数据类型,绝对容差和相对容差均为 0。
收集
要收集此度量的数据,请执行度量引擎并使用度量 ID slcomp.sil.B2BTestStatus 和 getMetrics。
metric_engine = metric.Engine; execute(metric_engine,"slcomp.sil.B2BTestStatus"); results = getMetrics(metric_engine,"slcomp.sil.B2BTestStatus")
收集此度量的数据会加载模型文件和测试结果文件,并且需要 Simulink® Test™ 许可证。
结果
对于此度量,函数 getMetrics 为每个测试返回一个 metric.Result 实例。
metric.Result 的实例会返回 Value 作为以下输出之一:
'Failed'- 正常模式和 SIL 模式测试运行的比较失败。有关该度量如何比较结果的信息,请参阅 计算详细信息。'Passed'- 正常模式和 SIL 模式测试运行的比较通过。'Not run'- 该测试并非连续进行。如果测试缺少正常模式结果、SIL 模式结果或两者都缺少,则该度量认为该测试未运行。请确保在正常模式和 SIL 模式下都运行测试。对于等效性测试,请确保在同一次测试运行中,分别以正常模式和 SIL 模式运行测试。
要查看该度量用于确定背靠背测试状态的比较结果,请使用函数 metric.loadB2BResults。
合规阈值
该度量没有预设阈值。