一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領(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)的機器上,并可以無需再次進行配置便完美執(zhí)行。Docker容器是使用的沙箱機制,任何容器之間的創(chuàng)建、運行和關(guān)閉不會相互影響,相互之間也不會有任何接口。容器和虛擬機雖然都使用虛擬化技術(shù),但容器并不是模擬一個完整的操作系統(tǒng),而是在宿主機操作系統(tǒng)上應(yīng)用虛擬化技術(shù),可實現(xiàn)軟件應(yīng)用的秒級啟動和響應(yīng),相比而言,虛擬機冗余步驟多、啟動太慢、占用內(nèi)存硬盤資源,過于笨重。
在敏捷開發(fā)模式越發(fā)流行的現(xiàn)在,Docker技術(shù)的使用也越發(fā)普遍,開發(fā)過程中對迭代版本中的代碼的測試成本也逐漸增長,如何方便快捷地對代碼進行測試也隨之成為了一個越來越值得關(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平臺的強力支持。
那下面為大家介紹VectorCAST這款強力的動態(tài)代碼測試工具在Docker場景中的使用。

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

參數(shù)解析

1、docker:Docker的二進制執(zhí)行文件。2、run:與前面的docker組合來運行一個容器。3、-v:設(shè)定共享目錄,為了將安裝包保存到容器中,需要指定目錄。D:\Docker\Data指本地目錄,可以自定義;/dev/shm是指容器中的目錄。將需要復(fù)制到容器中的文件放置到D:\Docker\Data中,在容器中就可以進入/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)的路徑進行修改。
iii.工具啟動與使用
5c740ec2-6711-11ee-9788-92fbcf53809c.png
工具成功啟動后可以在工具頂端會標識出正在運行工具的容器id號。
工具鏡像方式
若是需要進行經(jīng)常性的工具遷移使用,使用工具掛載方式會顯得不便捷,那可以選擇另一種方式在容器中使用工具,即將工具放置在鏡像內(nèi),實現(xiàn)快捷的工具遷移。以下對此方式進行介紹。
i.編寫Dockerfile
5c7f38ba-6711-11ee-9788-92fbcf53809c.png使用dockerfile在制作鏡像時將工具目錄同時拷貝進去而形成一個新的鏡像。
ii.構(gòu)建鏡像
5c91d236-6711-11ee-9788-92fbcf53809c.png
iii.啟動容器
5c9ff9ec-6711-11ee-9788-92fbcf53809c.jpg使用指令啟動剛剛新制作的鏡像,而鏡像里本身就已經(jīng)包含著工具,不需額外對工具進行掛載。
iv.修改工具啟動文件
5ca87a22-6711-11ee-9788-92fbcf53809c.png
工具在容器內(nèi)打開后使用的是容器內(nèi)部的文件樹,所以需要將啟動文件中對應(yīng)的路徑進行修改。修改后可啟動工具。
v.工具使用
5cb9284a-6711-11ee-9788-92fbcf53809c.png工具成功啟動后同樣可以在工具頂端標識出正在運行工具的容器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ù)集成與部署、更易于移植以及更便捷的維護和拓展。但對開發(fā)過程中對迭代版本中的代碼的測試成本也逐漸增長,方便快捷地對代碼進行盡可能早的測試也成為了越來越多用戶所追求的。
VectorCAST作為一款強力的C/C++代碼測試工具,不僅可以與Docker技術(shù)進行結(jié)合,并且可以適配實際的交叉編譯鏈,對代碼基于最真實編譯環(huán)境進行完備的測試檢驗,大大減少因代碼測試中測試工具與環(huán)境分割或適配帶來的花費,提高測試效率和降低測試難度。
如果您想了解更多有關(guān)信息請聯(lián)系北匯信息,北匯信息作為Vector公司的中國合作伙伴,擁有專業(yè)的VectorCAST測試服務(wù)團隊,可為您提供周全完整的研發(fā)、測試解決方案及優(yōu)質(zhì)的技術(shù)支持服務(wù)。注:文中部分圖片來源于Vector。


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

    關(guān)注

    8

    文章

    5708

    瀏覽量

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

    關(guān)注

    0

    文章

    511

    瀏覽量

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

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70797
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    515

    瀏覽量

    12979
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—Docker容器部署方法說明

    不會有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)品開發(fā)時間。
    的頭像 發(fā)表于 07-03 11:00 ?127次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國產(chǎn) 2GHz 四核A53 工業(yè)開發(fā)板—<b class='flag-5'>Docker</b>容器部署方法說明

    docker無法啟用怎么解決?

    mengxing@mengxing-virtual-machine:/etc/docker$ sudo systemctl daemon-reload
    發(fā)表于 06-23 07:17

    電線一根黑線一根線代表什么線

    在日常生活中,我們經(jīng)常會遇到各種顏色的電線,其中黑線和線尤為常見。這兩種顏色的電線在不同的場景下有著不同的含義和用途,理解它們的區(qū)別對于安全用電至關(guān)重要。本文將詳細探討黑線和線在不同場景
    的頭像 發(fā)表于 06-12 17:24 ?1679次閱讀

    Docker Compose的常用命令

    。它通過一個配置文件(docker-compose.yml)來詳細定義多個容器之間的關(guān)聯(lián)、網(wǎng)絡(luò)設(shè)置、服務(wù)端口等信息。使用一條簡單的命令,就可以輕松啟動、停止和管理這些容器,極大地簡化了多容器應(yīng)用的部署與管理流程,方便實現(xiàn)應(yīng)用的快速構(gòu)建、開發(fā)、測試以及部署。
    的頭像 發(fā)表于 04-30 13:40 ?462次閱讀

    【技術(shù)案例】Android in Docker

    的資源利用,廣泛用于開發(fā)、測試和生產(chǎn)環(huán)境中。AndroidinDocker介紹宿主機系統(tǒng)中通過docker運行Android容器。利用docker的特性,我們可以將
    的頭像 發(fā)表于 04-02 16:33 ?686次閱讀
    【技術(shù)案例】Android in <b class='flag-5'>Docker</b>

    電源的應(yīng)用場景

    電源的應(yīng)用場景非常廣泛,主要包括以下幾個方面: ?特定設(shè)備驅(qū)動?: 電源被用于驅(qū)動特定設(shè)備,如普克爾等。這種電源通常具有特定的設(shè)計,
    的頭像 發(fā)表于 03-07 10:24 ?508次閱讀

    docker配置網(wǎng)絡(luò)代理

    有時因為網(wǎng)絡(luò)原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置,略顯復(fù)雜,因為有三種場景。但基本原理都是一致的,都是利用 Linux 的 http_proxy 等環(huán)境變量。
    的頭像 發(fā)表于 03-03 17:18 ?487次閱讀

    為什么DLPC7540 Curtain模式場亮度要比Solid Field模式場亮度要高?

    場亮度大概是1100lm左右,但切到Curtain模式場有1500lm左右,這兩個模式有什么不一樣?為什么 Curtain模式亮度會增加?謝謝!
    發(fā)表于 02-20 06:29

    華為云 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 ?443次閱讀
    華為云 X 實例部署 <b class='flag-5'>Docker</b> 應(yīng)用的性能評測優(yōu)化與實踐指南

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

    前言 重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務(wù)器的加持,引領(lǐng)持續(xù)集成與部署的新紀元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本
    的頭像 發(fā)表于 01-07 17:25 ?530次閱讀
    基于 <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 進行版本控制管理代碼
    的頭像 發(fā)表于 12-25 21:15 ?605次閱讀
    Flexus X 實例 C#/.Net Core 結(jié)合(git <b class='flag-5'>代碼</b>管理、<b class='flag-5'>docker</b> 自定義鏡像)快速發(fā)布部署 - 讓你的項目飛起來~

    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 ?685次閱讀

    脈沖式線圈測試儀的技術(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)該使用更靈活、更強大的dockerfile來構(gòu)建docker鏡像。
    的頭像 發(fā)表于 08-05 15:30 ?939次閱讀
    手動構(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