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

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

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

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

測(cè)試系統(tǒng)集成開發(fā)環(huán)境ETest的架構(gòu)設(shè)計(jì)與工作原理

麥克泰技術(shù) ? 來(lái)源: 嵌入式系統(tǒng)專家之聲 ? 2023-10-31 16:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)軟件配置項(xiàng)和系統(tǒng)測(cè)試時(shí)需要構(gòu)建出半實(shí)物仿真測(cè)試環(huán)境(Hardawre in Loop Simution Test Platform,HIL),與被測(cè)系統(tǒng)(Unit Under Test,UUT)相連的各個(gè)外圍系統(tǒng)的信號(hào)、總線數(shù)據(jù)報(bào)文通過HIL系統(tǒng)產(chǎn)生,HIL系統(tǒng)則接收由UUT發(fā)送的各類信號(hào)和總線數(shù)據(jù)報(bào)文。建立通用化的半實(shí)物仿真測(cè)試平臺(tái)是測(cè)試建設(shè)的必然選擇,也是面向不同領(lǐng)域裝備快速構(gòu)建各類工裝測(cè)試系統(tǒng)的基礎(chǔ)。長(zhǎng)期以來(lái),我國(guó)在半實(shí)物仿真測(cè)試平臺(tái)的建設(shè)方面主要依賴兩個(gè)渠道,一是以國(guó)外進(jìn)口的半實(shí)物仿真測(cè)試平臺(tái)為基礎(chǔ)進(jìn)行二次開發(fā),形成滿足特定裝備領(lǐng)域應(yīng)用的測(cè)試系統(tǒng);二是采用通用編程開發(fā)環(huán)境開發(fā)具體裝備的測(cè)試。這兩種渠道都難以形成自主可控的產(chǎn)業(yè)生態(tài),不利于國(guó)家在工業(yè)基礎(chǔ)軟件方面的技術(shù)進(jìn)步和發(fā)展。

ETest是一款面向半實(shí)物仿真測(cè)試系統(tǒng)開發(fā)的國(guó)產(chǎn)自主可控集成開發(fā)環(huán)境,其核心是嵌入式測(cè)試領(lǐng)域描述語(yǔ)言ETL(Embedded Test Language),可完整用語(yǔ)言描述設(shè)備及其接口、接口連接關(guān)系、通信協(xié)議模板、操作監(jiān)控面板以及測(cè)試腳本,并為ETL設(shè)計(jì)和開發(fā)了智能化代碼編輯器、圖形化交聯(lián)環(huán)境繪制工具、可視化監(jiān)控面板設(shè)計(jì)工具、ETL實(shí)時(shí)運(yùn)行引擎等模塊。ETest可顯著提高測(cè)試系統(tǒng)的開發(fā)效率,具有1 ms級(jí)實(shí)時(shí)響應(yīng)性能,可以為用戶提供異步操作的測(cè)試程序開發(fā)模式,在多接口上執(zhí)行并發(fā)I/O,是測(cè)試系統(tǒng)開發(fā)的利器。

1ETest的架構(gòu)設(shè)計(jì)與工作原理

1.1ETest的架構(gòu)設(shè)計(jì)

ETest技術(shù)架構(gòu)設(shè)計(jì)如圖1所示。

3ddc8122-77c1-11ee-939d-92fbcf53809c.png圖1? ETest架構(gòu)設(shè)計(jì)

構(gòu)成ETest的核心是測(cè)試系統(tǒng)描述語(yǔ)言ETL,ETL描述的語(yǔ)義可在ETL運(yùn)行器上直接執(zhí)行。最下層為驅(qū)動(dòng)層,所有硬件板卡的驅(qū)動(dòng)采用VISA虛擬化儀器標(biāo)準(zhǔn)進(jìn)行封裝,確保硬件驅(qū)動(dòng)對(duì)上服務(wù)的標(biāo)準(zhǔn)化。當(dāng)采用的硬件板卡不同時(shí),如果硬件板卡不符合VISA協(xié)議標(biāo)準(zhǔn),通過修改ET-VISA層的軟件代碼可以屏蔽不同廠家硬件板卡驅(qū)動(dòng)的差異。若硬件板卡符合VISA協(xié)議標(biāo)準(zhǔn),則可以直接使用。ET-VISA組件的存在,使得無(wú)需更改ETestX之上的軟件就能快速完成采用不同硬件系統(tǒng)的測(cè)試工裝搭建。

在驅(qū)動(dòng)層之上是ETestX執(zhí)行器,ETestX執(zhí)行器實(shí)現(xiàn)了ET-AYSN異步I/O與事件循環(huán)、ET-DPD協(xié)議解析器、ET-ENGINE腳本運(yùn)行引擎、ET-RECORD實(shí)時(shí)記錄儀、ET-TIMER高分辨定時(shí)器、ET-RTTASK實(shí)時(shí)任務(wù)調(diào)度、ETVDMAN虛擬儀器管理、ET-SIMU仿真引擎、ET-DEBUG遠(yuǎn)程調(diào)試。ETestX執(zhí)行器實(shí)現(xiàn)了在目標(biāo)機(jī)之上可運(yùn)行測(cè)試腳本。ETestD API服務(wù)實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的通信服務(wù),使得上層的各類腳本可以直接運(yùn)行。

ETestD API遠(yuǎn)程代理運(yùn)行在上位機(jī)中,處理各類測(cè)試腳本,實(shí)現(xiàn)測(cè)試腳本在上位機(jī)透明運(yùn)行,ETestD API遠(yuǎn)程代理中提供了C#、Lua、Python、C/C++JavaScript、Java等多種語(yǔ)言的軟件開發(fā)工具包,ETestD API的存在使得ETestDEV具有在VSCode、PyCharm、Visual Studio等通用開發(fā)平臺(tái)中開發(fā)測(cè)試系統(tǒng)的能力,ETest也在這些通用開發(fā)平臺(tái)中提供了ETL插件。除了可以在VSCode、PyCharm、Visual Studio等通用開發(fā)平臺(tái)中使用ETL插件外,ETest也提供了完整的設(shè)計(jì)器,在設(shè)計(jì)器中可以完成測(cè)試環(huán)境設(shè)計(jì)、測(cè)試數(shù)據(jù)與流程設(shè)計(jì)、通信協(xié)議設(shè)計(jì)、監(jiān)控界面設(shè)計(jì)、測(cè)試腳本編輯、測(cè)試數(shù)據(jù)分析等功能,采用ETest設(shè)計(jì)器可以開發(fā)出完整的測(cè)試系統(tǒng),從而打造屬于國(guó)產(chǎn)自主可控的嵌入式系統(tǒng)測(cè)試平臺(tái)開發(fā)生態(tài)。

1.2ETest的運(yùn)行原理

ETest的核心是嵌入式測(cè)試領(lǐng)域?qū)S谜Z(yǔ)言ETL,用于描述測(cè)試環(huán)境中各要素,包含了設(shè)備接口描述device、連接拓?fù)涿枋鰐opology、通信協(xié)議描述protocol、操作面板描述panel、測(cè)試執(zhí)行腳本語(yǔ)言ETLua,其中device、topology、protocol、panel部分采用根、元素、元素屬性的語(yǔ)法規(guī)則,ETLua則采用Lua形式的語(yǔ)法規(guī)則。

采用ETL編寫的測(cè)試程序可在ETL運(yùn)行器上直接執(zhí)行,運(yùn)行器的核心是異步事件循環(huán),測(cè)試腳本在主循環(huán)上執(zhí)行,主循環(huán)中無(wú)任何阻塞操作,所有的I/O都被異步執(zhí)行,在高性能線程池中運(yùn)行著異步I/O、復(fù)雜的計(jì)算模型、數(shù)學(xué)仿真模型以及遠(yuǎn)程的驅(qū)動(dòng)代理,線程池與主循環(huán)之間同樣采用異步通信的方式進(jìn)行同步。

ETest的數(shù)據(jù)流圖如圖2所示,使用系統(tǒng)時(shí)由測(cè)試需求分析人員根據(jù)被測(cè)軟件的需求規(guī)格說明進(jìn)行測(cè)試需求分析,形成外部接口需求、外部接口的信號(hào)與協(xié)議特征需求。測(cè)試設(shè)計(jì)人員利用ETest上位機(jī)軟件對(duì)外部接口需求、信號(hào)與協(xié)議特征需求進(jìn)行可視化的描述,對(duì)外接口需求通過交聯(lián)環(huán)境可視化繪制功能繪制出交聯(lián)關(guān)系拓?fù)鋱D,信號(hào)與協(xié)議特征需求通過協(xié)議可視化配置形成協(xié)議模板。測(cè)試設(shè)計(jì)人員利用ETest進(jìn)行測(cè)試用例設(shè)計(jì)、測(cè)試數(shù)據(jù)設(shè)計(jì),測(cè)試用例設(shè)計(jì)與測(cè)試數(shù)據(jù)設(shè)計(jì)結(jié)果連同交聯(lián)關(guān)系拓?fù)鋱D、協(xié)議模板一起打包形成測(cè)試項(xiàng)目方案文件。

測(cè)試執(zhí)行時(shí),測(cè)試項(xiàng)目方案文件下載到ETest下位機(jī)中,下位機(jī)執(zhí)行引擎對(duì)測(cè)試腳本程序、信號(hào)與協(xié)議數(shù)據(jù)包進(jìn)行解析,形成輸出數(shù)據(jù)流,通過硬件接口板卡發(fā)送到被測(cè)件中。硬件接口板卡將輸出數(shù)據(jù)流轉(zhuǎn)換為線路信號(hào)輸入到被測(cè)件中,被測(cè)件根據(jù)接收到的輸入信號(hào)按照自身邏輯執(zhí)行,若有輸出數(shù)據(jù),則通過被測(cè)件自身的接口輸出到硬件接口板卡。硬件接口板卡將被測(cè)件輸出的信號(hào)通過驅(qū)動(dòng)程序轉(zhuǎn)換為ETest下位機(jī)執(zhí)行引擎的輸入數(shù)據(jù)流。ETest下位機(jī)執(zhí)行引擎根據(jù)測(cè)試用例設(shè)計(jì)邏輯、輸入數(shù)據(jù)流、輸出數(shù)據(jù)流對(duì)測(cè)試結(jié)果進(jìn)行判斷,形成測(cè)試結(jié)果數(shù)據(jù),將測(cè)試結(jié)果數(shù)據(jù)向ETest上位機(jī)回傳。

3de472e2-77c1-11ee-939d-92fbcf53809c.jpg

圖2 ETest的數(shù)據(jù)流圖

ETest上位機(jī)一方面將回傳的測(cè)試結(jié)果數(shù)據(jù)通過UI渲染引擎作為人機(jī)交互界面進(jìn)行展示,另一方面將回傳的測(cè)試結(jié)果通過報(bào)告模板與測(cè)試報(bào)告生成模塊生成測(cè)試報(bào)告。

1.3測(cè)試執(zhí)行綁定關(guān)系

利用ETest所編寫的測(cè)試程序要運(yùn)行在測(cè)試執(zhí)行引擎上,需要將監(jiān)控頁(yè)面、網(wǎng)絡(luò)變量、連接拓?fù)?、測(cè)試用例數(shù)據(jù)以及運(yùn)行時(shí)的控制臺(tái)組成有機(jī)整體,形成圖3所示的測(cè)試執(zhí)行綁定關(guān)系。

3df125e6-77c1-11ee-939d-92fbcf53809c.jpg

圖3 測(cè)試執(zhí)行綁定關(guān)系

測(cè)試程序是運(yùn)行在測(cè)試執(zhí)行引擎上的,測(cè)試執(zhí)行引擎執(zhí)行時(shí)可以向控制臺(tái)輸出調(diào)試信息,控制臺(tái)通過交互命令在測(cè)試執(zhí)行時(shí)調(diào)用測(cè)試程序中的函數(shù)或使用臨時(shí)編寫的腳本向測(cè)試執(zhí)行引擎進(jìn)行命令交互,以應(yīng)對(duì)測(cè)試過程中的命令突發(fā)情況。

若使測(cè)試程序在測(cè)試執(zhí)行引擎上有序進(jìn)行,必須建立測(cè)試程序與環(huán)境拓?fù)涞慕壎P(guān)系,測(cè)試程序只有綁定到交聯(lián)環(huán)境圖中,才能使所編寫的測(cè)試程序與交聯(lián)環(huán)境拓?fù)鋱D相連起來(lái)。一個(gè)測(cè)試程序只能綁定到一個(gè)環(huán)境拓?fù)鋱D中,測(cè)試程序綁定環(huán)境拓?fù)鋱D后,就說明該測(cè)試程序是針對(duì)怎樣的測(cè)試環(huán)境進(jìn)行的,實(shí)現(xiàn)了測(cè)試程序與測(cè)試環(huán)境分離,測(cè)試程序不再需要與測(cè)試環(huán)境緊密耦合在一起,而是通過這種綁定關(guān)系聯(lián)系在一起。也就確保了測(cè)試程序能夠運(yùn)行在測(cè)試環(huán)境拓?fù)渌鶎?duì)應(yīng)的硬件設(shè)備中。

交聯(lián)環(huán)境拓?fù)渲邪藴y(cè)試設(shè)備與被測(cè)件之間的連接關(guān)系,測(cè)試設(shè)備也就是這里看到的虛擬設(shè)備,在繪制圖形時(shí)會(huì)指明該測(cè)試設(shè)備有哪些接口通道、是哪種通道的類型。虛擬的測(cè)試設(shè)備需要將接口通道綁定到具體的硬件板卡上,硬件板卡通過與被測(cè)件相連,則建立了ETest與被測(cè)系統(tǒng)之間的通信與信號(hào)連接通道。

在利用ETest設(shè)計(jì)測(cè)試監(jiān)控頁(yè)面時(shí),在監(jiān)控頁(yè)面中包含有面板、面板上有組件,監(jiān)控界面需要綁定到測(cè)試用例數(shù)據(jù)上,綁定上之后監(jiān)控界面就能具有測(cè)試項(xiàng)目的執(zhí)行能力,因?yàn)闇y(cè)試用例數(shù)據(jù)又綁定在測(cè)試程序上。

在ETest中,設(shè)計(jì)了網(wǎng)絡(luò)變量,用于在各個(gè)執(zhí)行器之間或執(zhí)行器與監(jiān)控界面共享網(wǎng)絡(luò)數(shù)據(jù),網(wǎng)絡(luò)變量的設(shè)計(jì)使得測(cè)試程序的開發(fā)不用考慮各個(gè)執(zhí)行器之間的通信,通過網(wǎng)絡(luò)變量解決了多執(zhí)行器分布式環(huán)境下變量定義的問題,在測(cè)試程序中可以如同測(cè)試程序中定義的變量一樣使用網(wǎng)絡(luò)變量,這極大地方便了多執(zhí)行器之間的協(xié)同。

監(jiān)控頁(yè)面中的每個(gè)組件都會(huì)綁定一個(gè)網(wǎng)絡(luò)變量,也會(huì)綁定一個(gè)動(dòng)作響應(yīng)函數(shù),動(dòng)作響應(yīng)函數(shù)可傳遞網(wǎng)絡(luò)變量作為響應(yīng)參數(shù),這樣前端的監(jiān)控頁(yè)面就可以從組件中讀取出網(wǎng)絡(luò)變量值,并把網(wǎng)絡(luò)變量值作為動(dòng)作響應(yīng)函數(shù)的參數(shù)值傳遞到響應(yīng)函數(shù)中,在響應(yīng)函數(shù)中就可以使用傳入的網(wǎng)絡(luò)變量。

2ETest的開發(fā)模式

2.1ETest主界面

ETest采用VSCode類似的布局,最左側(cè)是功能工具欄區(qū),從上到下依次包含測(cè)試用例腳本、監(jiān)控面板、仿真模型、通信協(xié)議、連接拓?fù)?、設(shè)備接口、項(xiàng)目設(shè)置、資源庫(kù)、項(xiàng)目庫(kù)等;然后是功能目錄區(qū),切換到每個(gè)功能后,該區(qū)列出該功能的目錄結(jié)構(gòu)組成;點(diǎn)擊功能目錄區(qū)相應(yīng)的葉子節(jié)點(diǎn)后,中間顯示出工作區(qū),根據(jù)葉子節(jié)點(diǎn)的不同類型,工作區(qū)的可操作的內(nèi)容會(huì)有所不同;最右側(cè)則是屬性設(shè)置區(qū),工作區(qū)中選中某個(gè)對(duì)象后,右側(cè)直接顯示出相應(yīng)的屬性,可以進(jìn)行屬性值的設(shè)置,ETest的主界面窗口如圖4所示。

3e02849e-77c1-11ee-939d-92fbcf53809c.png

圖4 ETest的主界面窗口

在使用ETLua進(jìn)行測(cè)試腳本開發(fā)時(shí),提供了ETLua代碼編輯器,該編輯器全面支持語(yǔ)法高亮、自動(dòng)完成、代碼塊折疊、實(shí)時(shí)語(yǔ)法檢查等,并在最右側(cè)提供了導(dǎo)航圖。

2.2ETest的使用模式

ETest提供了快速測(cè)試、自動(dòng)化測(cè)試和測(cè)試系統(tǒng)開發(fā)3種使用模式。

快速測(cè)試使用模式通過配置測(cè)試環(huán)境和通信協(xié)議后,就可以自動(dòng)生成可視化的測(cè)試頁(yè)面,在測(cè)試頁(yè)面中直接進(jìn)行人工操作,執(zhí)行快速的調(diào)試與測(cè)試??焖贉y(cè)試使用模式無(wú)需編程,通過簡(jiǎn)單的測(cè)試環(huán)境、信號(hào)與協(xié)議的配置,就可以開展測(cè)試工作。

自動(dòng)化測(cè)試使用模式通過可視化的配置測(cè)試環(huán)境和通信協(xié)議后,設(shè)計(jì)測(cè)試用例和開發(fā)測(cè)試腳本程序,測(cè)試用例使用YAML標(biāo)記語(yǔ)言定義測(cè)試數(shù)據(jù),基本結(jié)構(gòu)為key: value鍵值對(duì)象。key代表了變量名稱,value可以是包括鍵值對(duì)象、數(shù)組、純量的數(shù)據(jù),也可以使用縮進(jìn)表示層級(jí)關(guān)系,組成更復(fù)雜的測(cè)試用例數(shù)據(jù)。測(cè)試程序開發(fā)時(shí),ETest則提供了ETLua、Python、etl三種測(cè)試程序開發(fā)模式,ETLua、Python分別使用Lua和Python語(yǔ)法開發(fā)測(cè)試程序,etl則使用圖形化的方式開發(fā)測(cè)試程序,并且可將etl測(cè)試程序同步轉(zhuǎn)化為ETLua語(yǔ)言形式的測(cè)試程序。

完成測(cè)試程序開發(fā)后,就可以開展測(cè)試用例的執(zhí)行,執(zhí)行時(shí)可以選擇單個(gè)用例執(zhí)行,也可以選擇多個(gè)用例直接批量執(zhí)行,執(zhí)行結(jié)果在右側(cè)控制臺(tái)顯示測(cè)試程序中的print信息以及elog信息。

測(cè)試系統(tǒng)開發(fā)使用模式是ETest最強(qiáng)大的使用模式,在這種使用模式下,可以開發(fā)出面向不同行業(yè)應(yīng)用的測(cè)試系統(tǒng)。利用ETest開發(fā)測(cè)試系統(tǒng)時(shí),下位機(jī)部分只需要開發(fā)信號(hào)采集處理板驅(qū)動(dòng)程序、總線通信驅(qū)動(dòng)程序,上位機(jī)部分開發(fā)可直接利用ETest集成開發(fā)環(huán)境開發(fā)操作終端的測(cè)試應(yīng)用軟件。ETest開發(fā)測(cè)試應(yīng)用軟件如圖5所示。3e0de668-77c1-11ee-939d-92fbcf53809c.png圖5? ETest開發(fā)測(cè)試應(yīng)用軟件

在下位機(jī)軟件開發(fā)過程中,ETest定義了驅(qū)動(dòng)開發(fā)的標(biāo)準(zhǔn)ET-VISA,提供了驅(qū)動(dòng)開發(fā)的規(guī)范,這使得所開發(fā)出來(lái)的板卡驅(qū)動(dòng)具有一定的標(biāo)準(zhǔn)互換性。

ETestD API服務(wù)、ETestX執(zhí)行器直接二進(jìn)制復(fù)用,它們與板卡驅(qū)動(dòng)以及嵌入式操作系統(tǒng)一起構(gòu)成了測(cè)試單元可執(zhí)行包,這個(gè)測(cè)試單元可執(zhí)行包是完全通用的,不會(huì)因被測(cè)試對(duì)象的不同而不同。

在上位機(jī)軟件開發(fā)過程中,利用測(cè)試環(huán)境編輯器開發(fā)測(cè)試環(huán)境描述,利用監(jiān)控面板設(shè)計(jì)器開發(fā)檢測(cè)應(yīng)用軟件的人機(jī)交互界面,利用測(cè)試程序編輯器開發(fā)測(cè)試程序邏輯。開發(fā)完成后,通過將這些內(nèi)容與ETest提供的ETL語(yǔ)言引擎、UI渲染器、測(cè)試數(shù)據(jù)記錄、測(cè)試執(zhí)行調(diào)度、ETestD遠(yuǎn)程代理等二進(jìn)制包打包發(fā)布為測(cè)試應(yīng)用軟件。

雖然針對(duì)不同的測(cè)試對(duì)象所打包發(fā)布的測(cè)試應(yīng)用軟件整體上會(huì)有所不同,看似不具有通用性,但ETL語(yǔ)言引擎、UI渲染器、測(cè)試執(zhí)行調(diào)度、測(cè)試數(shù)據(jù)記錄、測(cè)試報(bào)告生成、ETestD遠(yuǎn)程代理等模塊都不需要修改,改動(dòng)部分只需要包括ETL描述數(shù)據(jù)包即可。針對(duì)每種不同被測(cè)對(duì)象,只需要做簡(jiǎn)單的配置和腳本化的測(cè)試程序邏輯開發(fā),就可以快速形成測(cè)試應(yīng)用軟件,大幅提高了開發(fā)效率,而且節(jié)省了研發(fā)經(jīng)費(fèi)。

在最終形成的操作終端可執(zhí)行包和測(cè)試單元可執(zhí)行包,按照包模塊劃分,共有11個(gè)模塊。其中,針對(duì)不同的被測(cè)對(duì)象,軟件模塊需要編寫的部分只有信號(hào)采集處理板驅(qū)動(dòng)、總線通信板驅(qū)動(dòng)、ETL語(yǔ)言描述包3部分,通用率達(dá)到了72%。由于信號(hào)采集板驅(qū)動(dòng)、總線通信板驅(qū)動(dòng)可以作為系列化驅(qū)動(dòng),也可以作為通用部分看待,那么在所有的軟件模塊中針對(duì)不同的被檢測(cè)對(duì)象,只需要更改ETL語(yǔ)言描述包部分就可以實(shí)現(xiàn),從這個(gè)意義上來(lái)講,軟件通用性達(dá)到了90.9%。通過架構(gòu)設(shè)計(jì)和測(cè)試領(lǐng)域的組件化開發(fā),可以將測(cè)試設(shè)備研發(fā)的工作量降低為10%。

2.3ETLua開發(fā)與調(diào)試

ETest提供的編程接口包括了全局API、數(shù)據(jù)緩存庫(kù)ebuff、定時(shí)器庫(kù)etimer、日志輸出庫(kù)elog、數(shù)學(xué)計(jì)算庫(kù)math、數(shù)字信號(hào)處理庫(kù)e_dsp、界面開發(fā)庫(kù)eUI、并發(fā)操作庫(kù)e_sync、matlab集成庫(kù)e_matlab、Simulink集成庫(kù)e_simulink等。這些編程接口為ETest開發(fā)測(cè)試系統(tǒng)提供了便利。

使用ETlua開發(fā)測(cè)試程序時(shí),對(duì)于協(xié)議收發(fā)的兩個(gè)基本API是write_msg和read_msg,分別用于向通道寫入報(bào)文數(shù)據(jù)和從通道讀出并解析出消息對(duì)象,其函數(shù)原型如下:

result=write_msg(channel,prot,msg,is_strict,option)

result=read_msg(channel,prot,tout_ms,option)

其中,channel為通道對(duì)象,prot為協(xié)議描述對(duì)象,msg為測(cè)試程序中的消息對(duì)象,msg為ETLua中的dict類型。

只要在ETest集成開發(fā)環(huán)境中描述出測(cè)試環(huán)境拓?fù)?、協(xié)議模板后,測(cè)試程序就只需要操作msg以實(shí)現(xiàn)測(cè)試邏輯即可,通道的buffer操作以及由msg到protocal的打包與解包均由ETest框架來(lái)完成。

ETLua測(cè)試程序可以操作測(cè)試用例,測(cè)試用例中具有專用于開展測(cè)試的數(shù)據(jù)結(jié)構(gòu)eTestData,可用如下類似的形式表示:

eTestData: {min: 0,max: 100,value: 30}

其含義是測(cè)試數(shù)據(jù)最小值為0、最大值為100、默認(rèn)值為30。在測(cè)試程序中可以直接使用eTestData.GetValue(Str)生成測(cè)試程序,Str可以為“min”、“min+”、 “min-”、“max”、 “max+”、 “max-”以及“Random”,實(shí)現(xiàn)出測(cè)試中的等價(jià)類、邊界值以及隨機(jī)值數(shù)據(jù)的產(chǎn)生。

ETLua還提供了on_buff_recv用于訂閱通道發(fā)生數(shù)據(jù)輸入時(shí)的事件,其函數(shù)原型為:

on_buff_recv(channel,callback)

在callback回調(diào)函數(shù)中可以直接對(duì)數(shù)據(jù)緩存區(qū)ebuff進(jìn)行操作,進(jìn)行解包處理。

為進(jìn)一步簡(jiǎn)化測(cè)試程序的編寫,在ETest的復(fù)用庫(kù)中提供了OnRcvFromChannel模塊,用于進(jìn)行協(xié)議OnRcvFromChannel以及協(xié)議處理函數(shù)的注冊(cè),原型如下:

OnRcvFromChannel.RegisterProto(Proto,fun)

其中,Proto為在ETest中定義的協(xié)議,fun是當(dāng)解析到具有該協(xié)議包的數(shù)據(jù)時(shí),協(xié)議包的處理函數(shù)可以在這個(gè)處理函數(shù)中對(duì)接收到已經(jīng)解包完成的協(xié)議包進(jìn)行各種處理,如計(jì)算、界面顯示、通信響應(yīng)等。

有了write_msg、read_msg、on_buff_recv、eTestData以及OnRcvFromChannel等機(jī)制,使得測(cè)試程序的開發(fā)既簡(jiǎn)單又有效。但即使如此,開發(fā)完成后的測(cè)試程序也難免存在錯(cuò)誤,對(duì)測(cè)試程序調(diào)試就顯得尤為重要。

測(cè)試程序需要與被測(cè)件的各個(gè)通道相連才能進(jìn)行真正的調(diào)試工作,而在現(xiàn)實(shí)情況下,被測(cè)件并不一定能在開發(fā)測(cè)試程序時(shí)拿到,或者即使能拿到,由于被測(cè)件需要有串口、總線以及各類I/O資源以及被測(cè)件本身存在錯(cuò)誤而導(dǎo)致調(diào)試?yán)щy。此時(shí)被測(cè)件的模擬以及虛擬通道就顯得尤為重要。

在ETest中提供了包括串口、CAN、DI/DO、AI/AO等mocker通道,用于模擬真實(shí)的通道資源,同時(shí)可以將測(cè)試程序設(shè)置為模擬被測(cè)件。通過被測(cè)件的模擬就可以驅(qū)動(dòng)測(cè)試程序的調(diào)試工作,模擬被測(cè)件以一個(gè)單獨(dú)控制臺(tái)的形式運(yùn)行在模擬執(zhí)行器上,模擬被測(cè)件在接到測(cè)試程序發(fā)送的數(shù)據(jù)后,向測(cè)試程序反饋數(shù)據(jù)包,以檢驗(yàn)測(cè)試程序在打包、解包處理中的正確性。

3ETest應(yīng)用案例

測(cè)試系統(tǒng)集成開發(fā)環(huán)境ETest軟件的執(zhí)行器不僅具有Windows、Linux、銀河麒麟等桌面非實(shí)時(shí)操作系統(tǒng)版本,也具有VxWorks、RTLinux、RTX等實(shí)時(shí)操作系統(tǒng)版本,另外執(zhí)行器可以分布在由網(wǎng)絡(luò)組成的不同節(jié)點(diǎn)上,這使得ETest可以搭建出從單機(jī)到多機(jī)應(yīng)用的不同規(guī)模的仿真測(cè)試環(huán)境。基于ETest軟件,我們已開發(fā)出針對(duì)列車控制系統(tǒng)、核電DCS控制系統(tǒng)、無(wú)人機(jī)飛行控制系統(tǒng)、底盤電子系統(tǒng)等測(cè)試工裝與檢測(cè)設(shè)備,經(jīng)過各行業(yè)測(cè)試系統(tǒng)開發(fā)過程的檢驗(yàn),ETest已成為測(cè)試系統(tǒng)開發(fā)的利器。

某型號(hào)無(wú)人機(jī)飛行控制系統(tǒng)由氣壓空速傳感器、姿態(tài)傳感器、GPS定位導(dǎo)航、飛控計(jì)算機(jī)、電源控制器、旋翼舵機(jī)等部分組成,為完成飛控系統(tǒng)的聯(lián)調(diào)聯(lián)試、性能鑒定、故障檢測(cè)等任務(wù),需要開發(fā)一款既能在無(wú)人機(jī)飛控系統(tǒng)研發(fā)階段實(shí)驗(yàn)室使用的仿真測(cè)試系統(tǒng),又能在使用維護(hù)階段使用的檢測(cè)維修設(shè)備。測(cè)試系統(tǒng)需要具有5路RS232、2路RS422、2路CAN、4路開關(guān)量、4路PWM輸出、2路頻率輸出接口。整套測(cè)試系統(tǒng)軟件部分采用ETest作為軟件開發(fā)環(huán)境,通過測(cè)試環(huán)境的連接拓?fù)涿枋龀鲲w控計(jì)算機(jī)的連接拓?fù)?,如圖6所示。

3e2b0194-77c1-11ee-939d-92fbcf53809c.png

圖6 無(wú)人機(jī)飛控系統(tǒng)仿真測(cè)試連接拓?fù)?/p>

利用ETest的ETL協(xié)議描述語(yǔ)言描述涉及到的總線通信協(xié)議以及信號(hào),如圖7所示,對(duì)于協(xié)議中的字段,設(shè)置自動(dòng)匹配、自動(dòng)驗(yàn)證、自動(dòng)值等屬性,自動(dòng)值屬性在報(bào)文打包時(shí)若沒有消息賦值,則采用自動(dòng)值作為該字段的值,自動(dòng)匹配在報(bào)文解包時(shí)用于解析出符合要求的協(xié)議報(bào)文,自動(dòng)驗(yàn)證則對(duì)接收到的報(bào)文自動(dòng)驗(yàn)證該字段值是否正確,這些屬性為測(cè)試程序開發(fā)提供了便利。

3e49d9c0-77c1-11ee-939d-92fbcf53809c.png

圖7 無(wú)人機(jī)飛控系統(tǒng)協(xié)議開發(fā)

在連接拓?fù)?、信?hào)與協(xié)議描述配置完成后,使用ETest的測(cè)試用例數(shù)據(jù)描述、測(cè)試程序開發(fā)、測(cè)試監(jiān)控窗體開發(fā)等模塊,設(shè)計(jì)開發(fā)出測(cè)試用例數(shù)據(jù)、測(cè)試程序和測(cè)試監(jiān)控窗體,測(cè)試監(jiān)控窗體的運(yùn)行界面如圖8所示。

3e5eeab8-77c1-11ee-939d-92fbcf53809c.png

圖8 無(wú)人機(jī)飛控系統(tǒng)測(cè)試監(jiān)控窗體

ETest提供了測(cè)試工裝程序的打包輸出功能,打包時(shí)可以通過配置界面配置系統(tǒng)名稱、測(cè)試模式、被測(cè)設(shè)備、測(cè)試套、測(cè)試項(xiàng),在測(cè)試項(xiàng)配置頁(yè)面選擇測(cè)試套、適用的測(cè)試模式、適用的被測(cè)設(shè)備后,配置該被測(cè)設(shè)備的所有測(cè)試項(xiàng)。在ETest的UI設(shè)計(jì)管理頁(yè)面,具有打包輸出的工具欄按鈕,執(zhí)行打包輸出后,可在配置的目錄下生成由ETestPlayer.exe為主體的測(cè)試工裝程序,執(zhí)行ETestPlayer.exe可直接運(yùn)行,運(yùn)行后可在主界面框架的上部選擇被測(cè)設(shè)備,在下部選擇測(cè)試項(xiàng),可調(diào)出被測(cè)設(shè)備測(cè)試項(xiàng)對(duì)應(yīng)的測(cè)試頁(yè)面,如圖9所示,在該測(cè)試頁(yè)面中可以開展收、發(fā)數(shù)據(jù)的測(cè)試工作。

3e6cfba8-77c1-11ee-939d-92fbcf53809c.png

圖9 被測(cè)設(shè)備測(cè)試項(xiàng)測(cè)試頁(yè)面

4 結(jié)論與展望

ETest是首款符合ATML標(biāo)準(zhǔn)的國(guó)產(chǎn)自主可控的仿真測(cè)試系統(tǒng)集成開發(fā)環(huán)境,具有跨平臺(tái)的運(yùn)行能力,可利用ETest開發(fā)出運(yùn)行于國(guó)產(chǎn)計(jì)算平臺(tái)的測(cè)試系統(tǒng),廣泛應(yīng)用于第三方測(cè)試機(jī)構(gòu)的測(cè)試環(huán)境搭建、裝備研制部門的測(cè)試工裝開發(fā)以及檢測(cè)設(shè)備研發(fā)單位的產(chǎn)品研制。作為工業(yè)基礎(chǔ)軟件,ETest填補(bǔ)了我國(guó)在測(cè)試系統(tǒng)集成開發(fā)環(huán)境方面的空白,提出的ETL語(yǔ)言具有完善的工具鏈,測(cè)試系統(tǒng)的設(shè)計(jì)與開發(fā)模式便捷、靈活,突破了領(lǐng)域語(yǔ)言定義與應(yīng)用、異步事件循環(huán)調(diào)度、動(dòng)態(tài)腳本實(shí)時(shí)處理、跨平臺(tái)的IDE架構(gòu)設(shè)計(jì)與開發(fā)等多項(xiàng)關(guān)鍵技術(shù),顯著提高了測(cè)試系統(tǒng)的開發(fā)效率,該IDE已在多個(gè)型號(hào)研制中發(fā)揮了重要作用,可以推廣應(yīng)用于航空、航天、船舶等領(lǐng)域的裝備研制過程的軟硬件開發(fā)調(diào)試和測(cè)試試驗(yàn)。期待早日建立起國(guó)產(chǎn)國(guó)產(chǎn)自主可控自動(dòng)測(cè)試系統(tǒng)的裝備開發(fā)生態(tài),迎接工業(yè)軟件中國(guó)制造的光明未來(lái)。

審核編輯:湯梓紅

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

    關(guān)注

    5152

    文章

    19675

    瀏覽量

    317691
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153775
  • 測(cè)試系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    866

    瀏覽量

    62938
  • 集成開發(fā)環(huán)境

    關(guān)注

    0

    文章

    69

    瀏覽量

    17913

原文標(biāo)題:測(cè)試系統(tǒng)集成開發(fā)環(huán)境ETest及其工程應(yīng)用

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    什么是可視化系統(tǒng)集成器?

    System View公司是一家位于美國(guó)加州的早期創(chuàng)業(yè)型公司,公司的主要產(chǎn)品和業(yè)務(wù)是設(shè)計(jì)開發(fā)當(dāng)今嵌入式系統(tǒng)集成開發(fā)所使用的工具,打破傳統(tǒng),推出更加高效便捷的開發(fā)工具。近期該公司推出一款
    發(fā)表于 10-09 07:56

    什么是系統(tǒng)集成?

    地和協(xié)調(diào)地工作,以發(fā)揮整體效益,達(dá)到整體優(yōu)化的目的。 系統(tǒng)集成的已經(jīng)應(yīng)用到了我們生活的方方面面,我們看得見的看不見的都深入了系統(tǒng)集成的概念,如:電梯的自動(dòng)控制、點(diǎn)餐的點(diǎn)餐工具、公交的刷卡功能等等,可以說,我們現(xiàn)在的生活已經(jīng)離不開
    發(fā)表于 02-28 13:34

    ETest_RT的相關(guān)資料下載

    ETest_RT是一款完全自主知識(shí)產(chǎn)權(quán)的半實(shí)物仿真測(cè)試平臺(tái)(HIL)集成開發(fā)環(huán)境。該開發(fā)
    發(fā)表于 12-14 07:49

    嵌入式半實(shí)物仿真測(cè)試ETest-USB架構(gòu)的相關(guān)資料下載

    的自動(dòng)化測(cè)試平臺(tái),適用于嵌入式系統(tǒng)在設(shè)計(jì)、仿真、開發(fā)、調(diào)試、測(cè)試、集成驗(yàn)證和維護(hù)等各階段配置項(xiàng)級(jí)別和系統(tǒng)
    發(fā)表于 12-21 07:41

    通用嵌入式系統(tǒng)測(cè)試平臺(tái)ETest-PCI架構(gòu)是什么樣的

    在設(shè)計(jì)、仿真、開發(fā)、調(diào)試、測(cè)試、集成驗(yàn)證和維護(hù)等各階段配置項(xiàng)級(jí)別和系統(tǒng)級(jí)別的動(dòng)態(tài)測(cè)試與驗(yàn)證。ETest
    發(fā)表于 12-21 06:37

    ETest嵌入式系統(tǒng)通用測(cè)試平臺(tái)的相關(guān)資料分享

    的自動(dòng)化測(cè)試平臺(tái),適用于嵌入式系統(tǒng)在設(shè)計(jì)、仿真、開發(fā)、調(diào)試、測(cè)試集成驗(yàn)證和維護(hù)等各階段配置項(xiàng)級(jí)別和系統(tǒng)
    發(fā)表于 12-21 06:13

    通用嵌入式系統(tǒng)測(cè)試平臺(tái)架構(gòu)類型是什么

    的自動(dòng)化測(cè)試平臺(tái),適用于嵌入式系統(tǒng)在設(shè)計(jì)、仿真、開發(fā)、調(diào)試、測(cè)試、集成驗(yàn)證和維護(hù)等各階段配置項(xiàng)級(jí)別和系統(tǒng)
    發(fā)表于 12-21 06:46

    國(guó)產(chǎn)嵌入式系統(tǒng)半實(shí)物仿真自動(dòng)化測(cè)試系統(tǒng)軟件ETest簡(jiǎn)介

    二進(jìn)制執(zhí)行程序,測(cè)試程序執(zhí)行引擎,以事件循環(huán)模式工作;DevTools 多個(gè)定制開發(fā)時(shí)使用的實(shí)用工具。ETest平臺(tái)體系架構(gòu)圖:
    發(fā)表于 05-20 14:25

    國(guó)產(chǎn)自主可控半實(shí)物仿真測(cè)試開發(fā)平臺(tái)ETest簡(jiǎn)介

    二進(jìn)制執(zhí)行程序,測(cè)試程序執(zhí)行引擎,以事件循環(huán)模式工作;DevTools 多個(gè)定制開發(fā)時(shí)使用的實(shí)用工具。ETest平臺(tái)體系架構(gòu)圖:
    發(fā)表于 03-21 14:05

    系統(tǒng)集成工作規(guī)范范本

    系統(tǒng)集成工作規(guī)范范本    總  則第1條 為規(guī)范本公司系統(tǒng)集成的管理,形成一套行之有效的
    發(fā)表于 09-08 10:10 ?20次下載

    系統(tǒng)工作原理是什么?

    系統(tǒng)工作原理是什么? 控系統(tǒng)工作原理   中央控制系統(tǒng)采用多機(jī)通訊技術(shù)和系統(tǒng)集成
    發(fā)表于 02-11 15:26 ?1578次閱讀

    EDA集成開發(fā)環(huán)境比較分析

    典型的板級(jí)電子系統(tǒng)EDA集成開發(fā)環(huán)境。此種類型的集成開發(fā)環(huán)境
    發(fā)表于 10-02 12:56 ?3301次閱讀

    系統(tǒng)集成集成測(cè)試

    SYS.4.BP3:系統(tǒng)集成測(cè)試開發(fā)規(guī)范。根據(jù)系統(tǒng)集成測(cè)試策略,制定系統(tǒng)集成
    的頭像 發(fā)表于 03-04 17:14 ?3967次閱讀

    系統(tǒng)集成測(cè)試基礎(chǔ)知識(shí)

    系統(tǒng)集成測(cè)試(SIT),在軟件系統(tǒng)和軟件工程的背景下,是一個(gè)練習(xí)軟件系統(tǒng)與他人共存的測(cè)試過程。系統(tǒng)集成
    的頭像 發(fā)表于 03-11 10:39 ?7817次閱讀

    ARM嵌入式系統(tǒng)集成開發(fā)環(huán)境的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《ARM嵌入式系統(tǒng)集成開發(fā)環(huán)境的設(shè)計(jì).doc》資料免費(fèi)下載
    發(fā)表于 10-26 14:18 ?0次下載
    ARM嵌入式<b class='flag-5'>系統(tǒng)集成</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>環(huán)境</b>的設(shè)計(jì)