【廣告】
SonarSource簡介
構建更好的軟件的獨特方法。通過在整個軟件開發(fā)生命周期中支持代碼質(zhì)量, 幫助您的開發(fā)團隊從創(chuàng)新的概念中受益, 同時將時間和精力集中在新功能上。的水泄漏范例
我們建議的代碼質(zhì)量的方法是什么?把它當作漏水的東西, 在你拖地板之前把漏水的東西修好!為什么?否則你只是在浪費你的時間和精力。對于代碼質(zhì)量, 同樣的邏輯適用;在任何其他情況下, 您都應該在控制下獲得新更改和添加代碼的質(zhì)量。一旦該漏洞得到控制, 代碼質(zhì)量將開始系統(tǒng)地改善。閱讀更多漏水范例領yang授權收養(yǎng)和賦予
代碼質(zhì)量應該是每個開發(fā)人員的關注點, 而不僅僅是少數(shù)專家。一旦您切換到一個漏水的方法, 即新的代碼是唯yi的焦點的方法, 開發(fā)人員將變得非常感興趣的主題, 因為 "代碼質(zhì)量" 意味著他們的代碼質(zhì)量。如果您添加的能力是在一個非常短的反饋循環(huán), 你得到的控制反轉(zhuǎn): 開發(fā)人員不僅解決問題, 但在其組織的代碼質(zhì)量的所有權, 因為它應該是在任何地方的情況。統(tǒng)一質(zhì)量門
除非您在發(fā)布時強制執(zhí)行質(zhì)量門, 否則您沒有到位的代碼質(zhì)量實踐。質(zhì)量門是在進入生產(chǎn)前經(jīng)過驗證的標準列表, 以確保應用程序符合質(zhì)量要求。換言之, 這是內(nèi)部質(zhì)量的去/不去。采用漏水方法, 您可以為每個應用程序強制使用相同的質(zhì)量閘門, 因為焦點將從應用程序中的遺留代碼轉(zhuǎn)移到新的或更新的內(nèi)容。這使得代碼質(zhì)量成為開發(fā)過程的一個組成部分。促進代碼管理應用程序組合 (APM)應用程序投資組合管理
泄漏范例創(chuàng)造了一個良性循環(huán)來提高代碼質(zhì)量, 但不處理風險。管理者應該能夠?qū)ζ渫顿Y組合中的現(xiàn)有風險做出決策。例如, 敏感的應用程序可能需要額外的精力來解決安全問題。這就是為什么, 他們需要有一個代表他們的應用程序組合裝飾與相關的健康/風險因素。
SonarQube和JaCoCo的個人測試代碼覆蓋率
構建部分
這里不需要修改但是,您應該注意Maven Surefire的任何自定義配置,以確保它也適用于我們要創(chuàng)建的配置文件。在春季寵物診suo的情況下,這是我們正在寫的參考POM的相關部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-萬無一失-插件</ artifactId的>
<版本> 2.13 </版本>
<結構>
<argLine> -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
</配置>
</插件>
...
</插件> </建造>
這種配置告訴Surefire:1)排除執(zhí)行單元測試的集成測試(Surefire的雙插件,F(xiàn)ailsafe涵蓋了集成測試);和2)禁用字節(jié)碼驗證器,防止類被調(diào)試時的運行時錯誤(即添加mocks或Toplink增強功能時)。
依賴部分
在本節(jié)中,不需要進行任何更改。我們只想注意到,如果您的項目已經(jīng)在利用JaCoCo收集整合測試覆蓋率指標,SonarQube經(jīng)銷商,并且明確地指出了本部分中的JaCoCo偽像,那么可以將其留下 - 至今沒有確定任何沖突。無論如何,它不應該在這里需要,所以從這個部分刪除它可能更安全。
檔案部分
所有必需的更改都在本節(jié)中。而且它們都非常干凈,因為它們都只需要向POM添加一個新的配置文件。此配置文件將為Surefire配置一個特殊偵聽器,以確保適當收集每個單獨測試用例的覆蓋度量。為了保證成功的測試執(zhí)行,我們將在此保持與POM的構建部分中顯示的相同配置。最后,配置文件將為包含偵聽器代碼的偽zao添加新的依賴關系。結果是這樣的:
<輪廓>
<! - 使用SonarQube和JaCoCo計算每個測試的覆蓋率指標
<ID>覆蓋每次測試</ ID>
<建立>
<插件>
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-萬無一失-插件</ artifactId的>
<版本> 2.13 </版本>
<結構>
<! - 與常規(guī)測試執(zhí)行目標相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine參數(shù)
<argLine> $ {argLine} -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
<! - 每個測試覆蓋所需的新配置 - >
<性能>
<屬性>
<名稱>聽者</名稱>
<值> org.sonar.java.jacoco.JUnitListener </值>
</屬性>
</屬性>
</配置>
</插件>
</插件>
</建造>
<依賴性>
<依賴性>
<的groupId> org.codehaus.sonar-plugins.java </的groupId>
<artifactId的>聲納-jacoco-聽眾</ artifactId的>
<版本> 2.3 </版本>
<范圍>測試</范圍>
</依賴性>
</依賴>
</簡檔>
SonarSource
優(yōu)化質(zhì)量分析以實現(xiàn)業(yè)務價值
復雜性: 代碼可見性降低了軟件風險
適用于全球自動化軟件質(zhì)量2014–2018的預測和2013供應商份額: 一些
ASQ 的增長與持續(xù)的采用預計移動, 云和嵌入式, IDC 251643 和
建立軟件質(zhì)量分析策略, 幫助解決第三平臺復雜性, IDC 253257
主辦單位: SonarSource
梅林達-卡羅爾. 盧
2015年1月
簡介: 了解質(zhì)量分析差距的影響
數(shù)字世界的轉(zhuǎn)變, 數(shù)字轉(zhuǎn)換的影響, 以及對持續(xù)性的需求
跨技術平臺的部署給 IT 組織帶來了巨大的壓力, 因為它們
解決動態(tài)變化的業(yè)務需求。高質(zhì)量應用的上市時間
變得至關重要, 但提供軟件發(fā)布和開發(fā)新的面向客戶的
快速應用是一個越來越大的挑戰(zhàn)。對于大型跨國企業(yè)來說, 情況尤其如此。
必須與復雜多變的多式技術網(wǎng)絡相抗衡的組織
與遺留系統(tǒng)和資源結合在一起的數(shù)千個用戶的地理
分布式.
對于 CIO 來說, 目標不僅僅是提高 it 的敏捷性--它是關于如何使用它來成功地
跨 "第三平臺" 增強業(yè)務靈活性、創(chuàng)新性和客戶體驗,
范圍從移動, 社會系統(tǒng)的參與, 到云, 同時合并大數(shù)據(jù)
分析.在操作層面上, 這種做法增加了公司的壓力,
重組、更新和轉(zhuǎn)換軟件開發(fā)和測試實踐。這可以允許
為了更快地交付具有適當質(zhì)量、風險、速度和
成本水平。
然而, 盡管質(zhì)量低劣的軟件對客戶訪問、收入和
商業(yè)信譽在這些有影響力的移動和其他第三平臺環(huán)境中, 許多
組織已經(jīng)陷入了可憐的軟件衛(wèi)生習慣。能見度不足的水平
缺陷的原因及其影響為許多開發(fā)者創(chuàng)造了一種文化
他們所創(chuàng)造的缺陷的責任。"在墻上拋出代碼" 用于部署仍然是
頻繁的, 內(nèi)臟的問題造成的公司, 部分由迫切的需求立即
這些關鍵業(yè)務環(huán)境中的軟件交付。然而, 不良的發(fā)展途徑
即使需要提高代碼質(zhì)量并在周期早期消除缺陷也會發(fā)生
急劇增加。
在 IDC 中, 我們一直在跟蹤重大業(yè)務變更項目的成功率
組織在過去的幾年里, 和我們的 2014 QA 調(diào)查橫跨超過200大
企業(yè)發(fā)現(xiàn)有問題的項目成功率。我們將 "成功" 定義為及時、相關和
個別項目的預算交付。我們的研究表明大約40% 的商業(yè)
面向更改的軟件開發(fā)項目未能滿足這些要求。和60%
按時交付和預算通常需要事后調(diào)整, 以確保
公司的最后期限已經(jīng)達到 (例如, 需要在項目中投入更多的員工, 或者
©2015 IDC # IDCTS08W 2
項目范圍減少)。除了這些預算和及時性挑戰(zhàn), 謊言代碼質(zhì)量
問題.
IDC 的研究顯示, 在生產(chǎn)后期發(fā)現(xiàn)的缺陷成本指數(shù)更高
對組織修復比在周期中發(fā)現(xiàn)的更早 (10–100倍或更多,
取決于其他依賴項, 以及在生命周期中發(fā)現(xiàn)問題的后期程度)。的
能夠發(fā)現(xiàn)代碼問題, 有共同的訪問問題, 并負責修復
這些問題和解決積壓成為最重要的環(huán)境無情
用戶體驗不佳和功能失敗??蛻舴答伒募磿r性
用戶參與、用戶衰減率和應用程序商店評級帶來了新的可視級別和
重要的是推動采用常見的代碼問題訪問上下文, 以便快速
補救, 以及對安全挑戰(zhàn)的可見性。
這些因素與軟件項目復雜性的增加相結合。企業(yè)采用復雜、
使用內(nèi)部和外部資源 (如系統(tǒng)) 進行地理分布的開發(fā)
集成商 (SIs) 隨著各種開發(fā)工具的使用而顯著增加
(包括開源)、多種語言和敏捷流程。這意味著需要
代碼分析, 可以共同訪問有關軟件問題的信息和定量和
跨不同團隊的定性指標從未如此巨大。
在這個數(shù)字消費化和流動性的時代, 項目變得更具挑戰(zhàn)性和
管理的關鍵。為什么?
企業(yè): 蘇州華克斯信息科技有限公司
手機: 13862561363
電話: 0512-62382981
地址: 蘇州工業(yè)園區(qū)新平街388號