综合百科行业百科金融百科经济百科资源百科管理百科
管理百科
管理营销
资源百科
人力财务
经济百科
经济贸易
金融百科
金融证券
行业百科
物流咨询
综合百科
人物品牌

语句覆盖

  	      	      	    	    	      	    

语句覆盖(Statement Coverage)

目录

什么是语句覆盖

  语句覆盖是指设计若干个测试用例,运行被测程序,使得程序中每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖在测试中主要发现缺陷或错误语句。语句覆盖常常被人指责为“最弱的覆盖”,它只管覆盖代码中的执行语句,却不考虑各种分支的组合等等。

  语句覆盖率=被评价到的语句数量/可执行的语句总数*100%。

语句覆盖的举例分析

  右图是一个被测试的程序,它的源程序是:

  PROCEDURE M(VAR A,B,X:REAL);

  BEGIN

  IF (A>1) AND (B=0) THEN X:=X/A;

  IF (A=2) OR (X>1) THEN X:=X+1;

  END.

  为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:

   A=2,B=0,X=3

  就可达到“语句覆盖”标准。

  从本例可看出,语句覆盖实际上是很弱的,如果第一个条件语句中的AND错误地编写成OR,上面的测试用例是不能发现这个错误的;又如第三个条件语句中X>1误写成X>0,这个测试用例也不能暴露它,此外,沿着路径abd执行时,X的值应该保持不变,如果这一方面有错误,上述测试数据也不能发现它们。