2013-10-07 123 views
5

聲納給出了總覆蓋率,它是線條和分支覆蓋率的組合。我不確定這個指標有多重要。整體覆蓋的價值是什麼意思?它如何比線路和分支機構覆蓋更好?任何的意見都將會有幫助。聲納 - 整體覆蓋範圍

回答

3

下面是整體覆蓋率計算:http://docs.codehaus.org/display/SONAR/Metric+definitions#Metricdefinitions-Tests

如果分支覆蓋率比線覆蓋(因此比總體覆蓋率低)時,就意味着你的單元測試,測試的主要情況,但沒有真正的極端情況。

+0

感謝大衛!如果整體覆蓋率是線路和分支覆蓋的組合,這些分數如何加入?由於兩者都衡量所涵蓋的代碼量,因此我仍然不確定線路和整體覆蓋範圍之間的差異。 – Pavneet

+1

此答案不完整。有一個覆蓋度量標準,它確實是所描述的線路和分支覆蓋的組合。但overall_coverage指標是集成測試覆蓋率(it_coverage)和單元測試覆蓋率(覆蓋率)的組合。如果任一測試涵蓋一條線或條件,則將其計算爲涵蓋範圍。 – David

3

聲納的文檔:

這是行覆蓋和條件覆蓋的組合。它的目標是讓 爲以下問題提供更準確的答案:單元測試如何覆蓋大部分源代碼?

Coverage = (CT + CF + LC)/(2*B + EL) 

where 

CT = conditions that have been evaluated to 'true' at least once 
CF = conditions that have been evaluated to 'false' at least once 
LC = covered lines = lines_to_cover - uncovered_lines 

B = total number of conditions 
EL = total number of executable lines (lines_to_cover) 

來源:http://docs.sonarqube.org/display/SONAR/Metric+definitions(拍攝23/02/2015)