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

举个例子吧  
  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。  
   
  不论那种覆盖方法,都不能保证程序的正确性。  
posted @ 2008-11-07 09:32  凌点  阅读(11727)  评论(0编辑  收藏  举报