那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

作者 |吃井不忘挖水人

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

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

參數(shù)解析

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

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


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關(guān)注

    關(guān)注

    8

    文章

    5382

    瀏覽量

    127075
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    499

    瀏覽量

    22125
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4828

    瀏覽量

    69060
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    11967
收藏 人收藏

    評論

    相關(guān)推薦

    華為云 X 實例部署 Docker 應(yīng)用的性能評測優(yōu)化與實踐指南

    1. 前言 ? 2. 測試環(huán)境設(shè)置 ? 2.1 硬件與軟件配置 ? 2.2 網(wǎng)絡(luò)環(huán)境與帶寬 ? 2.3 測試應(yīng)用介紹 ? 3. Docker及應(yīng)用的安裝部署步驟 ? 3.1 安裝Docker
    的頭像 發(fā)表于 01-23 18:03 ?112次閱讀
    華為云 X 實例部署 <b class='flag-5'>Docker</b> 應(yīng)用的性能評測優(yōu)化與實踐指南

    基于 Docker 與 Jenkins 實現(xiàn)自動化部署

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持,引領(lǐng)持續(xù)集成與部署的新紀(jì)元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?219次閱讀
    基于 <b class='flag-5'>Docker</b> 與 Jenkins 實現(xiàn)自動化部署

    Flexus X 實例 C#/.Net Core 結(jié)合(git 代碼管理、docker 自定義鏡像)快速發(fā)布部署 - 讓你的項目飛起來~

    Docker 容器化部署,實現(xiàn)代碼高效管理與無縫遷移。即刻行動,讓您的 Web 服務(wù)更加穩(wěn)定、高效,領(lǐng)跑數(shù)字化轉(zhuǎn)型之路! ???本實驗深入演示了如何在 Ubuntu 環(huán)境中,利用 Git 進(jìn)行版本控制管理代碼
    的頭像 發(fā)表于 12-25 21:15 ?211次閱讀
    Flexus X 實例 C#/.Net Core 結(jié)合(git <b class='flag-5'>代碼</b>管理、<b class='flag-5'>docker</b> 自定義鏡像)快速發(fā)布部署 - 讓你的項目飛起來~

    信令測試儀器的技術(shù)原理和應(yīng)用場景

    信令測試儀器是一種專門用于測試通信系統(tǒng)中信令的設(shè)備,其技術(shù)原理和應(yīng)用場景如下:一、技術(shù)原理信令測試儀器的技術(shù)原理主要涉及信令的捕獲、解碼和分析。 信令捕獲:信令
    發(fā)表于 10-31 14:45

    Docker運行環(huán)境安裝

    、發(fā)布、測試和部署,可以幫助開發(fā)人員將最新版本代碼應(yīng)用到生產(chǎn)環(huán)境中。 Docker可以安裝在多個平臺中,包括Mac、Windows和Linux。不過,生產(chǎn)環(huán)境還是推薦在Linux上運行,以下以主流的Linux操作系統(tǒng)(CentO
    的頭像 發(fā)表于 10-29 11:28 ?278次閱讀

    脈沖式線圈測試儀的技術(shù)原理和應(yīng)用場景

    脈沖式線圈測試儀,也被稱為數(shù)字式匝間絕緣測試儀,其技術(shù)原理和應(yīng)用場景如下:技術(shù)原理脈沖式線圈測試儀的技術(shù)原理主要基于電磁感應(yīng)和瞬態(tài)波形分析。具體來說,
    發(fā)表于 09-18 14:29

    手動構(gòu)建Docker鏡像的方法

    不推薦使用docker commit命令,而應(yīng)該使用更靈活、更強(qiáng)大的dockerfile來構(gòu)建docker鏡像。
    的頭像 發(fā)表于 08-05 15:30 ?591次閱讀
    手動構(gòu)建<b class='flag-5'>Docker</b>鏡像的方法

    ARM平臺實現(xiàn)Docker容器技術(shù)

    。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)品開發(fā)時間。Docker使用客戶端——服務(wù)器(C/S)體系結(jié)構(gòu)。Docker
    發(fā)表于 07-25 14:36

    ARM平臺實現(xiàn)Docker容器技術(shù)

    。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)品開發(fā)時間。Docker使用客戶端——服務(wù)器(C/S)體系結(jié)構(gòu)。Docker
    發(fā)表于 07-17 11:05

    Jtti:Docker會替代調(diào)虛機(jī)嗎

    Docker是計算虛擬化的一種方式,和使用虛擬機(jī)進(jìn)行虛擬化是類似的。由于近幾年Docker技術(shù)的流行和發(fā)展。所以單獨介紹一Docker。首先先回答下面一個問題。 1.
    的頭像 發(fā)表于 07-12 14:38 ?378次閱讀
    Jtti:<b class='flag-5'>Docker</b>會替代調(diào)虛機(jī)嗎

    如何在不同應(yīng)用場景構(gòu)建音頻測試環(huán)境

    在之前的文章中,我們已經(jīng)詳細(xì)介紹了基礎(chǔ)音頻參數(shù)和AP525的軟硬件配置。本文將延續(xù)這一主題,以泰凌TLSR9518A EVB作為測試設(shè)備(DUT),向大家展示如何在不同應(yīng)用場景構(gòu)建音頻測試
    的頭像 發(fā)表于 07-03 15:00 ?691次閱讀
    如何在不同應(yīng)用<b class='flag-5'>場景</b><b class='flag-5'>下</b>構(gòu)建音頻<b class='flag-5'>測試</b>環(huán)境

    關(guān)于Docker 的清理命令集錦

    這篇文章主要介紹了Docker 清理命令集錦,需要的朋友可以參考 復(fù)制代碼代碼如下: docker kill $(
    的頭像 發(fā)表于 06-13 15:56 ?435次閱讀

    功能測試覆蓋中最常見的是什么方法

    常見的方法,包括黑盒測試測試、灰測試、等價類劃分、邊界值分析、錯誤推測法、因果圖法、狀態(tài)
    的頭像 發(fā)表于 05-30 14:55 ?838次閱讀

    功能測試還是黑盒測試

    功能測試是軟件測試的一種方法,主要用于驗證軟件的功能是否滿足需求規(guī)格說明書中的要求。功能測試可以采用
    的頭像 發(fā)表于 05-30 14:53 ?971次閱讀

    ARM平臺實現(xiàn)Docker容器技術(shù)

    ,亦可實現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)
    的頭像 發(fā)表于 03-07 13:48 ?849次閱讀
    ARM平臺實現(xiàn)<b class='flag-5'>Docker</b>容器技術(shù)
    宝马百家乐官网的玩法技巧和规则 | 缅甸百家乐官网龙虎斗| 大众百家乐的玩法技巧和规则 | 百家乐具体怎么收费的| 百家乐种类| 网上百家乐官网破战| 日博娱乐| 哪里有百家乐赌博网站| 磐石市| 最新百家乐网评测排名| 百家乐官网哪条下路好| 大发888 制度| 百家乐游戏解密| 百家乐官网赢家公式| 百家乐77scs| 网上百家乐官网的玩法技巧和规则| bet365v网卡| 澳门百家乐会出老千吗| 百家乐官网娱乐城官方网| 推二八杠技巧| 真人百家乐官网体验金| 兴和县| 全讯网开奖结果| 24山是那二十四山| 百家乐官网是咋玩法| 广发百家乐的玩法技巧和规则| 百家乐官网博娱乐平台赌百家乐官网 | 合肥太阳城莱迪广场| 百家乐官网第三张规则| 百家乐官网算号软件| 全讯网3344111| 属鼠做生意办公桌摆貔貅好不好| 菲律宾百家乐官网游戏| 大发888官网 df888ylcxz46| 博士百家乐现金网| 百家乐官网网站赌博| 立博博彩| 金博士百家乐的玩法技巧和规则 | 百家乐有没有破解之法| 新濠百家乐官网的玩法技巧和规则| 韶山市|