2012-07-19 44 views
18

Tôi biết sự khác nhau giữa độ bao phủ của hàng và chi nhánh là gì, nhưng sự khác biệt giữa độ bao phủ của mã và mức độ phù hợp của mã là gì? Đây là bảo hiểm hướng dẫn trước đây?Sự khác biệt giữa độ bao phủ của mã và phạm vi phủ sóng trong sonar

+0

mức độ phù hợp dường như là chỉ số được tính toán, cần xem xét phạm vi phủ sóng và chi nhánh. Không thể tìm thấy công thức mặc dù: D – oers

+0

do đó là câu hỏi. Tôi nghĩ rằng đó là hướng dẫn bảo hiểm như một dòng mã java có thể có nhiều hướng dẫn hai là khác nhau. Có lẽ sẽ có một câu trả lời có thẩm quyền ở đây;) –

+0

fabrice từ sonar roams thẻ này, vì vậy tôi nghĩ rằng sẽ nhận được một số thông tin :) – oers

Trả lời

29

Mức độ phù hợp là sự kết hợp tinh tế ;-) của đường kẻ và phạm vi phủ sóng của chi nhánh.

Bạn có thể tìm thấy công thức trên metric description page của chúng tôi:

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

where 

CT - branches that evaluated to "true" at least once 
CF - branches that evaluated to "false" at least once 
LC - lines covered (lines_to_cover - uncovered_lines) 

B - total number of branches (2*B = conditions_to_cover) 
EL - total number of executable lines (lines_to_cover) 
+0

tuyệt vời, tôi đã không thể tìm thấy trang đó thông qua google ... THanks! –

+0

Tôi nghĩ rằng bạn cần phải cập nhật một từ trong URL của bạn để có được URL sau: http://docs.sonarqube.org/display/SONAR/Metric+definitions#Metricdefinitions-Tests ('sonarqube' thay vì' codehaus') –

+1

Thật vậy, cảm ơn thông báo! Đã cập nhật liên kết. –

2

Để mở rộng câu trả lời, bạn chỉ có thể truy vấn sonar cho các điều khoản:

  1. conditions_to_cover
  2. uncovered_conditions
  3. lines_to_cover
  4. uncovered_lines

Và sau đó bạn có thể bí mật với các điều khoản trên sử dụng các phương trình:

CT + CF = conditions_to_cover - uncovered_conditions 
2*B = conditions_to_cover 
LC = lines_to_cover - uncovered_lines 
EL = lines_to_cover 

Bạn có thể sử dụng Sonar Drilldown hoặc REST API để có được những giá trị chỉ số trên:

http://my.sonar.com/drilldown/measures/My-Project-Name?metric=line_coverage 

http://my.sonar.com/api/resources?resource=55555&metrics=ncloc,conditions_to_cover,uncovered_conditions,lines_to_cover,uncovered_lines,coverage,line_coverage,branch_coverage,it_conditions_to_cover,it_uncovered_conditions,it_lines_to_cover,it_uncovered_lines,it_coverage,it_line_coverage,it_branch_coverage,overall_conditions_to_cover,overall_uncovered_conditions,overall_lines_to_cover,overall_uncovered_lines,overall_coverage,overall_line_coverage,overall_branch_coverage 

này bài đăng trên blog có thông tin bổ sung: http://sizustech.blogspot.com/2015/10/making-sense-of-sonar-qube-stats-like.html

Các vấn đề liên quan