<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

VectorCAST|Docker場景下的代碼白盒測試實施

北匯信息POLELINK ? 2023-10-10 10:04 ? 次閱讀

作者 |吃井不忘挖水人

小編 | 不吃豬頭肉
Docker是一個開源的應用容器引擎,它可以實現讓開發者打包他們的應用、依賴以及配置到一個可移植的鏡像中,并且可以發布到任何可運行Docker的Linux或Windows操作系統的機器上,并可以無需再次進行配置便完美執行。Docker容器是使用的沙箱機制,任何容器之間的創建、運行和關閉不會相互影響,相互之間也不會有任何接口。容器和虛擬機雖然都使用虛擬化技術,但容器并不是模擬一個完整的操作系統,而是在宿主機操作系統上應用虛擬化技術,可實現軟件應用的秒級啟動和響應,相比而言,虛擬機冗余步驟多、啟動太慢、占用內存硬盤資源,過于笨重。
在敏捷開發模式越發流行的現在,Docker技術的使用也越發普遍,開發過程中對迭代版本中的代碼的測試成本也逐漸增長,如何方便快捷地對代碼進行測試也隨之成為了一個越來越值得關注的問題。
在眾多種類的代碼動態測試工具中,北匯信息所采用的是Vector旗下的代碼動態測試工具—VectorCAST/C++。VectorCAST/C++工具是德國Vector公司的一款白盒測試工具,主要用于實現代碼的單元測試和集成測試。工具最大的特點以及優勢就在于經受了多個大型量產項目的實踐,證明了工具對C++高階特性、Linux系統和CI平臺的強力支持。
那下面為大家介紹VectorCAST這款強力的動態代碼測試工具在Docker場景中的使用。

5c4b5888-6711-11ee-9788-92fbcf53809c.pngVectorCAST使用
基于Docker技術進行開發,實際情景一般是代碼與編譯環境同時部署在鏡像中,或是代碼和編譯環境分開部署在本地服務器和鏡像內,那么這也導致在使用工具時可能會采用不同的方式。
掛載工具方式
在使用多個Docker鏡像進行代碼版本迭代或控制的開發場景下,不需要將VectorCAST工具先放置到鏡像中,而是使用掛載的形式,將工具在啟動容器時掛載到對應容器中,以實現在容器中對工具的使用,此方式大大減少了工具重復的安裝過程,并且實現同一個工具對不同鏡像的復用。下面簡要說明使用的流程。
i.容器的啟動5c55c098-6711-11ee-9788-92fbcf53809c.jpg

參數解析

1、docker:Docker的二進制執行文件。2、run:與前面的docker組合來運行一個容器。3、-v:設定共享目錄,為了將安裝包保存到容器中,需要指定目錄。D:\Docker\Data指本地目錄,可以自定義;/dev/shm是指容器中的目錄。將需要復制到容器中的文件放置到D:\Docker\Data中,在容器中就可以進入/dev/shm來訪問這些文件。4、-i: 以交互模式運行容器5、-t: 為容器重新分配一個偽輸入終端 6、-e:設置環境變量在啟動容器時將工具所在的目錄通過-v選項掛載到容器內。
ii.修改工具啟動文件
5c641d00-6711-11ee-9788-92fbcf53809c.png工具在容器內打開后使用的是容器內部的文件樹,所以需要將啟動文件中對應的路徑進行修改。
iii.工具啟動與使用
5c740ec2-6711-11ee-9788-92fbcf53809c.png
工具成功啟動后可以在工具頂端會標識出正在運行工具的容器id號。
工具鏡像方式
若是需要進行經常性的工具遷移使用,使用工具掛載方式會顯得不便捷,那可以選擇另一種方式在容器中使用工具,即將工具放置在鏡像內,實現快捷的工具遷移。以下對此方式進行介紹。
i.編寫Dockerfile
5c7f38ba-6711-11ee-9788-92fbcf53809c.png使用dockerfile在制作鏡像時將工具目錄同時拷貝進去而形成一個新的鏡像。
ii.構建鏡像
5c91d236-6711-11ee-9788-92fbcf53809c.png
iii.啟動容器
5c9ff9ec-6711-11ee-9788-92fbcf53809c.jpg使用指令啟動剛剛新制作的鏡像,而鏡像里本身就已經包含著工具,不需額外對工具進行掛載。
iv.修改工具啟動文件
5ca87a22-6711-11ee-9788-92fbcf53809c.png
工具在容器內打開后使用的是容器內部的文件樹,所以需要將啟動文件中對應的路徑進行修改。修改后可啟動工具。
v.工具使用
5cb9284a-6711-11ee-9788-92fbcf53809c.png工具成功啟動后同樣可以在工具頂端標識出正在運行工具的容器id號。

5cd1d624-6711-11ee-9788-92fbcf53809c.png總結
在敏捷開發模式越發流行的現在,Docker技術的使用也隨之越發普遍,使用Docker會給開發帶來一些優勢,如更高效的系統資源利用、更快速的應用啟動、提供統一的運行環境、利于實現持續集成與部署、更易于移植以及更便捷的維護和拓展。但對開發過程中對迭代版本中的代碼的測試成本也逐漸增長,方便快捷地對代碼進行盡可能早的測試也成為了越來越多用戶所追求的。
VectorCAST作為一款強力的C/C++代碼測試工具,不僅可以與Docker技術進行結合,并且可以適配實際的交叉編譯鏈,對代碼基于最真實編譯環境進行完備的測試檢驗,大大減少因代碼測試中測試工具與環境分割或適配帶來的花費,提高測試效率和降低測試難度。
如果您想了解更多有關信息請聯系北匯信息,北匯信息作為Vector公司的中國合作伙伴,擁有專業的VectorCAST測試服務團隊,可為您提供周全完整的研發、測試解決方案及優質的技術支持服務。注:文中部分圖片來源于Vector。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 測試
    +關注

    關注

    8

    文章

    4560

    瀏覽量

    125272
  • 容器
    +關注

    關注

    0

    文章

    481

    瀏覽量

    21914
  • 代碼
    +關注

    關注

    30

    文章

    4569

    瀏覽量

    67059
  • Docker
    +關注

    關注

    0

    文章

    439

    瀏覽量

    11640
收藏 人收藏

    評論

    相關推薦

    ARM平臺實現Docker容器技術

    上,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一樣管理基礎結構。通過利用Docker的快速發布、測試和部署代碼的方法,可顯著減少
    的頭像 發表于 03-07 13:48 ?241次閱讀
    ARM平臺實現<b class='flag-5'>Docker</b>容器技術

    如何利用樹莓派安裝DockerDocker-compose呢?

    本文主要演示了樹莓派如何安裝DockerDocker-compose的過程。
    的頭像 發表于 12-14 16:19 ?1305次閱讀
    如何利用樹莓派安裝<b class='flag-5'>Docker</b>和<b class='flag-5'>Docker</b>-compose呢?

    VectorCAST 對基于***的軟件代碼開發支持

    的技術挑戰,其中之一就是確保國產芯片開發和應用的質量和可靠性。VectorCAST工具的應用為解決這一挑戰提供了強大的支持,它具有豐富的測試功能,有助于確?;趪a芯
    的頭像 發表于 12-14 08:25 ?256次閱讀
    <b class='flag-5'>VectorCAST</b> 對基于***的軟件<b class='flag-5'>代碼</b>開發支持

    docker核心組件有哪些

    Docker 是一種開源的容器化平臺,它能夠實現將應用程序及其依賴項打包到一個可移植的容器中,從而實現快速、可重復、可擴展的部署和管理。Docker 的核心組件包括 Docker Engine
    的頭像 發表于 11-23 09:47 ?877次閱讀

    docker進入容器的方法有哪些

    Docker是一種流行的容器化平臺,它能夠快速構建、交付和運行應用程序。在使用Docker時,我們經常需要進入容器進行調試、管理和運行命令等操作。本文將詳細介紹Docker進入容器的各種方法,包括
    的頭像 發表于 11-23 09:45 ?4540次閱讀

    linux關閉docker的命令

    在 Linux 系統中,關閉 Docker 的操作可以通過以下多種方式進行。本文將詳細講解每一種方式,并提供示例代碼和命令,以幫助讀者更好地理解和實踐。 使用 docker 命令 最常用的方法
    的頭像 發表于 11-23 09:39 ?1606次閱讀

    docker微服務架構實戰

    的容器化技術,為微服務架構的實施提供了強大的支持。本文將介紹Docker微服務架構的實戰經驗,包括Docker的概述、微服務架構的設計原則以及實際應用中的具體實踐。 一、Docker
    的頭像 發表于 11-23 09:26 ?341次閱讀

    使用VectorCAST MATLAB Toolbox獲取代碼覆蓋度的基本步驟

    不同階段的常用方法,用于有效驗證生成的嵌入式代碼。SIL測試目的是驗證嵌入式代碼的正確性,甄別潛在的問題,并評估程序的初步性能,一般在PC上即可執行;PIL則須運行在物理目標板上,主要用于驗證嵌入式
    的頭像 發表于 10-26 11:06 ?536次閱讀
    使用<b class='flag-5'>VectorCAST</b> MATLAB Toolbox獲取<b class='flag-5'>代碼</b>覆蓋度的基本步驟

    使用Docker容器編譯OK3568源代碼

    經常編譯系統,又免不了搭建各種開發環境,所以為了不對開發主機的環境有影響,使用Docker容器編譯代碼是比較方便和省心的方式。 編譯OK3568的源代碼,需要用Ubunut 18.04版本,我的開發
    發表于 10-19 10:36

    如何使用 Docker容器化技術

    一起打包,形成一個獨立的、可移植的容器。這些容器可以在任何支持 Docker 的平臺上運行,無論是開發環境、測試環境,還是生產環境,都能保持一致的運行結果。Docker 的高度可移植性和輕量級特性使得軟件開發和部署變得更加簡單和
    的頭像 發表于 09-30 11:24 ?1.2w次閱讀

    如何判斷是否在docker鏡像中?

    docker環境,沒有.dockerenv文件 2、查詢系統進程的cgroup信息 docker環境 cat /proc/1/cgroup 非docker環境
    發表于 09-20 07:42

    docker基礎知識和使用bmnnsdk時的docker常用命令

    本文旨在介紹docker基礎知識和使用bmnnsdk時的docker常用命令,幫助沒有接觸過docker的開發者快速上手。 一、docker基礎概念 1.1 什么是
    發表于 09-18 07:59

    如何在RDKx3部署docker鏡像?

    沒有找到x3對應tros的docker鏡像,于是嘗試自己做一個。下面分享一我的制作過程。 首先想到的是pull一個ubuntu20.04的docker鏡像,在鏡像里安裝tros,安裝成功,但是在
    發表于 08-02 11:02

    如何在持續集成開發流程中使用Jenkins和Docker?

    工作提供了一致和自動化的基礎。 我們將研究指南中的以下主題: ?在自定義Docker容器中的虛擬Arm Cortex-M4系統上運行“你好世界”應用程序。 ?實施測試以驗證應用程序的完成情況。 ?配置
    發表于 08-02 10:50

    嵌入式代碼單元測試如何完成?

    軟件開發中,每次需求的變更基本都需要改寫代碼,而代碼變更后就需要進行功能測試,當然在功能測試之前需要代碼的單元
    發表于 06-05 12:28 ?654次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>