软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
2015-10-27 15:34
162 查看
转载来自:http://www.cnblogs.com/ganmk/archive/2008/11/07/1328585.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。
不论那种覆盖方法,都不能保证程序的正确性。
举个例子吧
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。
不论那种覆盖方法,都不能保证程序的正确性。
相关文章推荐
- 初学NDK
- iOS bundle id的作用
- 讯飞语音识别Android-Demo
- win8系统配置开发环境记录
- 030.For 循环代替 While 循环
- 判断设备的代码
- 【机器学习算法】之朴素贝叶斯
- IOS开发编译错误:"std::terminate()", referenced from:"
- Fiddler+Jmeter+断言详细教程
- GitHub开源项目总结
- sqlserver中查询表,查询表的字段方式
- ip sla详解和实验
- 031.Nested Loop 嵌套循环
- PASSION之Linux中netstat命令和管道命令
- Linux IPMI 安装配置实用
- Firefox如何设置成中文
- sqlserver中查询表,查询表的字段方式
- 杭电3068 最长回文 最长回文的manacher算法
- eclipse中启动tomcat,网页中打不开tomcat的主页,且项目不在tomcat中的webapp中
- hibernate.cfg.xml