标准虽推荐,搭建却不容易
标准要求开展背靠背测试,但为模型和生成代码搭建可用的测试框架仍需投入大量工作。
自动验证生成的生产代码与模型行为一致,适用于 Simulink、dSPACE TargetLink 和 MathWorks Embedded Coder。
ISO 26262 及相关功能安全标准推荐开展背靠背测试。它回答的问题很简单:生成代码的行为是否与模型一致?但依靠人工得出答案并不简单。
标准要求开展背靠背测试,但为模型和生成代码搭建可用的测试框架仍需投入大量工作。
为大量子系统生成足够的激励并比较输出,是缓慢、重复且依赖人工的工作。
模型每次变更后,都会在两侧重新生成、重新运行并重新比较,形成每轮迭代的完整闭环。
BTC TestStack 在单一测试项目中自动执行模型(MIL)与生产代码(SIL/PIL)之间的背靠背测试。它从 dSPACE TargetLink 和 MathWorks Embedded Coder 提取架构,生成测试用例,分别运行两侧并报告比较结果——无需手动搭建测试框架,也无需手写测试数据。
BTC TestStack 直接从 TargetLink 和 Embedded Coder 读取模型与代码架构,无需手动连接测试框架。
对于大型模型,系统会自动生成测试框架模型,因此即使层级很深,也无需额外配置即可运行。
可在 CI 中无界面运行,并通过功能丰富的 REST API 编排 BTC TestStack;执行环境可选择虚拟机、Linux Docker 容器,或 AWS 上的 BTC TestStack × Cloud。
直接从模型读取接口和子系统层级。
自动生成测试,实现包括 MC/DC 在内的 100% 结构覆盖率。
在定义的容差范围内逐采样点匹配输出。
HTML 报告会突出显示代码与模型产生偏差的每个采样点。
驱动背靠背测试的用例并非随机猜测。BTC TestStack 利用模型检验生成能够达到所有覆盖率目标的最小测试集,并指出哪些目标不可达。
模型检验从结构本身推导测试用例,从机制上实现 100% 覆盖率,而不是依赖偶然命中。
以数量最少、长度最短的测试用例满足全部目标,从而减少运行和审查工作。
动态分析可区分不可达目标与尚未测试的目标,使覆盖率缺口不仅被标记,还能得到解释。
直接访问输入和校准参数,可揭示需求驱动的功能测试可能遗漏的行为。
| 测试用例 | 模型(MIL) | 代码(SIL) | 最大 Δ | 结果 |
|---|---|---|---|---|
| TC_01 | 142.80 | 142.80 | 0.0e0 | 一致 |
| TC_02 | RUN | RUN | — | 一致 |
| TC_03 | 0.0491 | 0.0491 | 2.1e-7 | 一致 |
| TC_04 | 88.20 | 88.21 | 1.0e-2 | 差异 |
| TC_05 | -1.000 | -1.000 | 0.0e0 | 一致 |
背靠背测试、回归测试和迁移测试均在同一个 BTC TestStack 引擎上运行:通过自动模型检验生成测试,并执行结构化比较。
已通过 ISO 26262 认证
该证书涉及多个行业的功能安全标准:
对于 ISO 26262,BTC TestStack 已获得最高工具置信等级(TCL)认证,适用于包括 ASIL D 在内的所有 ASIL 等级。客户提出请求后,我们会免费提供证书和报告,从而免去客户侧的大部分工具鉴定工作。