修正的判定条件覆盖例题_语句覆盖、判断覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件覆盖...
'''
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. 问题背景 代码覆盖(Code coverage)是软 ...
- 判定覆盖白盒测试java_白盒测试--条件判定覆盖和修正条件判定覆盖的差异
1 简介 文章的目的在于通过比较发现条件判定覆盖(即Condition/Decision Coverage C/DC)和修正条件判定覆盖(Modified Condition/Decision Cov ...
- mysql 设置的黑名单_在SQL中实现多条件任意组合黑名单的方法
最近的一个项目中,在对故障工单进行自动语音督办的时候,需要在某个时段对某种组合条件下的工单不督办.如在实时督办中,对所有区域告警ID为"FF--1057361341"工单,白天不督 ...
- 怎样跳出Python条件语句 继续判断下一个条件语句_Python条件判断、循环与迭代...
昨天学完了数据类型,那么今天学习什么鸭? 惨绿青年:今天来学习条件判断.循环和迭代吧. 条件判断 惨绿青年:说条件判断之前,先给你说下前面的布尔值. 我:布尔值咋了,怎么又说它鸭? 惨绿青年:布尔值不 ...
- 判断kkt条件的例题_浅谈最优化问题的KKT条件
最近学习了最优化理论,正好学到了机器学习中支持向量机(Support Vector Machine)和最大熵模型(Maximum Entropy Model)中用到的KKT条件(Karush–Kuhn ...
- 判定覆盖白盒测试java_白盒测试系列(四)条件判定覆盖
条件判定覆盖 一.定义: 程序中每个判定至少有一次为真值,有一次为假值,使得程序中每个分支至少执行一次, 且使得各判定中的每个条件获得各种可能的取值至少满足一次. 二.特点: 1.综合了条件覆盖和判定 ...
- if语句中同时判断多个条件的多种方法
总结一下自己经常用到的python中的if语句同时判断多个条件的不同方法,假设有: x, y, z = 0, 1, 0 方法一,多个逻辑运算符一起使用,这也是最常用的写法: if x == 1 or ...
- 第7课_Python条件语句的判断
主讲老师:郭盛华 Python免费视频教学,人生苦短,我用python!今天教大家学习Python条件语句的判断.Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行 ...
- 判定的测试,语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,组合覆盖,修正的判定条件覆盖
下面只是个人理解,可能有不准确之处! 1 语句覆盖 2 判定覆盖(分支覆盖) 3 条件覆盖 4 判定/条件覆盖 5 组合覆盖 6 修正的判定/条件覆盖 1 语句覆盖 每个可执行语句都走一遍,即测试用例 ...
- python多个条件组合覆盖_白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...
·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 六种覆盖方法 首先为了下文的举例描述方便,这里先给出一张程序流程图.(本文以1995年软件设计师考试的一道考试题目为例,图中红 ...
最新文章
- 夺命雷公狗-----tp中遇到数据乘积的问题的遇见
- ubuntu远程桌面连接命令rdesktop连接windows远程桌面详解
- 深入浅出:Microsoft分布式事务处理协调器
- 重量级 | 重量级!Maven史上最全教程,看了必懂
- 【389天】跃迁之路——程序员高效学习方法论探索系列(实验阶段146-2018.03.01)...
- os如何读取图片_CV:基于face库利用cv2调用摄像头根据人脸图片实现找人
- linux dhcp rpm 安装
- 懒人的小技巧, 批处理修改IP
- asp.net(C#)软件中多语言解决方案
- 概率论:集合、假设检验、分布、矩阵、估计
- android进阶指导
- C语言——自动关机小程序
- jpa方言的yml格式
- linux打开笔记本摄像头驱动程序,Linux下使用Opencv打开笔记本摄像头
- 为什么计算机关机后自动开机,老司机教你电脑关机后自动开机怎么办
- JSP设置Excel表格换行_Excel单元格内换行简单操作!新手易懂超实用!
- pip安装命令大全(持续更新)
- DSS 決策支援系統
- 2021年中国锰酸锂行业现状分析:产量同比增长45.9%[图]
- Jetson TX1板载相机调用测试