持續集成(Continuous Integration,簡稱CI)是一種軟件開發/測試方法。它要求開發及測試人員頻繁地將代碼提交到用于共享的開發分支中,經過充分的測試和審查,然后通過自動化的構建和測試流程,對代碼進行構建、單元測試、集成測試等步驟以確保代碼的質量和可交付性。早在2000年代初,就有主機廠及零部件供應商開始嘗試通過持續集成來提升軟件開發效率和質量。而在競爭愈發激烈、整車集成化趨勢愈加凸顯的當下,二者都認識到提升軟件開發效率和質量的重要性。他們深刻的明白為了快速響應市場需求和用戶反饋,同時盡可能避免缺陷和故障,一個高效可靠的持續集成流程是必須的。因此,持續集成在汽車軟件測試行業的重要性自是不言而喻。Jenkins作為最具代表性,市場占比最高的開源CI工具,在構建持續集成流程方面發揮了重要作用。通過使用Jenkins,可以輕松地集成其他各式工具,自動構建、執行測試流程。Jenkins 還提供了靈活且豐富的插件系統,允許用戶根據需要去定制專屬的工作流程。
在這樣的背景下,VectorCAST作為Vector公司旗下基于V模型開發的C/C++代碼動態測試工具,也針對Jenkins開發了自己的插件,使其能夠與Jenkins進行無縫集成。通過使用VectorCAST和Jenkins進行集成測試,無需啟動客戶端便可便捷快速的完成自動測試及增量回歸測試,得到完整的測試結果報告。那么接下來就為大家介紹如何在Jenkins上完成對VectorCAST工程的持續集成。集成準備工作
一、VectorCAST工程配置當我們想在Jenkins上執行VectorCAST工程時,我們首先需要有一個完整的VectorCAST工程,包含四個部分,即編譯器、測試套件、組和環境。
在完成于VectorCAST工具上的測試項目創建后(具體操作方式請查看上方視頻,得到工程對應的vcm文件:
二、Jenkins配置
在網頁端打開Jenkins,通過Jenkins的Manage Jenkins Plugins Available plugins搜索安裝VectorCAST對應的兩個可安裝插件:通過Jenkins的節點管理Manage Jenkins Nodes來創建執行項目所用的節點并設置節點并發數。節點是用來執行構建任務的工作機器或服務器,我們可以自由選擇創建在主機或虛擬機中,通過在Jenkins中配置和管理節點,可以實現分布式構建和部署,通過將任務分配到不同的節點上并行執行,來提高構建和部署的效率;而并發數應選擇設置為大于等于當前項目的環境數,否則會導致當前項目沒有可用的節點致使執行停止:
回到Jenkins主頁面選擇VectorCAST,我們便可以看到現在可通過Create Single Job或是Create Jenkins Pipeline來創建任務,在Jenkins中,Single Job和Pipeline Job都可以完成同樣的構建過程與結果,而Pipeline Job更適合多個測試環境下需要節省時間并行執行的項目,且對于Pipeline Job,我們不需要單獨去編寫pipeline腳本,VectorCAST插件會自動生成pipeline腳本來幫助我們更快速便捷的構建Jenkins工程:Jenkins Job創建
我們選擇任一Jenkins Job,開始對相應的VectorCAST工程進行配置,配置選項除以下提及外皆選擇默認即可。
在Project Path處選擇我們項目的vcm文件的路徑,如是本地則選擇其絕對路徑,如使用Git庫/SVN拉取文件則轉為選擇相對路徑:Node Label處填入此前創建好的節點名稱:
Job Options處選擇為當下創建的任務命名,此處也可保持空白,插件會根據 vcm 文件的名字自動命名:
在接下來的Scripts腳本處可用于定義 Windows及Unix(根據實際使用的系統而定)的腳本命令。我們可以通過定義環境變量或調用批處理文件來設置環境腳本命令。當我們的工程是通過交叉編譯鏈進行編譯的,那么就可以將相應的環境配置或是批處理腳本填入此處:
當我們需要從Git庫/SVN檢出文件時,我們可以通過SCM項進行關聯:Single Job:Pipeline Job:在我們完成對于Jenkins Job的配置后,選擇Create即可完成Jenkins Job的創建。執行并查看結果
選擇我們上面創建好的Jenkins Job,通過Build Now執行當前任務。
Jenkins的自身特性會在任務執行過程中實時監控并進行記錄,通過點擊執行進度條進入控制臺查看實時執行進度:
待執行完成后便可查看執行結果,VectorCAST插件同樣會生成通過工具執行結果所得的相應報告:
同時我們也可以檢查這個工程的測試用例的執行情況及整體的覆蓋度情況:
對于Pipeline Job,我們還可以通過階段視圖與Blue Ocean來幫助我們更清晰的認知到每一階段的執行情況:
以上就是我們通過Jenkins集成VectorCAST的全部內容,而除此之外,我們還提供基于腳本的方案來助力自動化整個測試流程。相較于需要手動進行配置的插件。腳本方案可以更加便捷靈活的完成適配工程,執行測試,報告生成并通知的全自動化流程。如果您對這方面感興趣或是有任何需求,請隨時與我們取得聯系,我們很樂意與您進行詳細討論。
總結
目前,持續集成在汽車軟件測試行業已經成為一種必要的實踐。許多的汽車公司都建立了專門的持續集成流程,來管理和執行軟件的構建、部署、測試和監控等活動。同時,也另有一些新興的技術和工具,如云計算、微服務架構、DevOps實踐等,為持續集成提供了更多的可能性和挑戰。
對于VectorCAST來說,它不僅僅在持續集成領域提供了卓越的支持,還可以通過與Docker集成來提供更靈活的測試環境,VectorCAST還支持與多種需求管理服務器(如Polarion、CodeBeamer等)進行集成。同時,VectorCAST還提供了整個測試過程的命令行接口,并支持自定義生成報告等多種功能。
如果您想了解更多有關信息請聯系北匯信息,北匯信息作為Vector公司的中國合作伙伴,擁有專業的VectorCAST測試服務團隊,可為您提供周全完整的研發、測試解決方案及優質的技術支持服務。
-
測試
+關注
關注
8文章
5375瀏覽量
127063 -
軟件
+關注
關注
69文章
5013瀏覽量
88075 -
Vector
+關注
關注
3文章
62瀏覽量
8664
發布評論請先 登錄
相關推薦
評論