
一、CI/CT概述
隨著軟件定義汽車的不斷發展,汽車軟件和軟件研發團隊的規模不斷增加,智駕、座艙等各域的融合,使汽車軟件的復雜度急劇上升。同時,汽車研發周期從36個月到18個月以內的大幅縮減,對軟件的測試、降低成本和提高研發效率提出了更高的要求。
汽車行業在傳統互聯網的CI/CD(持續集成,持續交付和持續部署)的基礎上,針對行業對軟件開發測試流程和功能安全要求,形成了現有的從自動化代碼和模型的動靜態測試、自動化編譯、軟件版本的自動刷寫到自動化HIL臺架測試的CI/CT(持續集成,持續測試)方案,以應對軟件測試的各類自動化需求和要求。
CI(持續集成 Continuous Integration),指能夠自動的將已經提交到代碼倉的代碼和模型,自動化的拉取到對應的節點進行自動構建、自動化動靜態測試、自動生成代碼、自動編譯、自動提交Bug以及通過郵件或者第三方通訊軟件通知以推動軟件產品的持續構建迭代。
CT(持續測試 Continuous Test),指能夠按照軟件迭代周期,對各版本新實現的功能需求對應的測試任務進行自動測試,對于各版本修復的Bug對應的測試任務進行自動回歸測試,以及根據測試策略對測試任務及測試系統進行統籌安排,自動跟蹤和收集其測試結果。
二、北匯CI/CT解決方案介紹
北匯信息可以提供Jenkins、Gitlab Runner CI和自研平臺等的CI/CT整體解決方案,包括:
滿足ASPICE和ISO 26262要求的CI/CT服務器的部署和集成;
開發及測試工具的部署集成;
腳本開發、函數庫、郵件模版等的定制化;
通訊工具等軟件的數據交互以及AI功能的定制化服務。
通過CI/CT自動化測試執行、測試策略定制、測試任務自動調度、測試系統資源統籌、測試過程閉環等功能,將頻繁耗時的工作標準化、開發-測試流程標準化,從而幫助客戶提升測試覆蓋率、版本質量、交付速度和HIL臺架利用率。
三、CI/CT流程
CI/CT整體流程:

北匯信息可以在不改變客戶現有工具鏈和開發測試流程的情況下,提供基于Jenkins/Gitlab Runner CI等的CI/CT定制化搭建服務。
CI/CT流程支持模型開發與代碼開發多條流水線的集成配置,針對不同研發模式,統一接入代碼倉進行版本管理。兼容主流版本控制系統如 SVN 和 Git等,并通過集成插件以及相關腳本實現自動拉取代碼/模型,完成提交后的自動構建和觸發CI/CT流程。方案支持與需求管理工具、缺陷管理工具、生命周期管理工具和通訊工具等的集成,支持多種測試任務觸發方式和串行、并行測試。
開發人員提交代碼或者模型到代碼倉后,自動化的觸發CI/CT的任務構建,將代碼和模型自動化的拉取到對應的節點進行靜動態測試、代碼生成和編譯,并將生成的軟件版本自動存放到版本管理工具,鏈接持續測試流程進行自動化刷寫。

CI/CT與系統測試結合可以確保軟件的功能安全和合規性,測試人員需要根據測試需求完成測試規范設計,測試腳本的編寫以及測試策略的安排(冒煙測試或全功能測試等),當CI/CT服務器檢測到腳本或者制品庫有更新,會自動化的根據測試任務列表執行HIL臺架測試。當軟件版本和臺架版本不一致的時候,會觸發自動刷寫流程,完成刷寫后繼續執行測試,測試結果將由CI/CT調度通過郵件或者第三方通訊工具發送給測試人員。

四、北匯自研CI/CT平臺(PAVELINK)解決方案
北匯自研的CI/CT平臺(PAVELINK)在原有的CI/CT基礎上增加了軟件管理、測試資源管理、項目管理、需求管理、測試缺陷管理、AI功能和實驗室大屏展示等功能模塊。可以實現從開發到測試的全流程閉環管控和過程追溯,覆蓋開發任務管理、集成任務配置、軟件發布、測試任務管理、測試工程管理、測試資源監控、測試樣件管理、測試結果/數據管理、測試報告管理、統計分析等模塊。平臺根據客戶需求定制測試報告、統計報表,基于測試執行數據實時統計測試用例的覆蓋率、用例通過率和測試問題的關閉率等,為管理決策提供數據支撐。
CI/CT平臺(PAVELINK)采用B/S架構,支持開發、測試人員協同工作,通過系統權限和數據權限管理提供數據安全保證。平臺提供標準的API接口,可實現測試工具插件的靈活拓展以及第三方系統的快速接入。
