SonarSource簡介
構建更好的軟件的獨特方法。通過在整個軟件開發生命周期中支持代碼質量, 幫助您的開發團隊從創新的概念中受益, 同時將時間和精力集中在新功能上。的水泄漏范例
我們建議的代碼質量的方法是什么?把它當作漏水的東西, 在你拖地板之前把漏水的東西修好!為什么?否則你只是在浪費你的時間和精力。對于代碼質量, 同樣的邏輯適用;在任何其他情況下, 您都應該在控制下獲得新更改和添加代碼的質量。一旦該漏洞得到控制, 代碼質量將開始系統地改善。閱讀更多漏水范例領yang授權收養和賦予
代碼質量應該是每個開發人員的關注點, 而不僅僅是少數專家。一旦您切換到一個漏水的方法, 即新的代碼是唯yi的焦點的方法, 開發人員將變得非常感興趣的主題, 因為 "代碼質量" 意味著他們的代碼質量。如果您添加的能力是在一個非常短的反饋循環, 你得到的控制反轉: 開發人員不僅解決問題, 但在其組織的代碼質量的所有權, 因為它應該是在任何地方的情況。統一質量門
除非您在發布時強制執行質量門, 否則您沒有到位的代碼質量實踐。質量門是在進入生產前經過驗證的標準列表, 以確保應用程序符合質量要求。換言之, 這是內部質量的去/不去。采用漏水方法, 您可以為每個應用程序強制使用相同的質量閘門, 因為焦點將從應用程序中的遺留代碼轉移到新的或更新的內容。這使得代碼質量成為開發過程的一個組成部分。促進代碼管理應用程序組合 (APM)應用程序投資組合管理
泄漏范例創造了一個良性循環來提高代碼質量, 但不處理風險。管理者應該能夠對其投資組合中的現有風險做出決策。例如, 敏感的應用程序可能需要額外的精力來解決安全問題。這就是為什么, 他們需要有一個代表他們的應用程序組合裝飾與相關的健康/風險因素。
代碼質量是一個不斷增長的市場, 它是分析師對其大規模采用和大量投資回報的雷達。
認知的復雜性提供了一個新的衡量如何硬編碼是理解-一個罷工開發商的直覺正確的。下載白皮書本文描述了認知的復雜性, 提出了一種新的度量方法, 以更準確地測量法的相對理解。在這樣做的時候, 它解決了這個領域中圈復雜度的缺點。圈復雜度使用數學模型來評估方法, 對測試所需的工作量進行精que測量, 但不準確地測量需要了解它們的工作量。認知的復雜性打破了使用數學模型評估軟件可維護性的實踐。它從由圈復雜度所設置的先例開始, 但使用人工判斷來評估結構應如何計算, 并決定應將哪些內容添加到整個模型中。結果是, 它產生了方法復雜性評分, 使程序員對可維護性的相對評估比以前的模型更公平。
SonarSource
提高應用價值, 降低軟件開發風險
成功的組織在過程中向前移動質量分析并使其迭代
作為整個軟件開發生命周期的一部分。開發和測試世界和業務
方法以及正在向敏捷模型演進-持續的價值生成/連續
改進/連續檢驗是提高質量的重要戰略。這些都是
IDC 為 end-user 客戶和服務提供商所觀察到的關鍵策略:
?傳統的代碼質量方法通常在測試成為檢查表項時失敗
在開發過程結束時, QA 團隊運行一個工具并返回
開發團隊在軟件進入之前需要采取的行動列表
生產.這可能導致延遲和預算超支。所以會發生什么
經常是管理標志移動項目, 沒有質量門
發展.
?在項目開始時從項目代碼分析中收集適當的度量標準
是至關重要的。如果沒有正確的度量標準 (或任何度量標準), 代碼庫可能會在沒有人注意的情況下惡化, 或者在技術債wu達到一定的時候才會注意到
在時間和預算限制的情況下, 成本太高而無法解決的級別。收集
代碼度量連續可以提供可見性, 并使團隊的優勢
控制代碼庫的技術債wu。
?理解要修復的代碼也是必不可少的。通常, 團隊開始重構
因為他們認為代碼庫在性能、脆性、不穩定性方面是不好的,
難于維護和擴展。但如果沒有正確的語境分析, 它是
無法檢測到代碼庫的哪個部分負責所遇到的問題。
因此, 更改可能會應用到錯誤的代碼, 或者正確的代碼被重構
錯誤的方式, 或只有部分問題得到解決。這是一個度量和工具的領域
可以通過標識導致問題的代碼部分來幫助。
確保持續的軟件質量是成功的關鍵
end-user 公司和服務組織都必須運行軟件開發作為
業務.這樣做的一部分是管理軟件的遠程可維護性, 即
發展今天你需要保持明天。積極主動的架構, 也
所創建內容的質量是管理軟件長期支出的關鍵
維護;保存錯誤的、結構較差的軟件是更昂貴的。
在這方面, 應用程序維護團隊還需要對軟件進行可視化, 以便能夠更好地
維護代碼以降低成本, 實現更好的質量, 并提高客戶響應能力
和 ROI。在將任何代碼發送到客戶之前, 為代碼建立一致的進程
分析可以幫助確保必須運行軟件的公司的長期改進
有效地發展。
SonARSOURCE 和 SonARQUBE 平臺
SonarSource: 介紹
SonarSource 是一家瑞士公司, 成立于2008年。該公司誕生的愿望
處理和解決與軟件質量相關的不斷增長的問題, 并為市場帶來解決方案
可以跟蹤的軟件開發過程中的代碼質量。在競爭激烈的市場中
來自少數提供商的服務, SonarSource 的投資組合是由它的根在開放的區別
來源, 其可訪問性, 和一系列的參與選項從包裝和定價
角度.
SonarQube 平臺被創造了并且采取了到市場 (初作為 "聲納"), 與 SonarSource
在2009年10月發布該平臺的第yi個商業插件。到 2010年3月,
SonarSource 開始看到社區和企業都接受了 SonarQube 平臺,
到那時, 一個月被下載超過2000次。在 2010年5月, SonarSource
發布的 COBOL 和 Visual Basic plug-ins, 隨后幾個月后由一個 SQALE 插件,
c# 插件 (2011年6月) 和 PL/SQL 插件 (2011年9月)。
該公司的主要意圖是帶來負擔得起的和直觀的質量解決方案和分析
開發人員還提供了廣泛、分布式使用的功能。今天, SonarSource 有
全球約有350客戶, 包括德意志銀行、美國銀行、米其林、
西班牙、法國巴黎銀行、泰雷茲和 EADs。SonarQube 平臺使用約300
客戶, 與3萬和4萬安裝。該公司已看到的
在過去幾年的增長, 它現在雇用了超過30員工, 從20人
就在12月前
購買 SonarQube 作為測試自動化的質量門由琳達陳在 2017年4月13日 |4分鐘閱讀1SonarQube (原名聲納) 被廣泛用于各種項目的代碼質量管理工具, 提供跟蹤和提高源代碼質量的功能。此類功能還可用于測試自動化, 以量化測試腳本的質量, 因為自動檢測腳本的本質是代碼。
測試自動化的 SonarQube 特性
為不同的利益相關者提供定制的度量標準每個項目都有不同的利益干系人, 如客戶、項目經理、架構師、開發人員和測試人員, 他們擁有完成項目的各種技術或知識。因此, 他們對項目質量的關注是多種多樣的。不同群體的利益干系人的質量度量標準是不同的, 這為查看 SonarQube 的價值提供了一個良好的環境, 因為該工具為不同的用戶提供了定制的度量標準。 下表顯示了針對不同項目角色的 SonarQube 質量度量的一個很好的示例。
支持項目的多種編程語言盡管用 java 編寫, SonarQube 可以在大約20多個不同的編程語言 (包括 java、Python、c/c++) 中分析代碼。可以自動檢測到不同的編程語言, 并調用相應的語言分析器。因此, 即使目標測試腳本由多種不同的編程語言組成, 聲納仍然能夠跟蹤、分析和創建有關代碼質量的報告。
使用行業標準 (代碼分析器) 提供測試規則在更大的圖片中, SonarQube 提供了行業規則模板, 用戶可以根據需要自定義質量規則。對于自動測試, 可以應用一堆規則。下面提供了示例規則:
除了檢查現有項目的源代碼, 為了進行自動測試, 聲納可能需要根據某些要求停用或更新一些規則。
示例規則可以刪除, 如下所示:
示例規則可以更新如下:
除了上面給出的特性, SonarQube 還具有諸如 DevOps 集成、聚合儀表板、時間機器等功能, 所有這些都可以幫助測試自動化項目變得更具可追溯性和可見性。
如何通過與數據庫 mysql 的集成來設置 SonarQube
設置 SonarQube 是很簡單的。但是, 不建議將嵌入在 SonarQube 中的默認數據庫 H2 用于生產用途, 因為它無法進行縮放。 為了更好的維護和可伸縮性, 我們建議用 mysql 這樣的另一個數據庫替換 H2。下面是在 windows 平臺中為 SonarQube 設置 mysql 的一個示例。
前提
在您的計算機上安裝 Java (Oracle JRE 8 開始或 OpenJDK 8 起)。步驟:
1.Install. 用 mysql 建立數據庫
a. 從并安裝, 然后啟動 mysql
b. 為聲納創建數據庫, 包括創建用于訪問數據庫的管理員帳戶。例如, 通過在 sql 下運行, 使用用戶帳戶聲納和密碼聲納創建名為聲納的數據庫: