MC/DC是DO-178B 认证标准中规定的,欧美民用航空器强制要求遵守该标准。

MC/DC定义如下:
    Condition —— a Boolean expression containing no Boolean operators:
    Decision —— a Boolean expression composed of conditions and zero or more Boolean operators:
    Modified Condition/Decision Coverage —— every point of entry and exit in the program has been invoked at least once,every condition in the program has taken all possible outcomes at least once,and each condition in a decision has been shown to independently affect a decision S outcome by varying just that condition while holding fixed all other possible conditions.

条件表示不含有布尔操作符号的布尔表达式;
    判定表示由条件和零或者很多布尔操作符号所组成的一个布尔表达式;
    修正条件判定覆盖要求在一个程序中每一种输入输出至少得出现一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每一个判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。

上面的定义有点不好理解,解释一下:
    MC/DC首先要求实现条件覆盖、判定覆盖,在此基础上,对于每一个条件C,要求存在符合以下条件的两次计算:
    1)条件C所在判定内的所有条件,除条件C外,其他条件的取值完全相同;
    2)条件C的取值相反;
    3)判定的计算结果相反。

核心意思是每个条件都要独立影响判定结果。为什么说“两次计算”,而不是“两个用例”呢?当循环中有判定时,一个用例下同一判定可能被计算多次,每次的条件值和判定值也可能不同,因此,一个用例就可能完成循环中判定的MC/DC。

MC/DC是条件组合覆盖的子集。条件组合覆盖要求覆盖判定中所有条件取值的所有可能组合,需要大量的测试用例,实用性较差。MC/DC具有条件组合覆盖的优势,同时大幅减少用例数。满足MC/DC的用例数下界为条件数+1,上界为条件数的两倍,例如,判定中有三个条件,条件组合覆盖需要8个用例,而MC/DC需要的用例数为4至6个。如果判定中条件很多,用例数的差别将非常大,例如,判定中有10个条件,条件组合覆盖需要1024个用例,而MC/DC只需要11至20个用例。

下面是MC/DC的示例:

代码:
    int func(BOOL A, BOOL B, BOOL C)
    {
        if(A && (B || C))
            return 1;
        return 0;
    }

用例:

对于条件A,用例1和用例2,A取值相反,B和C相同,判定结果分别为1和0;
    对于条件B,用例1和用例3,B取值相反,A和C相同,判定结果分别为1和0;
    对于条件C,用例3和用例4,C取值相反,A和B相同,判定结果分别为0和1。

欧美民用航空器 DO-178B标准相关推荐

  1. 民用航空器的机型介绍(波音737系列)

    民用航空器的机型介绍(第一部分737) 民航中常用的飞机机型及其基本介绍 如今,世界民航领域的客机基本上已被美国的波音公司和欧洲的空中客车公司划分.世界上大多数主流的国家和地区航空公司都选择这两家公司 ...

  2. 我国民用航空器飞行需要哪些条件

    民用航空器在飞行之前,机长要对民用航空器进行必要的检查,民用航空器.机场.气象符合飞行的条件,民用航空器才能飞行.关于我国民用航空器飞行需要哪些条件的问题,济南律师咨询已经整理了如下的内容供大家做法律 ...

  3. 2022-2028年中国民用机场行业市场发展潜力及投资前景分析报告

    报告类型:产业研究 报告格式:电子版.纸介版 出品单位:智研咨询-产业信息网 民用机场,是指专供民用航空器起飞.降落.滑行.停放以及进行其他活动使用的划定区域,包括附属的建筑物.装置和设施.民用机场不 ...

  4. 对视频声音,音频进行音量标准化和响度均化,归一化的标准,原理以及具体操作

    为什么要做音频(音量)标准化( Audio normalization)? 当我们在网上寻找音频时,由于制作标准等其他方面影响,会发现下载到的音频声音有的大有的小,比如音乐,这就会导致我们在听的时候需 ...

  5. 5G标准制定,华为未如愿,中国还靠大唐电信

    6月中旬,3GPP全会(TSG#80)完成了第五代移动通信技术(5G NR)独立组网标准,此前华为以PolarCode码成为eMBB场景编码中控制信道编码的最终解决方案成功提升了中国在5G标准中的话语 ...

  6. 铷标准的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

    报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场铷标准的发展现状及未来发展趋势,分别从生产和消费的角度分析铷标准的主要生产地区.主要消费地区以及主要的生产商.重点分 ...

  7. 七年“突围”,可信云如何从行业标准走向国际标准?

    科技云报道原创. 标准是当前国际竞争最重要的话语体系.随着中国在云计算.5G.AI等新兴技术领域快速崛起,中国标准逐渐开始走出国门,从国际标准的被动"接受者"向主要"制定 ...

  8. 全国民用航空机场分布数据[2019]

    区 域: 中国 尺 度: 1:100万 格 式: 矢量 时 间: 2019年12月 时 相:年 民用航空机场是指针对包括跑道型机场.表面直升机场.高架直升机场.船上直升机场.直升机水上平台.滑翔机场. ...

  9. 数据禾|2020年全国民用航空机场分布数据

    民用航空机场是指针对包括跑道型机场.表面直升机场.高架直升机场.船上直升机场.直升机水上平台.滑翔机场.水上机场.有人操纵气球施放场以及其他专供民用航空器起降的划定区域.民用航空机场分为通用航空机场和 ...

最新文章

  1. mysql下载地址与安装
  2. ​HealthKit开发快速入门教程之HealthKit数据的操作
  3. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
  4. arcgis 点坐标python_Python写的arcgis中点坐标txt转面状shp的小程序
  5. kafka reassign 限速_RabbitMQ 与 Kafka 的技术差异以及使用注意点
  6. Vue——vue-chartjs[Vue 对于 Chart.js 的封装]
  7. 与时俱进 | 博客现已运行在 .NET Core 3.0 及 Azure 上
  8. 求生之路显示服务器指令,求生之路2控制台指令..doc
  9. 获取手机idfa_东风无力百花残 | IDFA留给开发者的时间不多了
  10. 别因为要学的太多反而压垮自己
  11. 关于assert和de-assert的解释
  12. itest听力答案2020_大学英语itest2018答案
  13. V4L2 pixel format 格式参考
  14. 级联引用完整性约束ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
  15. VSCode 修改系统界面和编辑面板字体大小
  16. 约8937亿元:台积电创下台湾企业市值最高纪录
  17. python 条形图填充疏密_教你利用Python玩转histogram直方图的五种方法
  18. JavaScript整合版——后端程序员学js,只读一文直接零基础入门,大学生期末考试不挂科宝典。
  19. 一些生活中常用的英语单词
  20. jstack中的nid的含义

热门文章

  1. stl::map之const函数访问
  2. Linux rm , cp, mv 命令
  3. 把字符串复制到剪贴板
  4. SWFUpload flash上传控件
  5. 我的CSDN资源下载怎么被自动设置了积分
  6. Q82:三角形网格[Triangle Mesh]图形的平滑着色[Smooth Shading]
  7. 大数据开发笔记(九):Flink基础
  8. 大数据分析的目的与意义
  9. 大数据分析对企业有什么影响
  10. linux 线程和进程优先级,c – 在linux中更改线程优先级和调度程序