Sonar參數(shù)分析報告_第1頁
Sonar參數(shù)分析報告_第2頁
Sonar參數(shù)分析報告_第3頁
Sonar參數(shù)分析報告_第4頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、. .Sonar 參數(shù)分析API compatibility1. API behavior changes-Clirr Plugin正常接口變化數(shù)2. API breaks-Clirr Plugin可能引發(fā)錯誤的接口變化3. New API-Clirr Plugin新增接口數(shù)4. Total API Changes-Clirr Plugin接口變化總數(shù)注:以上參數(shù)需要依賴于 Clirr ,暫時仍存在問題Architecture5. Architecture- Total Quality Plugin架構(gòu)質(zhì)量計算方式:ARCH = 100 TITI = Tangle Index6. Archit

2、ecture Tangle Index- Total Quality Plugin架構(gòu)復(fù)雜指標(biāo)Complexity7. Complexity 默認(rèn)復(fù)雜度8. Complexity /class 默認(rèn)類復(fù)雜度9. Complexity /file 默認(rèn)文件復(fù)雜度10. Complexity /method 默認(rèn)方法復(fù)雜度11. Complexity Factor- Quality Index Plugin復(fù)雜度因素計算方式:CF = (5 * Complexity>30) * 100 / (Complexity>1 + Complexity>10 + Complexity>

3、;20Word 格式. .+ Complexity>30)12. Complexity Factor Methods- Quality Index Plugin方法復(fù)雜度因素13. QI Complexity-Quality Index Plugin復(fù)雜度質(zhì)量指標(biāo)計算方式:(Complexity>30 *10 + Complexity>20 * 5 + Complexity>10 * 3 + Complexity>1) /validLinesDesign14. Design Classes and Methods Complexity- Total Quality

4、 PluginNOM= (1 - (class_complexity - 12) / (acel * 12) * 50 + (1 - (method_complexity- 2.5) / (acel * 2.5) * 50 參見 1915. Design Coupling Between Objects- Total Quality PluginCBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100 參見 1916. Design Depth of Inheritance Tree- Total Quality PluginDIT = (1

5、- (depth_of_inheritance_tree - 5) / (acel * 5) * 100 參見 1917. Design Lack of Cohesion of Methods- Total Quality PluginLCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100 參見 1918. Design Response for Class- Total Quality PluginRFC = (1 - (response_for_class - 50) / (acel * 50) * 100 參見 19

6、19. Design Quality- Total Quality Plugin設(shè)計質(zhì)量計算方式:DES = 0.15*NOM + 0.15*LCOM + 0.25*RFC 0.25*CBO + 0.20*DITNOM = (1 - (class_complexity - 12) / (acel * 12) * 50 + (1 -(method_complexity - 2.5) / (acel * 2.5) * 50LCOM = (1 - (lack_of_cohesion_of_method - 1) / (acel * 1) * 100RFC = (1 - (response_for_c

7、lass - 50) / (acel * 50) * 100CBO = (1 - (efferent_coupling - 5) / (acel * 5) * 100DIT = (1 - (depth_of_inheritance_tree - 5) / (acel * 5) * 100Acel 參數(shù)因子的值可以在 Sonar setting 頁面配置。每一個度量標(biāo)準(zhǔn)的默認(rèn)闕值也可以進(jìn)行配置 (例如,50是response_for_class 的默認(rèn)閾值 )。20. LCOM(4 Lack of cohesion of methods )用來說明 class 內(nèi)部方法和變量之間的關(guān)系 , 值越

8、大 , 說明內(nèi)聚性越差 . 一般情況下LCOM4=1是內(nèi)聚性最佳的 . 2 說明可以拆成兩個類 , 以此類推 . 但是這種測量對門面服務(wù)類來說不適用 . 有時候很小的類也會根據(jù)需要合并在一起 , 盡管關(guān)聯(lián)不大21. Package tangle index包復(fù)雜指數(shù)此參數(shù)為包的復(fù)雜等級, 最好的值為 0 %,意味著包之間沒有圈依賴; 最差的值為 100%,意味著包與包之間的關(guān)系特別的復(fù)雜。該指數(shù)的計算公式: 2 * (package_tangles /Word 格式. .package_edges_weight) * 100.22. RFC(Response for Class )通過檢查一個

9、方法被調(diào)用的情況來反映一個 class 的復(fù)雜程度 . 也可以簡單的理解為一個類所包含的方法多寡 .23. Suspect LCOM4 densityLCOM4密度值Documentation24. Comment linesJavadoc 、多行注釋、單行注釋的總數(shù)??兆⑨屝?、頭文件中的注釋(主要用于定義許可證)以及 commented-out 行均不會包括在內(nèi)。25. Commented-out LOC注釋掉的代碼行數(shù)。 Javadoc 塊不會被掃描26. Comments (%)注釋行數(shù) /( 注釋行數(shù) +有效代碼行數(shù) )27. Public documented API (%)添加注釋

10、的公有 API 占總的公有 API 的百分比28. Public undocumented API公有 API 未添加注釋個數(shù)Duplication29. DRYness- Total Quality PluginDRYNESS = 100 - Duplicated lines density30. Duplicated blocks重復(fù)塊數(shù)31. Duplicated files重復(fù)文件數(shù)32. Duplicated lines重復(fù)行數(shù)33. Duplicated lines (%)重復(fù)行占總行數(shù)的百分比34. Useless Duplicated Lines-Useless Code Tr

11、acker無用的重復(fù)行數(shù);當(dāng)前的 Sonar 告訴你有 50 重復(fù)的行數(shù),但是不能告訴你是有兩塊 25行的代碼重復(fù)(這樣你可以節(jié)省 25 行代碼)還是有 5 塊 10 行(這樣你可以節(jié)省 40 行代碼)的代碼重復(fù);通過這個插件,你可以獲取到額外的信息。Word 格式. .General35. Analysability Value- SIG Maintainability Model可理解性請查看 37 指標(biāo)后的詳細(xì)介紹36. Changeability Value- SIG Maintainability Model可擴(kuò)展性37. Stability Value- SIG Maintaina

12、bility Model穩(wěn)定性38. Testability Value- SIG Maintainability Model可測試性可維護(hù)性可通過 7 個質(zhì)量特性來衡量 :可理解性可測試性可修改性可靠性可移植性可使用性效率這個插件標(biāo)示了一個 Software Improvement Group (SIG) 可維護(hù)性模型這個模型需要兩步 : 計算基數(shù)的指標(biāo),然后結(jié)合他們計算出更高層面上的數(shù)值。每一個指標(biāo)被分成 5 級別排名:從 - (很糟糕)到 +(非常好)第一步加上基數(shù)的指標(biāo)。Volume: 基于代碼的行數(shù)Rank LOC- > 1310000- > 6550000 > 2

13、46000+ > 66000+ > 0Duplications : 基于代碼重復(fù)的密度Rank Duplication- > 20%- > 10%0 > 5%+ > 3%+ > 0%Unit tests : 基于單元測試覆蓋率Rank CoverageWord 格式. .+ > 95%+ > 80%0 > 60%- > 20%- > 0%Complexity : 基于方法的圈復(fù)雜度第一步根據(jù)圈復(fù)雜度的范圍確定在方法代碼行中的百分比。Eval ComplexityVery high > 50High > 20Me

14、dium > 10Low > 0然后根據(jù)分布,我們使用下面的表格來計算等級:Rank Medium High Very High+ < 25% < 0% < 0%+ < 30% < 5% < 0%0 < 40% < 10% < 0%- < 50% < 15% < 5%否則等級是 -Unit size : 基于方法代碼的行數(shù)第一步根據(jù)行數(shù)的范圍確定方法代碼行數(shù)的百分比。Eval LOCsVery high > 100High > 50Medium > 10Low > 0然后根據(jù)分布,使用下

15、面的表格來計算等級:Rank Medium High Very High+ < 25% < 0% < 0%+ < 30% < 5% < 0%0 < 40% < 10% < 0%- < 50% < 15% < 5%否則等級為 -第二步是通過一個簡單的平均,將他們結(jié)合起來,使用以下映射表來確定最終等級 .Volume Complexity Duplications Unit size Unit testsWord 格式. .analysabilitychangeabilitystabilitytestability因此 4 個

16、代表軟件可維護(hù)性四維的先進(jìn)指標(biāo)。可選項,通過將 4 個指標(biāo)簡單的結(jié)合在一塊,可以得到可維護(hù)性排名。需要注意的是,圖表的顏色代表實際結(jié)合后的值,從紅色 =- 到綠色 =+.39. Profile version 未知未知40. Quality Index- Quality Index Plugin計算方式:QI = 10 - 4.5 * coding - 2 * complexity - 2 * coverage -1.5 * style41. SIG MM- SIG Maintainability ModelSIG 可維護(hù)性模型,參考 3742. Technical Debt ($)-Tech

17、nical Debt Plugin清除所有技術(shù)債務(wù)需要的花費(fèi)43. Technical Debt in days-Technical Debt Plugin需要多少人日去解決技術(shù)債務(wù)44. Technical Debt ratio-Technical Debt Plugin技術(shù)債務(wù)占整個項目的比例45. Total Quality- Total Quality Plugin總體質(zhì)量計算方式:TQ= 0.25*ARCH + 0.25*DES + 0.25*CODE + 0.25*TSManagement46. Burned budget燃盡預(yù)算47. Business value商業(yè)價值48.

18、Team size團(tuán)隊規(guī)模注:以上變量為手動輸入變量,另外這里可以添加一些自定義的變量Word 格式. .Rules49. Blocker violations阻礙性違規(guī)50. Code Quality- Total Quality Plugin代碼質(zhì)量計算方式:Code = 0.15*DOC + 0.45*RULES + 0.40*DRYNESSDOC = Documented API densityRULES = Rules compliance indexDRYNESS = 100 - Duplicated lines density51. Critical violations嚴(yán)重違規(guī)

19、52. Dead Code- Useless Code Tracker無作用程序代碼53. Info violations建議級別違規(guī)54. Major violations重要違規(guī)55. Minor violations次要違規(guī)56. Potential Dead Code- Useless Code Tracker當(dāng)前代碼中未使用的 protected 方法數(shù)目;此參數(shù)可通過 PMD:UnusedProtectedMethod或者 SQUID:UnusedProtectedMethod 獲取到。計算他們行數(shù)的和值。57. QI Coding Violations-Quality Index

20、 Plugin代碼違規(guī)質(zhì)量指標(biāo)( PMD規(guī)則指數(shù))計算方式:(Blocker * 10 + Critical * 5 + Major * 3 + Minor + Info) / validLines58. QI Coding Weighted Violations-Quality Index Plugin代碼違規(guī)權(quán)重指標(biāo)59. QI Style Violations-Quality Index Plugin風(fēng)格違規(guī)質(zhì)量指標(biāo) (CheckStyle 規(guī)則指數(shù))計算方式:Style = (Errors*10 + Warnings) / ValidLines * 10QI = 10 - 4.5 *

21、coding - 2 * complexity - 2 * coverage -1.5 * style60. QI Style Weighted Violations-Quality Index Plugin風(fēng)格違規(guī)權(quán)重質(zhì)量指標(biāo)61. Rules compliance遵守規(guī)則率62. Security rules compliance- Security Rules PluginSecurity 規(guī)則遵守率63. Security violations- Security Rules Plugin符合 Security 規(guī)則數(shù)目Word 格式. .64. Violations違規(guī)總數(shù)65. W

22、eighted Security Violations- Security Rules PluginSecurity 規(guī)則權(quán)重值(總數(shù))Size66. AccessorsGetter 及 setter 方法的數(shù)量/ Getterspublic String getName()return ;public boolean isParent()return this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)

23、this.isParent = isParent;67. Artifact Size (Kb)- Artifact Size Plugin記錄最終產(chǎn)品大小68. Classes類總數(shù)69. Files文件數(shù)70. Lines文件中行數(shù)71. Lines of code代碼行數(shù)72. Methods方法數(shù)目73. Packages包數(shù)目74. Public API公共類、公共方法(不包括訪問器)以及公共屬性(不包括 public final static 類型的)的數(shù)目。75. StatementsJava 語言規(guī)范中沒有塊定義的語句數(shù)目; 此數(shù)目在遇到含有 if, else, while, d

24、o, for,switch, break, continue, return, throw, synchronized, catch, finally 等關(guān)鍵字的Word 格式. .語句時增加。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else trywhile(true)for(.).語句數(shù)目不會隨著以下情況增加,類、方法、字段、注釋定義、包以及 import 定義。76. Total Useless Code- Useless Code Tracker可以刪除的代碼行數(shù)Tests77. Coverage覆蓋率78. Line co

25、verage行覆蓋率79. QI Test Coverage-Quality Index Plugin測試覆蓋率質(zhì)量指標(biāo)80. Skipped unit tests忽略的單元測試數(shù)81. Testing Quality- Total Quality Plugin測試質(zhì)量計算方式:Test = 0.80*COV + 0.20*SUCCOV = Code coverageSUC = Unit Tests success density82. Uncovered lines未覆蓋行數(shù)83. Unit test errors單元測試出錯數(shù)84. Unit test failures單元測試失敗數(shù)85.

26、 Unit test success (%)單元測試成功率86. Unit tests單元測試個數(shù)87. Unit tests durationWord 格式. .單元測試需要的時間SCM88. CommitsSVN庫總的提交數(shù)89. Last commit最近的一次提交時間SQALE90. SQALE RatingSQALE(Software Quality Assessment based on Lifecycle Expectations )評級;基于生命周期期望的軟件質(zhì)量模型91. SQALE Remediation CostSQALE整治成本附錄92. Sonar 插件插件名稱 插件

27、介紹 度量參數(shù)ABAP ABAP項目插件Artifact Size 衡量項目產(chǎn)品的大小 Artifact Size (Kb)Branding 允許添加 Logo 到 Sonar 界面上Build Breaker 在有一個警報閾值滿足時,停止分析處理C C項目插件C Rules C規(guī)則插件Clirr 檢查 Java 庫二進(jìn)制文件及源代碼 API behavior changes與之前版本的兼容性 API breaksNew APITotal API ChangesClover 通過 Atlassian Clover (收費(fèi))獲取覆蓋率Cobol Cobol 項目插件Crowd Atlassian

28、 Crowd 在 Sonar 上的認(rèn)證委托Email 分析報告可通過 Email 進(jìn)行傳輸Emma Emma是替代 Clover 和 CoberturaWord 格式. .測量單元測試代碼覆蓋率的工具Flex ActionScript 項目插件French Pack 法語包Google Calendar 將 Google 日歷集成到 SonarGreenPepper 收 集 GreenPepper Maven plugin提供的測試報告到 Sonar 上Groovy Groovy 項目插件JMeter 在 Sonar 上展示 JMeter 測試結(jié)果JaCoCo JaCoCo是替代 Clover

29、 和 Cobertura測量單元測試代碼覆蓋率的工具JavaScript JavaScript 項目插件Jira 從 Jira 服務(wù)中收集項目缺陷的數(shù)目LDAP LDAP在 Sonar 上的認(rèn)證委托Mantis 從 Mantis BugTracker 中檢索項目缺陷的個數(shù)Motion Chart 顯示一組指標(biāo)隨著時間的演變 ( 需要接入互聯(lián)網(wǎng) )Natural Natural 項目插件PAM 允許 Sonar 在*nix box 上使用 PAM認(rèn)證PDF Report PDF報告插件PHP PHP項目插件PL/SQL PL/SQL項目插件Quality Index 根據(jù)編碼規(guī)范、樣式、復(fù)雜度、

30、覆 QI Test Coverage蓋率計算一個全局的質(zhì)量指標(biāo) QI Style Weighted ViolationsQI Style ViolationsQI Coding Weighted ViolationsQI Coding ViolationsComplexity FactorComplexity Factor MethodsQI ComplexityQuality IndexRadiator 使用 treemap 顯示度量指標(biāo)SCM Activity 從 SCM收集和報告信息。 CommitsLast commitSIG Maintainability SIG 可維護(hù)性模型接口

31、SIG MMModel Testability ValueStability ValueChangeability ValueAnalysability ValueSecurity Rules 檢測一組已定義的安全規(guī)則 Weighted Security ViolationsSecurity violationsWord 格式. .Security rules complianceSonar Cutoff Plugin 通過日期排除要分析的文件;所有從最后修改時間到配置的截止時間之內(nèi)的源文件都被排除在外。當(dāng)你需要分析在現(xiàn)有代碼基礎(chǔ)上新增代碼或修改時,這可能是有用的。這種方式對于以前各階段的分析

32、不會影響分析結(jié)果。Sonar Piwik Plugin Piwik (/ )是一個開源的可替換 Google Analytics來使用的網(wǎng)絡(luò)分析軟件,特別是在內(nèi)部網(wǎng)站。Piwik 插件可以將 Sonar上 個 人 瀏 覽活 動 的記 錄提 交 到Piwik 服務(wù)器。Sonargraph 通過循環(huán)依賴及其他架構(gòu)方面的指標(biāo)提供架構(gòu)改進(jìn)功能SQALE 基于生命周期期望的軟件質(zhì)量評估 SQALE Remediation CostSQALE RatingSpanish Pack 西班牙包Switch Off Violations 關(guān)閉違規(guī)檢查Taglist 分析代碼中像 T

33、ODO或者/TODO 的標(biāo)記Technical Debt 以美元計算修復(fù)源代碼中所有質(zhì)量 Technical Debt ratio問題所需要的工作量 Technical Debt in daysTechnical Debt ($)Timeline 高級時間機(jī)器( time machine )圖表(需要連入互聯(lián)網(wǎng))Total Quality 將代碼質(zhì)量、設(shè)計、架構(gòu)及測試質(zhì) Testing Quality量結(jié)合在一塊提供項目的整體質(zhì)量 Code Quality度量 Total QualityDrynessDesign QualityDesign Response for ClassDesign L

34、ack of Cohesion ofMethodsDesign Depth of Inheritance TreeDesign Coupling Between ObjectsDesign Classes and MethodsComplexityArchitecture Tangle IndexArchitectureTrac 從 Trac 中檢索和報告項目問題Useless Code Tracker 查找項目內(nèi)重復(fù)源代碼 Total Useless CodeWord 格式. .Potential Dead CodeDead CodeUseless Duplicated LinesViews

35、 創(chuàng)建項目的樹狀圖,項目按照應(yīng)用程序進(jìn)行分類,應(yīng)用程序按照小組來進(jìn)行分類,小組按照部門進(jìn)行分類Visual Basic Visual Basic 項目插件Web 分析 Web代碼Xml 分析 XML和 XHTML文檔fb-contrib 新的 FindBugs 規(guī)則Checkstyle 使用 Checkstyle 5.1 分析 Java 代碼Cobertura 使用 Cobertura . 獲取覆蓋率Core 提供覆蓋到所有語言的通用組件Database Cleaner 清除舊的或無用的數(shù)據(jù),來提高數(shù)據(jù)庫性能Design 分析 Java 字節(jié)碼來計算 O.O. 度量值并提取資源之間的依賴關(guān)系D

36、uplications 查找項目中重復(fù)的源代碼Email notifications Email 通知English Pack 英語包Findbugs 使用 Findbugs 分析 Java 代碼Google analytics 將 Google Analytics 跟蹤腳本添加到 Sonar 應(yīng)用程序PMD 使用 PMD 分析 Java 代碼Squid for Java Squid 分析 JavaSurefire 使用 Surefire 獲取單元測試結(jié)果93. Sonar 幫助文檔中的度量值度量是 Sonar 的核心,有效的使用 Sonar,需要完全了解每個參數(shù)的定義和計算方式。Name K

37、ey DescriptionPhysical lines 回車數(shù)目linesComment lines comment_lines Javadoc 、多行注釋、單行注釋的總數(shù)??兆⑨屝?、頭文件中的注釋(主要用于定義許可證)以及 commented-out 行均不會包括在內(nèi)。/* This is a javadoc block* <- empty comment line considered as a blank line*/ <- empty comment line considered as a blank lineWord 格式. ./* This is a multi-c

38、omment block*/ This is a single-comment block/ log("Debug information"); <- commented-out line of codeis not a comment lineCommented-out commented_out_code_lines 注釋掉的代碼行數(shù)。 Javadoc 塊不會被掃描lines of code/* someoneCommentMeOutOneDay();* nobodyKnowWhatAmISupposedToDo();*/Lines of code ncloc p

39、hysical lines - blank lines - comment lines - header filecomments - commented-out lines of codeDensity of comment_lines_density comment lines / (lines of code + comments lines) * 100%comment linesPackages packages 包數(shù)目Classes classes 類的數(shù)目,包括內(nèi)部類、接口、枚舉及注釋標(biāo)簽Files files 分析的文件數(shù)目Directories directories 分析的

40、目錄數(shù)目Accessors accessors Getter 及 setter 方法數(shù)目,通過 get(reading) 或 set(writing)一個類屬性/ Getterspublic String getName()return ;public boolean isParent()return this.isParent;/ Setterspublic void setName(String name) = name;public void setIsParent(boolean isParent)this.isParent = isParent;M

41、ethods Functions 方法數(shù)目,不包括訪問器。一個構(gòu)造函數(shù)算作一個方法Public API public_api 公共類、方法(不包括訪問器)以及屬性(不包括 public finalstatic 修飾的屬性)Public public_undocumented_api 不包含 javadoc 塊的公共 API 數(shù)目undocumentedAPIWord 格式. .Density of public_documented_api_density (public API - undocumented public API) / public API * 100%publicdocum

42、entedAPIDuplicated duplicated_lines 重復(fù)的物理行數(shù)linesDuplicated duplicated_blocks 重復(fù)的代碼塊數(shù)blocksDuplicated duplicated_files 涉及到重復(fù)代碼的文件數(shù)目filesDensity of duplicated_lines_density Duplicated lines / Physical lines * 100%duplicatedlinesStatements statements Java 語言規(guī)范中沒有塊定義的語句數(shù)目;此數(shù)目在遇到含有if, else, while, do, fo

43、r, switch, break, continue, return,throw, synchronized, catch, finally 等關(guān)鍵字的語句時增加。例如:/i = 0;if (ok)if (exit) if (3 = 4);if (4 = 4) ; else trywhile(true)for(.).語句數(shù)目不會隨著以下情況增加,類、方法、字段、注釋定義、包以及 import 定義。Complexity complexity 圈復(fù)雜度也被稱為 McCabe 度量。它簡單歸結(jié)為一個方法中if , for , while 等塊的數(shù)目。當(dāng)一個方法的控制流分割,圈計數(shù)器加 1.除不被認(rèn)

44、為是方法的訪問器外,每個方法默認(rèn)有最小的值 1,所以不會增加復(fù)雜度。對于以下的每一個 java 關(guān)鍵字 / 語句, 圈復(fù)雜度均會加 1:ifforwhilecasecatchthrowreturn ( 當(dāng)不是一個方法最好一個語句時 )Word 格式. .&&|?注意 else, default 及 finally 不會增加 CCN的值。另一方面,一個含 switch 語句及很大塊 case 語句的簡單方法可以擁有一個令人驚訝的高的 CCN值(同時, 當(dāng)將 switch 塊轉(zhuǎn)化為等效的 if 語句時,它具有相同的 CCN值)。例如,下面的方法具有 5 的復(fù)雜度。public vo

45、id process(Car myCar) <- +1if(myCar.isNotMine() <- +1return; <- +1car.paint("red");car.changeWheel();while(car.hasGazol() &&car.getDriver().isNotStressed() <- +2car.drive();return;Average function_complexity 方法的平均圈復(fù)雜度complexity bymethodComplexity function_complexity_dis

46、tribution 方法復(fù)雜度的分布distributionby methodAverage class_complexity 類的平均圈復(fù)雜度complexity byclassComplexity class_complexity_distribution 類復(fù)雜度的分布distributionby classAverage file_complexity 文件平均復(fù)雜度complexity byfileViolations violations 違規(guī)總數(shù)New new_violations 新的違規(guī)數(shù)目Violationsxxxxx xxxxx_violations Xxxxx 級別違規(guī)

47、的數(shù)目, xxxxx 為阻礙、嚴(yán)重、主要、次要和violations建議New xxxxx new_xxxxx_violations 新的 Xxxxx 級別違規(guī)的數(shù)目, xxxxx 為阻礙、嚴(yán)重、主要、次violations要和建議Weighted weighted_violations 通 過 每 個 級 別 的 相 關(guān) 系 數(shù) , 違 規(guī) 權(quán) 重 的 總 和violations(Sum(xxxxx_violations * xxxxx_weight) )Word 格式. .Rules violations_density 100 - weighted_violations / Lines

48、of code * 100complianceindexUnit tests Tests 單元測試數(shù)目Unit tests test_execution_time 執(zhí)行單元測試的時間durationUnit test test_errors 單元測試發(fā)生錯誤的數(shù)目errorUnit test test_failures 單元測試以不符合預(yù)期的異常失敗failuresUnit test test_success_density (Unit tests - (errors + failures)/ Unit tests * 100successdensitySkipped unit skipped

49、_tests 跳過的單元測試數(shù)目testsLine Coverage line_coverage 行覆蓋率Line coverage = LC / EL其中LC 覆蓋的行數(shù) (lines_to_cover - uncovered_lines)EL 可執(zhí)行的代碼行數(shù) (lines_to_cover)New Line new_line_coverage 新代碼或更新代碼的行覆蓋率CoverageBranch branch_coverage 分支覆蓋率coverageBranch coverage = (CT + CF) / (2*B)其中CT 條件至少一次為“ true ”的分支CF 條件至少一次

50、為“ false ”的分支(CT + CF = conditions_to_cover - uncovered_conditions)B 分支的總數(shù)量 (2*B = conditions_to_cover)New Branch new_branch_coverage 新的或更新代碼的分支覆蓋率CoverageCoverage coverage 覆蓋率coverage = (CT + CF + LC)/(2*B + EL)其中CT - 條件至少一次為“ true ”的分支CF - 條件至少一次為“ false ”的分支LC - 覆蓋的行數(shù) (lines_to_cover - uncovered_

51、lines)B - 分支的總數(shù)量 (2*B = conditions_to_cover)EL 可執(zhí)行代碼的總行數(shù) (lines_to_cover)New Coverage new_coverage 新的或更新代碼的覆蓋率Conditions to conditions_to_cover 單元測試覆蓋的條件總數(shù)CoverWord 格式. .New new_conditions_to_cover 新的或更新代碼的條件覆蓋數(shù)Conditions toCoverLines to Cover lines_to_cover 單元測試覆蓋的代碼的行數(shù)New Lines to new_lines_to_cover 新的或更新代碼的行覆蓋數(shù)CoverUncovered uncovered_conditions 單元測試未覆蓋的條件總數(shù)ConditionsNew Uncovered new_uncovered_conditions 新的或更新代碼中未覆蓋的條件數(shù)ConditionsUncovered uncovered_lines 單元測試未覆蓋的行數(shù)LinesNew Uncovered new_uncovered_lines 新的或更新代碼中未覆蓋的行數(shù)LinesDepth of Dit 繼承

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論