软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别

来源:互联网 发布:一号店软件吧 编辑:程序博客网 时间:2024/04/18 21:38

转载来自: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。   
    
  不论那种覆盖方法,都不能保证程序的正确性。   
0 0
原创粉丝点击