原創|使用教程|編輯:張莉|2025-09-18 11:17:55.590|閱讀 51 次
概述:通過將Parasoft C/C++test與Docker相結合,我們構建了一個標準化、可復用的代碼質量分析環境。這一實踐旨在解決因開發環境差異導致的測試結果不一致問題,確保靜態分析與單元測試能夠在統一、可控的編譯工具鏈中執行。利用Docker的隔離特性,我們將Parasoft的代碼采集工具與項目構建流程(如Makefile)集成,通過生成構建數據文件(BDF)為后續深度代碼分析提供基礎。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
通過將Parasoft C/C++test與Docker相結合,我們構建了一個標準化、可復用的代碼質量分析環境。這一實踐旨在解決因開發環境差異導致的測試結果不一致問題,確保靜態分析與單元測試能夠在統一、可控的編譯工具鏈中執行。利用Docker的隔離特性,我們將Parasoft的代碼采集工具與項目構建流程(如Makefile)集成,通過生成構建數據文件(BDF)為后續深度代碼分析提供基礎。這種方法是實現持續測試與DevOps實踐的關鍵步驟,特別適用于需要符合功能安全標準(如ISO 26262)的嵌入式系統開發。
準備階段 Ubuntu 64位,cpptest工具,Docker
1.在創建Docker的腳本中添加以下幾個參數
-v /home/u/parasoft/cpptest:/home/u/parasoft/cpptest (c++test安裝目錄) -v /home/u/parasoft/cpptest/examples/Timer:/home/u/parasoft/cpptest/examples/Timer(項目目錄) -v /home/u/workspace/space12.27.2:/home/u/workspace/space12.27.2 (指定工作空間目錄) --name gcc9-test-container(指定Docker名字) 注意:保證宿主機目錄和Docker中的目錄完全一致
2.容器中添加cpptest的環境變量
export PATH=$PATH:/home/u/parasoft/cpptest/bin 驗證cpptesttrace命令可不可用 直接輸入cpptesttrace來驗證
3.生成bdf
進入Docker目錄后,切換到項目根目錄,執行以下命令: Cpptesttrace -cpptesttraceProjectName=demo -cpptesttraceOutputFile=/home/u/parasoft/cpptest/examples/Timer/demo.bdf make cpptesttraceProjectName=指定項目名 cpptesttraceOutputFile=指定生成bdf的絕對路徑以及bdf名字 make是構建命令,可以用其他任何構建命令替代,例如build.sh
4.后臺運行Docker
5.將容器名稱分配給環境變量
export CPPTEST_CONTAINER_NAME=gcc9-test-container
6.在同一終端啟動cpptest
7.導入在容器內生成的.bdf文件
編譯器配置如下,需要自定義編譯器
編譯器的名稱和種類可根據自己的需要進行修改
c編譯器選擇c++test安裝目錄下的/integration/docker中的remote-gcc C++編譯器選擇c++test安裝目錄下的/integration/docker中的remote-g++ 連接器選擇c++test安裝目錄下的/integration/docker中的remote-g++ 如下圖所示
以上就基本配置成功啦
8.執行靜態分析
可能會遇到如下報錯
解決辦法:缺少庫文件,下載庫文件即可
9.單元測試
單元測試相對于靜態分析多了一個步驟,在自定義編譯器時,最后會告訴自定義編譯器 gui.propertie的存放路徑,如下所示
在容器中cd 到這個目錄下找到gui.propertities文件
然后vim 打開這個文件,修改兩個地方
在容器中進行單元測試時在執行單元測試時,不選Run unit tests了選擇Run Unit tests in Container然后就這樣執行啦。
在成功配置環境的基礎上,團隊可進一步將該方案集成至CI/CD流水線,實現自動化代碼質量門禁。通過Parasoft C/C++test提供的靜態分析、單元測試及覆蓋率檢測能力,結合Docker容器提供的環境一致性保障,開發者能夠在早期發現代碼缺陷,有效提升軟件可靠性并降低合規認證風險。這一技術實踐不僅適用于汽車電子領域,也可為其他對代碼質量有高要求的行業提供參考。
關于慧都
慧都是一家行業數字化解決方案公司,專注于軟件、石油與工業領域,以深入的業務理解和行業經驗,幫助企業實現智能化轉型與持續競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。
慧都科技作為Parasoft公司在中國區的官方授權合作伙伴,為國內企業提供Parasoft C/C++test產品的正版授權、定制化部署與全生命周期技術支持與服務。我們致力于助力客戶精準貫徹功能安全標準、全面提升軟件開發效率、有效管控項目風險,最終構建符合國際標準的高質量軟件體系。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn