合聚咖

合聚咖

白盒测试的覆盖方法有哪些

admin

(1)语句覆盖

使程序中的每个可执行语句都能执行一次的测试用例

测试用例条件: A ^ B = T

(2)判定覆盖(分支覆盖)

  对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况

测试用例条件:

A ^ B = T

A ^ B = F

(3)条件覆盖

  设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果

测试用例条件:

A=T     A=F

B=T     B=F

(4)判定条件覆盖(分支条件覆盖)

  设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。

测试用例条件:

A ^ B = T    A ^ B = F

A=T     A=F

B=T     B=F

(5)条件组合覆盖

设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次

测试用例条件:

A= T    B= T

A= T    B= F

A= F    B= T

A= F    B= F

(6)路径覆盖

设计测试用例时,覆盖程序中所有可能的执行路径

优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。