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

S V*_*S V 7 testing metrics unit-testing code-coverage code-metrics

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

解决分支机构范围的Google链接:http://www.tutorialspoint.com/software_testing_dictionary/branch_testing.htm

Dav*_*uth 12

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

这段代码片段

puts "I'm block 1"
if condition
  puts "I'm block 2"
else
  puts "I'm block 3"
end
puts "I'm block 4"
Run Code Online (Sandbox Code Playgroud)

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

  • 第1,第2和第4区块将被覆盖,因此区块覆盖率将为75%
  • if将涵盖真正的分支,但不包括假分支if,因此分支覆盖率将为50%