汽车领域案例研究中MC/DC的错误检测率分析
1. 引言
安全关键系统一旦出现故障,可能会对人员或环境造成严重损害,像航空电子领域的应用、核电站控制系统等都属于此类系统。如今,汽车领域的一些应用,如先进驾驶辅助系统(如线控转向、线控驱动),也变得越来越具有安全关键性。为确保这些系统没有错误,需要对安全关键嵌入式系统进行全面测试。
通常,我们会使用一些代码覆盖指标来评估测试过程的质量,这些指标能确定在测试过程中程序被执行的比例。例如,决策覆盖率为60%意味着所有if - else决策的10个分支中,有6个已经过测试。然而,除了非常简单和小型的程序外,一般很难测试所有执行路径,特别是对于决策中包含复杂布尔表达式的程序。如果一个决策依赖于由n个布尔子条件组成的条件,那么要测试所有可能的组合,就需要生成2ⁿ个输入,这意味着测试工作量会随着决策中条件复杂度的增加而呈指数级增长。
修改条件/决策覆盖(MC/DC)最初是在标准DO - 178B中定义的,该标准用于航空电子领域的安全关键系统。MC/DC的原理是,测试数据集必须表明决策中的每个条件都能独立地影响决策的结果,即在其他条件的结果保持不变的情况下。对于包含n个条件的决策,MC/DC只需要n + 1个测试用例,因此测试工作量仅随每个决策的条件数量呈线性增长。
此前,MC/DC主要是航空电子领域应用的重要覆盖指标。但随着越来越多的汽车应用变得高度安全关键,且这些应用变得更加复杂,MC/DC现在也成为汽车领域组件测试过程中的一个重要问题。目前,汽车安全关键系统的现有标准包括IEC 61508或ISO 26262(道路车辆 - 功能安全)。
理想的测试过程应该能够发现系统中的任何错误。在实践中,我们的目标
超级会员免费看
订阅专栏 解锁全文
419

被折叠的 条评论
为什么被折叠?



