条件覆盖,路径覆盖,语句覆盖
转自http://hi.baidu.com/%D2%D7%B1%D8%BA%C6/blog/item/f016729f4fbeaebbc9eaf4df.html
语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误;判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误; 条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支;判定/条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次;条件组合覆盖是使每个判定中条件结果的所有可能组合至少出现一次,因此判定本身的所有可能解说也至少出现一次,同时也是每个条件的所有可能结果至少出现一次;路径覆盖是每条可能执行到的路径至少执行一次;其中语句覆盖是一种最弱的覆盖,判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖,条件组合覆盖是除路径覆盖外最强的,路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
举个例子吧
if A and B
then Action1
if C or D
then Action2
语句覆盖最弱,只需要让程序中的语句都执行一遍即可 。上例中只需设计测试用例使得A=true B=true C=true 即可。
分支覆盖又称判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假均曾被满足。上例需要设计测试用例使其分别满足下列条件即可(1)A=true,B=true,C=true,D=false(2)A=true,B=false,C=false,D=false。
条件覆盖:要使得每个判断中的每个条件的可能取值至少满足一次。上例中第一个判断应考虑到A=true,A=false,B=true,B=false第二个判断应考虑到C=true,C=false,D=true,D=false,所以上例中可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false。
路径覆盖:要求覆盖程序中所有可能的路径。所以可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。
不论那种覆盖方法,都不能保证程序的正确性。
条件覆盖,路径覆盖,语句覆盖相关推荐
- 语句覆盖、分支覆盖、谓词测试和路径覆盖
目录 语句覆盖 分支覆盖(判定覆盖) 谓词测试 原子谓词覆盖(条件覆盖) 分支-谓词覆盖(判定条件覆盖或分支条件覆盖) 复合谓词覆盖(条件组合覆盖) 路径覆盖 包含关系 语句覆盖 "语句覆盖 ...
- 控制流测试 (语句覆盖、分支覆盖、判定覆盖、路径覆盖) 与条件测试
控制流测试 控制流测试 (Control Flow Testing):是一种在考虑测试对象的控制流情况下导出测试用例的测试方法,并且借助于控制流图能评估测试的完整性(覆盖率). 原则 控制流图是一个带 ...
- 【大学生软件测试基础】三角形类型 - 白盒测试 - 语句覆盖 -02
根据三角形三边的关系可将三角形分为4种类型:不构成三角形.一般三角形.等腰三角形.等边三角形.根据该原则实现一个判断三角形的程序. 任务1.依据源代码画出程序流程图: 任务2.根据程序流程图,找出程序 ...
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
转:软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别 举个例子吧 if A and B then Action1 if C or D then ...
- 白盒测试:语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖
1语句覆盖 使所有的判断语句都能执行一次的条件案例,例如当判断语句事组合语句的时候,并且用or连接,只满足一个案例即可 2判定覆盖(分支覆盖) 针对判断语句,在设定案例的时候,要设定True和Fals ...
- 白盒测试:语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖...
1语句覆盖 使所有的判断语句都能执行一次的条件案例,例如当判断语句事组合语句的时候,并且用or连接,只满足一个案例即可 2判定覆盖(分支覆盖) 针对判断语句,在设定案例的时候,要设定True和Fals ...
- 详解软件测试中白盒测试基本概念及四种白盒测试方法以及六种逻辑覆盖法(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)
在这篇文章中,我们将讲解白盒测试的基本概念,以及四大常用的白盒测试方法. 一.白盒测试基本概念 1.白盒测试的定义 白盒测试又称为结构测试或逻辑驱动测试,它是把测试对象看成一个透明的盒子,它允许测试人 ...
- 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖.
第一题: 设计测试用例实现语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖. [1]语句覆盖(设计若干个测试用例,使程序中的每个可执行语句至少执行一次) (x>3)& ...
- python多个条件组合覆盖_白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖...
·昂贵 ·无法检测代码中遗漏的路径和数据敏感性错误 ·不验证规格的正确性 六种覆盖方法 首先为了下文的举例描述方便,这里先给出一张程序流程图.(本文以1995年软件设计师考试的一道考试题目为例,图中红 ...
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误: 判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所 ...
最新文章
- 2015 年最受 Linux 爱好者欢迎的软硬件大盘点
- 获取父页面URL的参数对应值及左对齐字符串
- 教你如何让电脑的ADSL宽带连接开机自动拨号
- 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
- 手动将jar添加到maven仓库中
- 主流TTLCMOS电平介绍
- vue中@符号表示什么意思?
- 通过javascript实现的轻量级模态框解决方案(支持Ajax)
- git使用回滚,清除暂缓区,解决冲突(持续更新)
- 改变numpy的大小_Numpy入门详细教程
- Atitit 词法分析器的设计最佳实践说明attilax总结
- stm32气压传感器 带探头的_几种常用传感器
- Shiro总结和常见面试题
- 27.【小学五年级】确定母亲节
- 产品经理必修课之互联网产品设计流程
- 3点15分夹角多少度
- html实现微信扫一扫,JS 实现微信扫一扫功能
- 演唱会系统mysql_演唱会售票管理系统数据库设计.doc
- 如何介绍自己测试过的项目
- SqlDbx 连接mysql 数据库