首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
条件覆盖是几种逻辑覆盖标准中查错能力最强的。( ...
[单选题]
条件覆盖是几种逻辑覆盖标准中查错能力最强的。( )
对
错
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(54)
分享
纠错
1个回答
添加回答
8
东风雪
逻辑覆盖
方法有以下6种:
语句覆盖
判定覆盖
(即
分支覆盖
)
条件覆盖
判定-条件覆盖
条件组合覆盖
路径覆盖
1.
语句覆盖
:
设计若干
测试用例
,运行被测程序,使程序中每个可执行语句至少执行一次。只需设计一个测试用例:a=2,b=1,c=6;即达到了语句覆盖。
【优点】 :可以很直观地从
源代码
得到测试用例,无须细分每条判定表达式。
【缺点】 :由于这种测试方法仅仅针对
程序逻辑
中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的
逻辑运算
中无法全面的考虑。语句覆盖是最弱的
逻辑覆盖
。
2.
判定覆盖
: 设计若干测试用例,运行被测程序,使得程序中每个分支的取
真值
和取
假值
至少一次,即判断真假值均曾被满足。a=2,b=1 ,c=6(M,Q分支全为真)和a=-2,b=-1 ,c=-3(M,Q分支全为假)这两组
测试用例
可覆盖所有判定的真假分支。
【优点】:判定覆盖具有比
语句覆盖
更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。
【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。
判定覆盖
仍是弱的
逻辑覆盖
。
3.
条件覆盖
:设计若干测试用例,执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。
判断M
表达式
:设条件 a>0 取真 记为 T1 ;假F1
条件 b>0 取真 记为 T2 ;假F2
判断Q表达式:设条件 a>1 取真 记为 T3 ;假F3
条件 c>1 取真 记为 T4 ;假F4
我们用条件覆盖设计的思想就是让
测试用例
能覆盖T1、T2、T3、T4、F1、F2、F3、F4
【优点】:增加了对条件判定情况的测试,增加了测试路径。
【缺点】:
条件覆盖
不一定包含
判定覆盖
。例如,我们刚才设计的用例就没有覆盖判断M的Y分支和判断Q的N分支。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。
4.判定-条件覆盖:设计足够的
测试用例
,使得判断条件中的所有条件可能至少执行一次取值,同时,所有判断的可能结果至少执行一次。
测试用例要满足如下条件:1.所有条件可能至少执行一次取值;2.所有判断的可能结果至少执行一次。
【优点】 :能同时满足判定、条件两种覆盖标准。
【缺点】 :判定/
条件覆盖
准则的缺点是未考虑条件的组合情况。
5.
条件组合覆盖
:设计足够的测试用例,使得所有可能的条件取值组合至少执行一次。
【优点】 :条件组合覆盖准则满足
判定覆盖
、条件覆盖和判定/条件覆盖准则。
【缺点】 :线性地增加了
测试用例
的数量。
6.
路径覆盖
:设计所有的测试用例,来覆盖程序中的所有可能的执行路径 。
【优点】 :这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。
【缺点】 :需要设计大量、复杂的测试用例,使得工作量呈指数级增长,不见得把所有的条件组合都覆盖。
从前面的例子我们可以看到,采用任何一种覆盖方法都不能满足我们的要求,所以,在实际的
测试用例设计
过程中,可以根据需要将不同的覆盖方法组合起来使用,以实现最佳的测试用例设计 。
发表于 2018-07-23 15:24:52
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
广联达
算法工程师
PHP工程师
Java工程师
来自:
广联达2018测试工程...
上传者:
小小
难度:
1条回答
54收藏
4997浏览
热门推荐
相关试题
【编程题】给出一个非负整数数组,你...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
广联达
评论
(1)
来自
广联达2018校招开发工...
下面描述中,符合结构化程序设计风格...
搜狐
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
某查询语句中有“%田_”语句,则可...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
广联达
评论
(4)
来自
广联达2018测试工程师...
在 SQL 语句中,检索要去掉重复...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
广联达
评论
(1)
来自
广联达2018测试工程师...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题