块覆盖和分支覆盖有什么区别?

时间:2016-03-07 13:01:00

标签: unit-testing testing code-coverage metrics code-metrics

块覆盖是否与分支覆盖相同,类似于它还是完全不同?

解释分支范围的最佳Google链接:http://www.tutorialspoint.com/software_testing_dictionary/branch_testing.htm

1 个答案:

答案 0 :(得分:9)

块覆盖(或“基本块覆盖”)和分支覆盖是代码覆盖的两种不同度量。块覆盖计数由分支限制的块。分支覆盖率统计实际分支。

此代码片段

puts "I'm block 1"
if condition
  puts "I'm block 2"
else
  puts "I'm block 3"
end
puts "I'm block 4"

有四个块,但只有两个分支,if / else的两边。如果此代码仅通过一次测试进行测试,并且该测试中condition为真,那么

  • 块1,2和4将被覆盖,因此块覆盖率将为75%
  • if的真正分支将被覆盖,但不会覆盖if的假分支,因此分支覆盖范围将为50%