最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

專家筆記:再談ETestDEV標(biāo)準(zhǔn)化的測(cè)試工裝頁面開發(fā)方法

2023-05-31 20:28 作者:專業(yè)專一  | 我要投稿

ETestDEV作為一款自動(dòng)化測(cè)試平臺(tái)開發(fā)工具,具有測(cè)試環(huán)境拓?fù)涿枋?、測(cè)試監(jiān)控、測(cè)試腳本開發(fā)、測(cè)試數(shù)據(jù)設(shè)計(jì)、測(cè)試執(zhí)行數(shù)據(jù)采集與展示、測(cè)試結(jié)果分析等功能,基于該開發(fā)工具可以完成半實(shí)物仿真測(cè)試軟件的開發(fā)與部署。

在前一篇利用ETestDEV開發(fā)標(biāo)準(zhǔn)化的測(cè)試工裝頁面的文章中,我們介紹了如何利用帶有被測(cè)件和測(cè)試設(shè)備的連接拓?fù)洌ㄟ^更換綁定連接拓?fù)?,?shí)現(xiàn)一套測(cè)試程序、一套監(jiān)控頁面,分別的對(duì)“設(shè)備A”和“設(shè)備B”進(jìn)行測(cè)試的方法。這一篇作為對(duì)前一篇的補(bǔ)充,我們采用另外一種方式,達(dá)到與前一篇相同的效果,實(shí)現(xiàn)一套測(cè)試程序、頁面、用例分別對(duì)“設(shè)備A”和“設(shè)備B”的測(cè)試。

2重溫上一篇的做法

2.1 ?需求重溫

讓我們首先重溫一下測(cè)試需求,對(duì)于如下圖所示的連接關(guān)系拓?fù)?,“設(shè)備A”與“設(shè)備B”之間通過RS232接口進(jìn)行通信,“設(shè)備A”發(fā)送的報(bào)文,自然就是“設(shè)備B”需要接收的,“設(shè)備B”發(fā)送的報(bào)文自然也就是“設(shè)備A”需要接收的。



“設(shè)備A”與“設(shè)備B”均是“系統(tǒng)S”的組成部分,為了對(duì)系統(tǒng)S中的各個(gè)設(shè)備進(jìn)行有效的測(cè)試,需要分別對(duì)A進(jìn)行單獨(dú)測(cè)試,也要對(duì)B進(jìn)行單獨(dú)測(cè)試,然后將“設(shè)備A”與“設(shè)備B”連成“系統(tǒng)S”,進(jìn)行“系統(tǒng)S”的功能、性能測(cè)試等。

之所以要進(jìn)行“設(shè)備A”與“設(shè)備B”的分別獨(dú)立測(cè)試,可能的原因包括:

(1)“設(shè)備A”、“設(shè)備B”由不同的廠家研制,不可能等到集成時(shí)再進(jìn)行測(cè)試與試驗(yàn);

(2)“設(shè)備A”或“設(shè)備B”邏輯處理均十分復(fù)雜,測(cè)試與試驗(yàn)需要的觸發(fā)條件或測(cè)試環(huán)境均需要有良好的可控性,可以方便地進(jìn)行各種容錯(cuò)性測(cè)試;

(3)“設(shè)備A”或“設(shè)備B”不僅是“系統(tǒng)S”的組成部分,可能還是“系統(tǒng)T”的組成部分,也就需要分別對(duì)“設(shè)備A”和“設(shè)備B”進(jìn)行獨(dú)立驗(yàn)證。

在對(duì)“設(shè)備A”進(jìn)行測(cè)試時(shí),自然就需要模擬“設(shè)備B”向“設(shè)備A”發(fā)送報(bào)文,然后模擬的“設(shè)備B”也需要接收“設(shè)備A”發(fā)出的報(bào)文,對(duì)其進(jìn)行解析和判斷。

同理,在對(duì)“設(shè)備B”進(jìn)行測(cè)試時(shí),則需要模擬“設(shè)備A”向“設(shè)備B”發(fā)送報(bào)文,然后從模擬的“設(shè)備A”也需要接收“設(shè)備B”發(fā)出的報(bào)文,對(duì)其進(jìn)行解析和判斷。

2.2 ?測(cè)試環(huán)境的描述

ETestDEV作為一款自動(dòng)化測(cè)試平臺(tái)開發(fā)工具,所承擔(dān)的角色就是作為測(cè)試設(shè)備,模擬“設(shè)備A”或“設(shè)備B”,并在模擬設(shè)備的基礎(chǔ)上,加入故障注入能力和測(cè)試處理邏輯。

ETestDEV中測(cè)試環(huán)境的描述包括了設(shè)備、連接拓?fù)浜屯ㄐ艆f(xié)議。設(shè)備目錄下可以包含組成系統(tǒng)的所有設(shè)備;連接拓?fù)淇梢酝ㄟ^設(shè)備組成連接拓?fù)?,可以有多個(gè)連接拓?fù)?,用于?shí)現(xiàn)對(duì)系統(tǒng)中的不同設(shè)備進(jìn)行分別測(cè)試。

在上一篇《如何利用ETestDEV制作標(biāo)準(zhǔn)化的測(cè)試工裝頁面》一文中,我們采用分別繪制連接拓?fù)浞椒ǎ谱鞒鲠槍?duì)“設(shè)備A”和“設(shè)備B”的連接拓?fù)?。如下圖所示,為“設(shè)備B”測(cè)試的連接拓?fù)?,在該連接拓?fù)渲小霸O(shè)備B”作為被測(cè)設(shè)備,“設(shè)備A”就作為了仿真測(cè)試設(shè)備。



同理,對(duì)“設(shè)備A”進(jìn)行測(cè)試的連接拓?fù)渚托枰硗饨?,形成如下的連接拓?fù)?,在該連接拓?fù)渲小霸O(shè)備A”作為被測(cè)設(shè)備,“設(shè)備B”則變?yōu)榱朔抡鏈y(cè)試設(shè)備。



2.3 ?綁定關(guān)系的約束

在ETestDEV 3.0版本中,測(cè)試用例、測(cè)試程序、頁面、連接拓?fù)渲g的綁定關(guān)系,如下圖所示。



一個(gè)UI頁面可以綁定多個(gè)用例,一個(gè)用例只能綁定一個(gè)程序,一個(gè)程序只能綁定一個(gè)連接拓?fù)?。關(guān)于UI頁面的綁定對(duì)應(yīng)關(guān)系,可以得到以下結(jié)論:

(1)一個(gè)UI頁面可以綁定多個(gè)用例

(2)一個(gè)UI頁面可以綁定多個(gè)程序

(3)一個(gè)UI頁面可以綁定多個(gè)連接拓?fù)?/p>

關(guān)于用例的綁定對(duì)應(yīng)關(guān)系,可以得到如下結(jié)論:

(1)一個(gè)用例只能綁定一個(gè)程序

(2)一個(gè)用例只能綁定一個(gè)連接拓?fù)?/p>

(3)一個(gè)用例可以綁定多個(gè)UI頁面

關(guān)于程序的綁定關(guān)系,可以得到如下結(jié)論:

(1)一個(gè)程序只能綁定一個(gè)連接拓?fù)?/p>

(2)一個(gè)程序可以綁定多個(gè)用例

(3)一個(gè)程序可以綁定多個(gè)UI頁面

在分別對(duì)“設(shè)備B”和“設(shè)備A”進(jìn)行測(cè)試時(shí),由于綁定關(guān)系的約束,要想使用相同的UI頁面完成測(cè)試,必然要使用如下如下圖所示的連接拓?fù)浣壎P(guān)系。



但由于目前在ETestDEV 3.0版本中測(cè)試程序?qū)B接拓?fù)涞慕壎ㄊ庆o態(tài)而非動(dòng)態(tài)的。同時(shí),在連接拓?fù)渲校粶y(cè)件UUT的通道對(duì)于測(cè)試程序是不可見的。也就是說對(duì) “設(shè)備B”測(cè)試的連接拓?fù)涠?,“設(shè)備B”并不包含在全局變量devices中,這就為測(cè)試程序的通用化帶來了障礙。

在上一文中,為了實(shí)現(xiàn)匹配的判定,在選擇設(shè)備的響應(yīng)函數(shù)中,我們遍歷環(huán)境拓?fù)渲械膁evices集合,devices集合中包含了當(dāng)前連接拓?fù)渲械娜繙y(cè)試設(shè)備描述對(duì)象,但不包含被測(cè)設(shè)備對(duì)象,因此如果將被測(cè)設(shè)備設(shè)置為當(dāng)前連接拓?fù)渲械臏y(cè)試設(shè)備時(shí),自然是無法在devices集合中找到的。因此,ETLua的響應(yīng)函數(shù)腳本,我們只能使用如下程序段:



注釋掉的腳本語句中,不能直接使用被測(cè)設(shè)備devices.Guidance.TaskManagerRS232,會(huì)導(dǎo)致執(zhí)行器出錯(cuò)。

通過遍歷devices,用通道的名稱與預(yù)制的設(shè)備通道名稱進(jìn)行匹配,匹配后將通道賦值給一個(gè)全局的通道對(duì)象TestDeviceRS232,在程序的所有處理函數(shù)中均用這個(gè)通道對(duì)象進(jìn)行處理,用這種方法可以實(shí)現(xiàn)測(cè)試程序與通道對(duì)象的松耦合,提高了測(cè)試程序的復(fù)用和移植能力。

3又一種做法

在上一篇做法中,我們是采用匹配判定的方法,實(shí)現(xiàn)一套UI頁面、用例和程序分別對(duì)“設(shè)備A”和“設(shè)備B”進(jìn)行測(cè)試。這種做法一個(gè)明顯的弊端是,每次都需要重新綁定一下測(cè)試程序與對(duì)應(yīng)的連接拓?fù)?,無法支持工裝開發(fā)后脫離ETestDEV的打包運(yùn)行。本章我們利用ETestDEV中的虛擬端口資源的功能,另辟蹊徑,將繪制的連接拓?fù)渲袑⑷吭O(shè)備都定義為測(cè)試設(shè)備,從而實(shí)現(xiàn)更為簡潔的測(cè)試頁面與測(cè)試程序。

3.1 ?不含被測(cè)設(shè)備的連接拓?fù)?/strong>

在ETestDEV中建立連接拓?fù)鋾r(shí),我們將所有設(shè)備均作為測(cè)試設(shè)備,這完全是支持的,如下圖所示。? ?



在該圖中,我們看到兩個(gè)設(shè)備均為測(cè)試設(shè)備,這樣我們就可以在測(cè)試程序中直接使用ETestDEV中的全局變量devices來訪問連接拓?fù)渲械乃性O(shè)備了,而不用像上一章那樣繞道而行了。在下圖中的測(cè)試程序中,可以直接應(yīng)用端口

devices.TaskManager.RS232_Guidance

devices.Guidance.RS232_TaskManager



3.2 ?虛擬端口mocker

在ETestDEV中執(zhí)行板卡配置,我們會(huì)看到如下板卡配置工具,該板卡配置工具中提供了一個(gè)模擬器通道,如下圖所示:



執(zhí)行設(shè)備自檢,會(huì)看到ETestDEV所有支持的模擬器通道,包括了AI、AO、DI、DO以及CAN、RS232、RS485、RS422、RS232等。



模擬器通道的存在,使得我們?cè)谶\(yùn)行時(shí)綁定資源時(shí),可以選擇被成為mocker的通道,如下圖所示。



在測(cè)試程序運(yùn)行時(shí),必須首先進(jìn)行測(cè)試環(huán)境的運(yùn)行時(shí)綁定,否則測(cè)試程序執(zhí)行時(shí)將會(huì)發(fā)生找不到測(cè)試設(shè)備的錯(cuò)誤,如下圖所示。



mocker通道的存在,一方面方便了測(cè)試程序的調(diào)試工作,另一方面也解決了“設(shè)備A”與“設(shè)備B”分別開展測(cè)試時(shí)測(cè)試資源不足的問題。

3.3 ?模擬被測(cè)件

由于我們采用的連接拓?fù)渲小霸O(shè)備A”與“設(shè)備B”均為測(cè)試設(shè)備,我們需要在運(yùn)行時(shí)綁定連接拓?fù)渲兴杏玫降耐ǖ?,用?shí)際的測(cè)試資源通道來實(shí)現(xiàn)對(duì)連接拓?fù)涞闹С帧5覀冎?,作為半?shí)物仿真測(cè)試平臺(tái),對(duì)“設(shè)備B”進(jìn)行測(cè)試時(shí),只需要有一個(gè)串口RS232連接被測(cè)件就可以了,并且現(xiàn)實(shí)中我們可能也就只有一個(gè)RS232串口通道。但由于我們采用的連接拓?fù)渲?,需要具有兩個(gè)實(shí)際的RS232通道,資源的限制可能會(huì)使得即使我們使用了上述連接拓?fù)?,由于資源的限制,也導(dǎo)致測(cè)試執(zhí)行器無法工作。mocker通道的存在破除了這種障礙。

在進(jìn)行測(cè)試工裝開發(fā)時(shí),我們可以將所有的通道都綁定在mocker通道上,并采用模擬程序的方法進(jìn)行測(cè)試工裝UI頁面與測(cè)試程序的調(diào)試。我們可以編寫測(cè)試程序作為模擬程序,如下圖所示。



測(cè)試程序要作為模擬程序存在,需要配置其為模擬程序,如下圖所示,執(zhí)行右鍵操作在彈出的菜單中配置所選定的程序?yàn)槟M被測(cè)件。



在測(cè)試程序作為模擬程序時(shí),也需要綁定一個(gè)連接拓?fù)洌诮壎ǖ倪B接拓?fù)渲?,模擬程序則只能使用被測(cè)件設(shè)備及其通道。因此,我們將采用如下的連接拓?fù)?,作為模擬程序的綁定連接拓?fù)?,該連接拓?fù)渲袃蓚€(gè)設(shè)備均為被測(cè)設(shè)備。



3.4 ?運(yùn)行結(jié)果

下圖所示為運(yùn)行結(jié)果,以控制臺(tái)方式運(yùn)行的是模擬被測(cè)件測(cè)試程序,以UI頁面運(yùn)行的是測(cè)試程序。由測(cè)試程序向模擬被測(cè)件發(fā)送一條報(bào)文后,模擬被測(cè)件接收后進(jìn)行響應(yīng),向測(cè)試程序發(fā)送報(bào)文??梢钥闯觯粶y(cè)件模擬程序既可以模擬“設(shè)備A”,也可以模擬“設(shè)備B”,同樣,測(cè)試程序也可以既用來測(cè)試“設(shè)備A”,也用來測(cè)試“設(shè)備B”,只需要在UI頁面中選擇相應(yīng)的測(cè)試設(shè)備即可。



調(diào)試完成后,我們可以將所有的UI頁面打包形成測(cè)試工裝的界面,在UI設(shè)計(jì)頁面中執(zhí)行打包,會(huì)在系統(tǒng)設(shè)置的打包目錄下形成一個(gè)文件夾,該文件夾中包含一個(gè)ETestPlay.exe可執(zhí)行程序,雙擊執(zhí)行ETestPlay.exe,則會(huì)展示出如下界面。



我們可以對(duì)打包形成的文件夾稍作配置,重新綁定相應(yīng)的實(shí)際測(cè)試資源,就可以快速完成實(shí)際測(cè)試工裝的部署。

4結(jié)束語

ETesDEV為半實(shí)物仿真測(cè)試工裝的開發(fā)提供了許多靈活的選擇方案,在開發(fā)測(cè)試工裝時(shí),用戶無需具有實(shí)際的如RS232、CAN、AO、AI這樣的測(cè)試資源,通過mocker通道以及被測(cè)件模擬,在通用的計(jì)算機(jī)平臺(tái)上就可以完成半實(shí)物仿真測(cè)試工裝的開發(fā)和調(diào)試工作,打包形成的測(cè)試工裝程序,只需要重新進(jìn)行簡單的綁定配置,就可以跟測(cè)試硬件資源進(jìn)行關(guān)聯(lián)。

ETesDEV作為測(cè)試系統(tǒng)集成開發(fā)環(huán)境,不僅可以支持簡單配置快速完成常規(guī)測(cè)試任務(wù),還能支持通過UI頁面與測(cè)試程序開發(fā)完成復(fù)雜的測(cè)試任務(wù),形成專業(yè)化的測(cè)試工裝。如何使用好ETesDEV這款集成開發(fā)環(huán)境,一方面需要ETesDEV自身功能強(qiáng)大外,使用模式的探索和培訓(xùn)也是不容忽視的重要工作。


專家筆記:再談ETestDEV標(biāo)準(zhǔn)化的測(cè)試工裝頁面開發(fā)方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
应城市| 宣化县| 新河县| 漳平市| 巴中市| 上犹县| 和平区| 水城县| 石台县| 含山县| 寻乌县| 隆林| 咸宁市| 恩平市| 南澳县| 遂昌县| 潜江市| 岑溪市| 三亚市| 油尖旺区| 句容市| 东乌| 突泉县| 行唐县| 综艺| 崇明县| 沙田区| 陆良县| 塔河县| 蒙山县| 定结县| 武威市| 嘉定区| 夏河县| 双牌县| 龙游县| 安丘市| 舒兰市| 贵南县| 金川县| 太湖县|