条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
来源:互联网 发布:修改ssh端口号 编辑:程序博客网 时间:2024/05/01 22:59
原文链接:http://www.cnblogs.com/fickleness/archive/2013/09/12/3317099.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。
不论那种覆盖方法,都不能保证程序的正确性。
设计白盒测试用例时,(49)是最弱的覆盖准则。下图至少需要(50)个测试用例才可以进行路径覆盖。
(49)A.路径覆盖
B.条件覆盖
C.判定覆盖
D.语句覆盖
(50)A.1
B.2
C.3
D.4
正确答案:D,C
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖
- 测试覆盖:语句覆盖 判定覆盖(即分支覆盖) 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中的语句覆盖,分支覆盖,条件覆盖以及路径覆盖
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
- 【测试】语句覆盖,判定覆盖,条件覆盖,路径覆盖
- 白盒测试:语句覆盖、条件覆盖、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖
- 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
- 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
- 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
- 找含单链表的环入口点
- VideoView的相关方法
- Binder
- 组播及igmp协议详解
- KindEditor得不到textarea值的解决方法
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
- iOS——在ARC下引入MRC文件
- ThoughtWorks代码挑战——FizzBuzzWhizz游戏
- 小白学习python的进阶之路
- iOS中AutoLayer自动布局流程及相关方法
- CALayer中的position与anchorPoint
- Struts2_CRUD
- Codeforces Round #201 (Div. 2) C 数论
- C++泛型笔记