軟體品質靜態分析-SonarQube實務

軟體品質靜態分析-SonarQube實務

軟體是企業重要資產,其重要性可預見會被更重視,但品質不好的軟體反而成為企業的負債,如何有效運用工具檢測軟體品質並從數據化分析結果規劃改善行動,是讓軟體從負債成為資產的關鍵手段。SonarQube 是一套相當完整的 Open Source 程式碼品質分析工具及管理平台,目前已支援超過20種主流程式設計語言,它管理的程式碼品質主要涉及七個維度: 程式碼架構與設計、重複度、單元測試覆蓋率、複雜度、潛在bug、程式碼撰寫風格及標準、程式碼註釋。

 

對於程式碼品質標準,我們可以針對每種程式語言選擇適合的品質規則組合(Quality Profile) ,SonarQube據以分析潛在的issue, 包括bug、安全弱點(Vulnerability)及不良的程式(Code smell) ,以提高軟體可靠度(Reliability) 、安全性(Security)及軟體可維護性(Maintainability)。

軟體品質靜態分析-SonarQube實務

在軟體開發的生命週期中,讓產出的程式碼可以維持著高品質是非常重要的一件事情,然而在不同的階段及使用不同的方式來進行軟體品質的檢測及維持都會影響軟體開發的成本。軟體問題越到後期解決花費成本越大是眾所皆知,因此現代軟體開發方法論如Agile及DevOps都非常重視持續整合(Continuous Integration) 。面對快速變動的系統開發需求,想要維持軟體的高品質要求,持續整合是重要的關鍵。而將靜態原始程式碼分析(Static Code Analysis)及單元測試在開發階段併入持續整合過程是實現軟體問題越早發現及早治療的手段,也是實現“向左移動檢測”(Shift-Left test) 的關鍵部分,可大大的提高軟體品質及降低軟體開發成本。

透過 SonarQube 的幫助可以把軟體品質透過數據化和報表呈現,讓開發團隊對於程式碼品質有更實際的了解,並可以提前發現並解決潛在的問題,也避免掉一些人工可能會忽略的盲點,對於團隊開發來說相當實用。

SonarQube 其實可以分為兩種工具,一種是負責執行程式碼分析的 Runner,每個語言都有自己對應的 SonarQube Runner,而另外一種則是在透過 Runner 分析之後,我們可以透過 SonarQube 的品質管理入口平台,觀看軟體的健康檢查報告,了解是否有潛在的技術債(Technical Debt),幫助我們及早發現,及早治療。

數位行動化時代來臨,軟體推出速度不斷被要求快、再快、更快!開發 delay 再 delay,嚴重壓縮測試時間,一旦軟體品質沒做好把關,上線後的補救方式所需的人力成本其實都相當可觀。

 

適合對象

本課程適合對軟體程式品質靜態分析有興趣的資訊從業人員,或是導入敏捷開發的團隊,包含軟體開發人員、專案經理、技術主管等。

 

預備知識

1. 對軟體開發生命週期有基本認識
2. 對軟體品質有基本認識
3. 至少熟悉一種程式語言並有開發應用程式經驗

 

課程大綱

1. 軟體品質基礎
─ 軟體品質 What & Why & When
─ 技術債
─ 技術債管理策略
2. 軟體品質靜態分析實務
─ SonarQube 特性
─ 環境準備
─ 單元測試與涵蓋度
─ 視覺化儀表板設定
─ Quality Gate 及 Quality Profile 管理
─ 品質維度分析
─ 整合常用外掛程式

 

時數費用

6小時 / 7000元 ,優惠價 6000元

特別說明

※ 本課程為資策會與叡揚資訊公司共同合作、規劃之 DevOps 系列課程之一。

 

相關推薦課程

版本控制與自動化持續整合實務

軟體品質靜態分析-SonarQube實務

課程洽詢

askhead承辦人:劉小姐 電話:(02)66316582 E-Mail:
地 址:台北市復興南路一段390號2樓 傳真:(02)66316598

課程資訊