(MC/DC :ModifiedCondition/Decision Coverage)程序中的每个入口点和出口点至少被调用一次;判定中每个条件的所有取值至少出现一次;每个判定的所有可能结果至少出现一次;每个条件都能独立地影响判定的结果,即在其它所有条件不变的情况下改变该条件的值,使得判定结果改变。

通过多次计算MC/DC的覆盖率,现总结一下两点快速计算结果的方法:

1:有多个IF语句,并且没有嵌套关系。

只需要得到IF语句中所有不重复的条件个数n,然后加1。就是结果值

例如:

if(A and B)
{section;
}if(C and D)
{section;
}

有A, B, C, D 四个条件,所以n = 4
则最终结果为 n+1 = 5

n是不重复条件的个数,如果有重复的条件则只计数一个
例如:

if(A and B)
{section;
}if(A and D)
{section;
}

这个例子中有两个一样的条件A,只计数一次,所以n=3
最终结果为n+1 = 4

2:多个IF语句,有嵌套关系。

那么就分别计算每个IF语句的MC/DC的值,取最大值作为多个有嵌套关系IF语句的 MC/DC的值

例如:

if(A and B or C)
{if(E and F){section;}
}

第一个if的 条件个数n = 3 , mc/dc的值为 n+1 = 4;
第二个if的 条件个数n = 2 , mc/dc的值为 n+1 = 3;
取最大值,则整体的mc/dc的值为4;

MC/DC覆盖的计算总结相关推荐

  1. MC/DC(修正条件/判定覆盖):如何达到100%覆盖率?

    文章目录 MC/DC(修正条件/判定覆盖) 一个测试需求结构的成功方法 TPT与MC/DC MC/DC(修正条件/判定覆盖) MC/DC虽然是软件测试中的一个通用术语,但是它的正确用法以及安全相关的角 ...

  2. 选择代码覆盖工具的 10 个标准

    为了开发安全可靠的软件,测试是质量保证中不可或缺的一部分.如果没有充分和记录在案的测试,就不可能确定软件是否安全且功能正确.在这种情况下,代码覆盖率(测试覆盖率)的测量尤为重要.这是因为它可以用来确定 ...

  3. 控制流测试 (语句覆盖、分支覆盖、判定覆盖、路径覆盖) 与条件测试

    控制流测试 控制流测试 (Control Flow Testing):是一种在考虑测试对象的控制流情况下导出测试用例的测试方法,并且借助于控制流图能评估测试的完整性(覆盖率). 原则 控制流图是一个带 ...

  4. 2018年下半年《软件评测师》下午试卷及答案

    (共15分) 一.阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内. 问题:1.1   (3分) 请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件. 本问题考查白盒测试用例 ...

  5. 【软考软件评测师】2020年下案例分析历年真题

    [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题 [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题第一题(15分) 2020下案例分析历年真题第二题 ...

  6. 【软考软件评测师】2015年下案例分析历年真题

    [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题 [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题第一题(15分) 2015下案例分析历年真题第二题 ...

  7. 怎样才能保证单元测试效果

    1.衡量测试效果的基本指标:白盒覆盖 衡量测试效果的基本指标是白盒覆盖率,即统计测试对代码逻辑单位的覆盖状况.代码的逻辑单位主要有:语句(块),条件.判定.分支.路径.常用的白盒覆盖有六种:语句覆盖. ...

  8. 测试理论 | 测试分析主要方法

    阿里 qa 导读:什么是测试分析方法?主要的测试分析方法有哪些?本期新人手册思考篇将为大家一一介绍主要的测试分析方法及其特点 主要测试分析方法及其特点 从测试方法上来看,大致可以分成黑盒测试和白盒测试 ...

  9. 【软考软件评测师】2017年下案例分析历年真题

    [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题 [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题第一题(15分) 2017下案例分析历年真题第二题 ...

最新文章

  1. BIND 子域授权的实现和区域转发实现
  2. IDEA插件-生成对象所有set方法--->GenerateAllSetter
  3. [AI开发]基于深度学习的视频多目标跟踪实现
  4. pycharm中使用anaconda中python环境
  5. 微服务框架 Go-Micro 集成 Nacos 实战之服务注册与发现
  6. 【转】激活物料分类帐
  7. 面向对象三大特性之一:多态(C++)
  8. 用户研究,你还在“凭感觉”吗?
  9. LVS峰会 | 阿里云李刚:下一代低延时的直播CDN
  10. 【Linux】一步一步学Linux——sudo配置文件详解(106)
  11. kafka集群下载、启动、部署、测试
  12. xjc java_xjc命令转换成java类乱码
  13. 使用eclipse配置adt
  14. 抓取android log,一键抓取Android的Locat Log
  15. 哪些股票自动交易接口好用呢?
  16. MATLAB---绘制三维图形函数实例介绍
  17. 【SNA】社会网络分析二 Gephi 功能详解
  18. 排水管网信息系统、市政排水管网信息化智慧化管理
  19. 微指令和指令(机器指令)有什么区别?
  20. 沉痛悼念恩师莫绍揆先生

热门文章

  1. strtol,strtoul,strtod
  2. group by 与 order by的用法
  3. ACM-ICPC 2018 南京赛区网络预赛 K. The Great Nim Game(博弈)
  4. JDK8——IntStream
  5. Java 基本数据类型 编码方式(小记1.7)
  6. msm8953-配置I2C 速率
  7. 大众点评评论抓取-CSS加密破解
  8. 字节跳动在 RocksDB 存储引擎上的改进实践
  9. 利好:加快发展统一的资本市场
  10. FigDraw 13. SCI 文章绘图之桑葚图及文章复现(Sankey)