購買 SonarQube 作為測試自動化的質量門由琳達陳在 2017年4月13日 |4分鐘閱讀1SonarQube (原名聲納) 被廣泛用于各種項目的代碼質量管理工具, 提供跟蹤和提高源代碼質量的功能。此類功能還可用于測試自動化, 以量化測試腳本的質量, 因為自動檢測腳本的本質是代碼。
測試自動化的 SonarQube 特性
為不同的利益相關者提供定制的度量標準每個項目都有不同的利益干系人, 如客戶、項目經理、架構師、開發人員和測試人員, 他們擁有完成項目的各種技術或知識。因此, 他們對項目質量的關注是多種多樣的。不同群體的利益干系人的質量度量標準是不同的, 這為查看 SonarQube 的價值提供了一個良好的環境, 因為該工具為不同的用戶提供了定制的度量標準。 下表顯示了針對不同項目角色的 SonarQube 質量度量的一個很好的示例。
支持項目的多種編程語言盡管用 java 編寫, SonarQube 可以在大約20多個不同的編程語言 (包括 java、Python、c/c++) 中分析代碼。可以自動檢測到不同的編程語言, 并調用相應的語言分析器。因此, 即使目標測試腳本由多種不同的編程語言組成,sonarqube, 聲納仍然能夠跟蹤、分析和創建有關代碼質量的報告。
使用行業標準 (代碼分析器) 提供測試規則在更大的圖片中, 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 下運行, 使用用戶帳戶聲納和密碼聲納創建名為聲納的數據庫:










Ansible SonarQube 升級的角色
你可能知道, 并希望使用 SonarQube。這是一個偉大的工具, 是積極的發展和改善。這是偉大的, 如果你是一個開發使用 SonarQube。但是, 如果您碰巧管理 SonarQube 實例, 則由于升級指南由11步驟組成, 因此不斷升級非常麻煩。
停止舊的 SonarQube 服務器
并解壓新的 SonarQube 分布在一個新鮮的目錄, 讓我們說 NEW_SONARQUBE_HOME
使用默認的 H2 數據庫啟動它, 并使用更新中心安裝您需要的插件
手動安裝任何自定義插件
停止新服務器
更新聲納的內容. 屬性和包裝. 配置文件位于 NEW_SONARQUBE_HOME/配置目錄中, 其內容與 OLD_SONARQUBE_HOME/配置目錄中的相關文件 (web 服務器 URL、數據庫設置等) 有關。不-粘貼舊文件
如果使用了自定義 JDBC 驅動程序, 請將其到 NEW_SONARQUBE_HOME/擴展/jdbc 驅動程序/
備份數據庫
刪除數據/es 目錄
啟動新的 web 服務器
http://localhost:9000/setup (用您自己的 URL 替換 'localhost:9000') 來瀏覽并按照安裝說明進行操作
這是一個太多的步驟, 手動執行。因此, 我決定通過為它編寫一個 Ansible 的角色來實現自動化。
初始設置
在我開始編寫 Ansible 劇本之前, 我需要找到一種方法來測試我的代碼。所以我開始與流浪漢旋轉了一個虛擬機, 并提供了一個簡單的腳本。這是需要有類似的環境, 以我們的實際 SonarQube 生產實例。我能夠增量地構建我的 Ansible 劇本并在這個 VM 上測試它。很快我就明白了, 與流浪漢一起工作會減慢我的速度, 因為我需要重置環境, 而不是的預期。所以我決定考慮泊塢窗。
用于測試的泊塢窗
我找到了正式的 SonarQube 泊塢窗圖像, 但無法使用,中國sonarqube安全審計, 因為我們的 SonarQube 實例安裝在 CentOS 和官fang圖像使用不同的基礎圖像。另外, 我需要自定義特定的 SonarQube 版本我想開始。因此, 我創建了我們自己的 Dockerfile 與 CentOS 6 基地和 Ansible 安裝。
此泊塢窗映像不需要啟動 SonarQube, 因為我只是想驗證是否進行了正確的文件更改,中國sonarqube 中文, 而我的 Ansible 手冊沒有錯誤。升級的第yi步之一就是關閉服務器。
我將我的劇本裝入容器, 并在該容器內運行 Ansible, 對該本地環境進行了更改。
當前腳本的路徑
TESTS_DIR = $ (cd '$ (dirname' $ {BASH_SOURCE [0]} ')' & & 密碼 '
# 命令測試劇本
TEST_COMMAND = 'cd/行動 & & ansible-劇本 $ @
-我 ' 本地主機 '-c
升級-聲納 database.yml '
# 運行容器安裝行動為卷
泊塢 run-v '$ TESTS_DIR/.。/行動/:/行動 '
'聲納-升級-測試'/'垃圾/bash-c' $ {TEST_COMMAND} '
在泊塢窗中運行我的劇本大大減少了反饋回路, 所以我決定泊塢窗是走的路。你可以看看我所有的腳本在 GitHub
Ansible 角色
我一步一步地往前走, 我到達了一個點, 一切似乎都在工作, 我有一個非常有用的 Ansible 的角色在我的手中。它尚未發布到 Ansible Galaxy, 但您可以在 GitHub 的 SonarQube 升級 Ansible 角色項目下找到源文件和文檔。
當前 Ansible 角色通過在當前位置旁邊創建新安裝來升級 SonarQube。這提供了回滾的方法 (如果需要)。
此時, 角色執行以下任務:
確保特定的根用戶存在于聲納安裝
在所有安裝所在的目錄中創建聲納. sh
確保 SonarQube 服務存在
停止 SonarQube
新版本
備份數據庫
和安裝插件
將自定義配置應用于新實例
確保刪除數據/es
重新 SonarQube 服務啟動新版本
開始 SonarQube
手動步驟
這個過程仍然需要幾個手動步驟。
在運行升級手冊之前, 應手動確保在升級過程中要安裝的插件列表是xin的。您可以從 SonarQube 的管理視圖中獲得xin支持的版本號。
根據 SonarQube 的建議, 此 Ansible 角色不僅以前安裝的配置, 而且使用帶有變量的模板來為新實例創建配置。這意味著在執行升級之前, 開發人員可以將模板和基本配置與新的 SonarQube 進行比較。雖然這是一個手動步驟, 但與以前的操作相比,代理商sonarqube開源代碼質量管理軟件, 它更容易, 因為可以使用 IDE 而不僅僅是從命令行中的 diff 工具進行比較。
這兩個步驟都需要后續的手動升級, 我認為這些升級準備活動。




SonarSource
在這些更復雜的環境中, 組織必須做更多的事情。
競爭環境, 資源很少和/或減少。他們必須彌合 everincreasing
它與業務的新形式的社會參與之間的差距, 并抗衡
隨著更多的要求創新的應用程序, 滿足業務和
消費者的需求。
企業項目在激烈的壓力下的水平和率
技術變化要求部門協同工作, 包括業務干系人
和跨 IT、開發、質量和運營的管理人員, 以便在競爭中生存。
正如我們看到的組織轉向復雜的采購, 以解決這些業務和
技術需求, 我們看到了對軟件分析、自動化和通用過程的需求
通過.對于 IDC 來說, 復雜的采購意味著利用外部服務提供商的資源
(如陸上和近海 SIs), 來自商業、IT、基礎設施的內部資源,
承包商, 并使用開源軟件 (OSS) 解決方案和組件。
需要建立伙伴關系和使用一系列資源, 要求管理、自動化、
和質量的協調。代碼質量的可見性成為關鍵, 有助于提高
行為, 以產生更好的軟件和地圖團隊的適當類型的項目給
經驗水平和執行 (即使機會成為教育團隊
更有效地執行)。服務提供商和內部員工都需要 '他們的游戲' 與
關于軟件的創建、適當的質量和缺陷的積壓。'技術債務' 只能
識別和解決, 如果它是可見的, 可以通過適當的自動化工具啟用和
過程策略的采用和分析, 以了解影響。
這一 IDC 技術聚焦將討論改進軟件分析方法的必要性,
缺陷管理、安全和度量, 通過主動可見性來獲得業務和 IT 好處。
那些不懂歷史的人注定要重蹈覆轍;這句諺語也適用于無效
軟件創建、質量和缺陷緩解和解決方法。
不斷變化的質量觀
隨著企業越來越依賴于技術和軟件來提供產品,
CIO 的工作正在轉變。預算沒有增加, 但業務期望它能夠
在高度復雜的環境中比以前更快地交付新的業務價值
提高了對質量的期望。此外, 有一種期望, 它會變得更清楚
新的業務目標, 并將 IT 優先級與之相匹配。一個關鍵的挑戰是如何使
更快地交付更高質量的應用程序, 以滿足業務和客戶需求。它, 并
cio 必須超越提高 IT 效率以實現業務創新, 并提供
具有持續部署和改進的軟件實踐的客戶體驗。和一個
基本的構建模塊是代碼分析和管理。
缺乏對代碼質量的可見性, 以及導致問題的代碼更加明顯
和更多的削弱企業現在由于能見度和曝光要求
移動和其他面向客戶的應用程序。這已經成為高管們的問題,
那些在代碼創建級別的組織。
開發和提供高質量的軟件版本和新的面向客戶的應用程序
時間是一個越來越大的挑戰, 特別是對于那些必須與復雜的
與遺留系統和資源相結合的現代技術網絡。組織必須
解決內部業務的需求-企業應用程序的擴展和可用性
移動/社會/云平臺-以及滿足客戶/消費者對可用性的需求
創新的應用。然而, 如何做到這一點, 而不提供洞察問題, 因為它們是
無意中創建的?
可以做些什么來提高整體軟件質量以減少問題和風險, 同時
加快發布周期, 使新的服務和產品更快地投放市場?這
要求對軟件漏洞和缺陷進行有效和早期的管理, 以使
主動的質量戰略和降低成本。然而, 如何才能減輕現有的不良行為
hao完成這些目標?






溫馨提示:以上是關于代理商sonarqube開源代碼質量管理軟件-華克斯(推薦商的詳細介紹,產品由蘇州華克斯信息科技有限公司為您提供,如果您對蘇州華克斯信息科技有限公司產品信息感興趣可以聯系供應商或者讓供應商主動聯系您 ,您也可以查看更多與行業專用軟件相關的產品!
免責聲明:以上信息由會員自行提供,內容的真實性、準確性和合法性由發布會員負責,天助網對此不承擔任何責任。天助網不涉及用戶間因交易而產生的法律關系及法律糾紛, 糾紛由您自行協商解決。
風險提醒:本網站僅作為用戶尋找交易對象,就貨物和服務的交易進行協商,以及獲取各類與貿易相關的服務信息的平臺。為避免產生購買風險,建議您在購買相關產品前務必 確認供應商資質及產品質量。過低的價格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請采購商謹慎對待,謹防欺詐,對于任何付款行為請您慎重抉擇!如您遇到欺詐 等不誠信行為,請您立即與天助網聯系,如查證屬實,天助網會對該企業商鋪做注銷處理,但天助網不對您因此造成的損失承擔責任!
聯系:tousu@tz1288.com是處理侵權投訴的專用郵箱,在您的合法權益受到侵害時,歡迎您向該郵箱發送郵件,我們會在3個工作日內給您答復,感謝您對我們的關注與支持!