'''

int function(bool  a,bool  b,bool   c){

int x;

x=0;

if(a&&(b||c)){

x=1;

return x;

}

}

'''

1、语句覆盖(SC)

选择足够多的测试数据,使得被测程序中的每条语句至少执行一次。

测试用例:a=T,b=T,c=T

2、判断覆盖(DC)

设计足够的测试用例,使得程序中的每个判定至少都获得一次真值或假值。或者使得程序中的每一个取真分支和取假分支至少经历一次,因此判定覆盖又称为分支覆盖。

上述两组测试用例不仅满足了判定覆盖,而且满足了语句覆盖,从这一点看,判定覆盖要比语句覆盖更强一些,但是同样的,假如这一程序段中判定的逻辑运算有问题。判定的第一个运算符  &&  错写成运算符  || 。或者第二个运算符 ||  错写成运算符 &&,这时使用上面的测试用例可以达到100%的判定覆盖,仍然无法发现上述的逻辑问题。

3、条件覆盖(CC)

构造一组测试用例,使得每一判定语句中,每个逻辑条件的可能是至少满足一次。

用例一:

a=F,b=T,c=F

a=T,b=F,c=T

用例一在满足条件覆盖的同时,把判定的两个分支也覆盖了。是否可以说,达到了条件覆盖就必然实现了判定覆盖呢?

用例二:

a=F,b=T,c=T

a=T,b=F,c=F

用例二覆盖了条件的测试用例并没有覆盖分支。

4、条件判定组合覆盖(CDC)

设计足够的测试用例,使得判定中的每个条件的所有可能真或假,至少出现一次,并且每个判定本身的判定结果真或假也至少出现一次。

5、多条件覆盖(MCC)

设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足多条件覆盖的测试用例是一定满足,判定覆盖、条件覆盖、条件判定组合覆盖的。

测试用例指数级增加(2**conditions)

6、修正条件覆盖(MCDC)

它要求满足两个条件,首先,每一个程序模块的入口和出口都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;其次程序的判定被分解为通过逻辑操作符(and、or)连接的bool条件,每个条件对于判定的结果值是独立的。

从表中我们可以看出,布尔变量a可以通过用例1和5达到MCDC的要求(用例2和6或者用例3和7也可以满足相应要求)。变量b也可以通过用例2和4 达到MCDC的要求。变量c可以通过用例3和4达到MCDC的要求。因此用例集{1,2,3,4,5}即可满足MCDC的要求。显而易见,这不是唯一的用力结合。

a  1,5 (TF)        2,6(TF)       3,7(TF)       4,8(FF)  ---->符合条件:1,5 (TF)        2,6(TF)       3,7(TF)

b   1,3 (TT)       2,4(TF)       5,7(FF)       6,8(FF)  ---->符合条件:  2,4(TF)

c   1,2(TT)        3,4(TF)       5,6(FF)       7,8(FF)  ---->符合条件:  3,4(TF)

用例集:{1,2,3,4,5}

{2,3,4,6}

{2,3,4,7}

修正的判定条件覆盖例题_语句覆盖、判断覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件覆盖...相关推荐

  1. 修正的判定条件覆盖例题_硬核:嵌入式代码覆盖率统计方法和经验

    代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例计算得出.代码覆盖率可以有效避免包含未测试代码的程序被发布. 1. 问题背景 代码覆盖(Code coverage)是软 ...

  2. 判定覆盖白盒测试java_白盒测试--条件判定覆盖和修正条件判定覆盖的差异

    1 简介 文章的目的在于通过比较发现条件判定覆盖(即Condition/Decision Coverage C/DC)和修正条件判定覆盖(Modified Condition/Decision Cov ...

  3. mysql 设置的黑名单_在SQL中实现多条件任意组合黑名单的方法

    最近的一个项目中,在对故障工单进行自动语音督办的时候,需要在某个时段对某种组合条件下的工单不督办.如在实时督办中,对所有区域告警ID为"FF--1057361341"工单,白天不督 ...

  4. 怎样跳出Python条件语句 继续判断下一个条件语句_Python条件判断、循环与迭代...

    昨天学完了数据类型,那么今天学习什么鸭? 惨绿青年:今天来学习条件判断.循环和迭代吧. 条件判断 惨绿青年:说条件判断之前,先给你说下前面的布尔值. 我:布尔值咋了,怎么又说它鸭? 惨绿青年:布尔值不 ...

  5. 判断kkt条件的例题_浅谈最优化问题的KKT条件

    最近学习了最优化理论,正好学到了机器学习中支持向量机(Support Vector Machine)和最大熵模型(Maximum Entropy Model)中用到的KKT条件(Karush–Kuhn ...

  6. 判定覆盖白盒测试java_白盒测试系列(四)条件判定覆盖

    条件判定覆盖 一.定义: 程序中每个判定至少有一次为真值,有一次为假值,使得程序中每个分支至少执行一次, 且使得各判定中的每个条件获得各种可能的取值至少满足一次. 二.特点: 1.综合了条件覆盖和判定 ...

  7. if语句中同时判断多个条件的多种方法

    总结一下自己经常用到的python中的if语句同时判断多个条件的不同方法,假设有: x, y, z = 0, 1, 0 方法一,多个逻辑运算符一起使用,这也是最常用的写法: if x == 1 or ...

  8. 第7课_Python条件语句的判断

    主讲老师:郭盛华 Python免费视频教学,人生苦短,我用python!今天教大家学习Python条件语句的判断.Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行 ...

  9. 判定的测试,语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,组合覆盖,修正的判定条件覆盖

    下面只是个人理解,可能有不准确之处! 1 语句覆盖 2 判定覆盖(分支覆盖) 3 条件覆盖 4 判定/条件覆盖 5 组合覆盖 6 修正的判定/条件覆盖 1 语句覆盖 每个可执行语句都走一遍,即测试用例 ...

  10. python多个条件组合覆盖_白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...

    ·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 六种覆盖方法 首先为了下文的举例描述方便,这里先给出一张程序流程图.(本文以1995年软件设计师考试的一道考试题目为例,图中红 ...

最新文章

  1. 夺命雷公狗-----tp中遇到数据乘积的问题的遇见
  2. ubuntu远程桌面连接命令rdesktop连接windows远程桌面详解
  3. 深入浅出:Microsoft分布式事务处理协调器
  4. 重量级 | 重量级!Maven史上最全教程,看了必懂
  5. 【389天】跃迁之路——程序员高效学习方法论探索系列(实验阶段146-2018.03.01)...
  6. os如何读取图片_CV:基于face库利用cv2调用摄像头根据人脸图片实现找人
  7. linux dhcp rpm 安装
  8. 懒人的小技巧, 批处理修改IP
  9. asp.net(C#)软件中多语言解决方案
  10. 概率论:集合、假设检验、分布、矩阵、估计
  11. android进阶指导
  12. C语言——自动关机小程序
  13. jpa方言的yml格式
  14. linux打开笔记本摄像头驱动程序,Linux下使用Opencv打开笔记本摄像头
  15. 为什么计算机关机后自动开机,老司机教你电脑关机后自动开机怎么办
  16. JSP设置Excel表格换行_Excel单元格内换行简单操作!新手易懂超实用!
  17. pip安装命令大全(持续更新)
  18. DSS 決策支援系統
  19. 2021年中国锰酸锂行业现状分析:产量同比增长45.9%[图]
  20. Jetson TX1板载相机调用测试

热门文章

  1. 知弥深度清理大师隐私政策
  2. 随机森林回归预测_jupyter notebook
  3. xshell 安装包(百度网盘)+安装过程连接虚拟机注意事项
  4. 最短路:dijkstra算法
  5. ArcGIS 实验理论基础六 ArcCatalog中空间数据的操作
  6. Tomcat 中文乱码
  7. Delta并联机构静力学分析
  8. 教你用3DMAX打造个性鲜明卡通角色
  9. 爬虫--网络数据采集
  10. 车型代号对照表_上海大众车型与VIN代号对照表