语句覆盖(Statement coverage)

一、语句覆盖(Statement coverage)

语句覆盖”是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。                                         

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

PROCEDURE M(VAR ABXREAL)  

BEGIN

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

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

END. 

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

 A=2B=0X=3

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

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

总之,一般认为“语句覆盖”是很不充分的一种标准。


Published by

风君子

独自遨游何稽首 揭天掀地慰生平