孟祥振,韓 坤,李桂虎
(中車(chē)青島四方車(chē)輛研究所有限公司,山東 青島 266000)
目前,工業(yè)以太網(wǎng)總線已被成功應(yīng)用于列車(chē)網(wǎng)絡(luò)控制系統(tǒng)中,并逐漸成為列車(chē)網(wǎng)絡(luò)控制系統(tǒng)的主流通信模式[1-3]。如,“復(fù)興號(hào)”CR300動(dòng)車(chē)組、北京地鐵大興機(jī)場(chǎng)線列車(chē)、北京地鐵17號(hào)線列車(chē)和深圳地鐵20號(hào)線列車(chē)等均采用以太網(wǎng)控車(chē),大量運(yùn)用了車(chē)載交換機(jī)和采用以太網(wǎng)接口的車(chē)載控制器等車(chē)載以太網(wǎng)設(shè)備。
軌道交通應(yīng)用工況特殊,其對(duì)車(chē)載以太網(wǎng)設(shè)備功能和性能提出了較高的要求,設(shè)備出廠前均需進(jìn)行例行測(cè)試[4]。但目前傳統(tǒng)的手動(dòng)測(cè)試方法操作復(fù)雜、測(cè)試指標(biāo)單一、測(cè)試效率低下,已逐漸無(wú)法滿足批量車(chē)載以太網(wǎng)設(shè)備的測(cè)試要求,嚴(yán)重限制了生產(chǎn)線的產(chǎn)能;而且,由于測(cè)試產(chǎn)品及接口太多,如果使用專用測(cè)試儀表,需要配置的儀表數(shù)量眾多,將導(dǎo)致測(cè)試成本急劇增加。
針對(duì)上述問(wèn)題,本文提出一種軌道交通車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試方法,其基于以太網(wǎng)性能分析儀等專用測(cè)試儀表,并結(jié)合Python自動(dòng)化測(cè)試技術(shù),既降低了測(cè)試成本,又能滿足車(chē)間批量測(cè)試需求,具有良好的經(jīng)濟(jì)效益。
車(chē)載以太網(wǎng)設(shè)備分為兩類(lèi):交換設(shè)備和終端設(shè)備。交換設(shè)備主要包括二層交換機(jī)、三層交換機(jī)等;終端設(shè)備主要指網(wǎng)絡(luò)、牽引、制動(dòng)等車(chē)載系統(tǒng)的控制器。由于網(wǎng)絡(luò)設(shè)備接口數(shù)量較多,測(cè)試人員若要完成產(chǎn)品測(cè)試,則需要花費(fèi)較多時(shí)間。測(cè)試交換機(jī)產(chǎn)品時(shí),手動(dòng)測(cè)試原理和方法如圖1所示,將測(cè)試筆記本計(jì)算機(jī)1和測(cè)試筆記本計(jì)算機(jī)2的以太網(wǎng)接口配置為同網(wǎng)段的IP地址,利用筆記本計(jì)算機(jī)1和筆記本計(jì)算機(jī)2相互執(zhí)行ping指令。如果能ping通(端對(duì)端連通),則接口測(cè)試通過(guò);否則,判定為失敗。如此遍歷所有交換機(jī)接口。對(duì)于終端設(shè)備測(cè)試,將測(cè)試筆記本計(jì)算機(jī)與終端設(shè)備的以太網(wǎng)接口配置為同網(wǎng)段IP地址,執(zhí)行ping指令進(jìn)行測(cè)試。按照8編組列車(chē)設(shè)備數(shù)量進(jìn)行統(tǒng)計(jì),僅交換設(shè)備,平均1列車(chē)需要測(cè)試240個(gè)以太網(wǎng)接口,每個(gè)接口測(cè)試需要5 min,總共需要1 200 min,測(cè)試時(shí)間較長(zhǎng)。
圖1 車(chē)載以太網(wǎng)設(shè)備手動(dòng)測(cè)試原理圖Fig. 1 Schematic diagram of manual test for onboard Ethernet equipment
此外,車(chē)載工業(yè)以太網(wǎng)采用列車(chē)實(shí)時(shí)數(shù)據(jù)協(xié)議(train real-time data protocol,TRDP),對(duì)于丟包率、時(shí)延、吞吐量和背靠背等指標(biāo)有明確要求[5-7]。受測(cè)試設(shè)備的限制,手動(dòng)測(cè)試僅能覆蓋最簡(jiǎn)單的ping通測(cè)試,測(cè)試指標(biāo)無(wú)法量化。
可見(jiàn),手動(dòng)測(cè)試已無(wú)法滿足生產(chǎn)線批量產(chǎn)品測(cè)試要求。
本文基于React框架的web前端技術(shù)和Python自動(dòng)化測(cè)試技術(shù)研究開(kāi)發(fā)了一套適用于軌道交通行業(yè)的車(chē)載以太網(wǎng)產(chǎn)品自動(dòng)化測(cè)試系統(tǒng)(圖2)。該系統(tǒng)包括控制網(wǎng)和測(cè)試網(wǎng),其中測(cè)試網(wǎng)主要用于測(cè)試儀表與被測(cè)設(shè)備的網(wǎng)絡(luò)連接;控制網(wǎng)中包含了用戶端,即工控機(jī)終端,主要測(cè)試部件包括自動(dòng)化測(cè)試服務(wù)器、工控機(jī)、以太網(wǎng)測(cè)試儀、程控電源及測(cè)試工裝等。所有功能設(shè)備被安裝在一個(gè)機(jī)柜內(nèi),可同時(shí)完成24口、48口和96口等多個(gè)端口的百兆以太網(wǎng)設(shè)備測(cè)試。
圖2 車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)Fig. 2 Automatic test system for onboard Ethernet equipment
自動(dòng)化測(cè)試系統(tǒng)硬件系統(tǒng)由以太網(wǎng)測(cè)試儀、程控電源、工控機(jī)及自動(dòng)化測(cè)試服務(wù)器組成。其中,自動(dòng)化測(cè)試服務(wù)器和工控機(jī)運(yùn)行系統(tǒng)軟件,控制以太網(wǎng)測(cè)試儀和程控電源自動(dòng)完成測(cè)試。
2.1.1 以太網(wǎng)測(cè)試儀
以太網(wǎng)測(cè)試儀是測(cè)試系統(tǒng)中的核心部分,負(fù)責(zé)向被測(cè)交換機(jī)和以太網(wǎng)終端設(shè)備等被測(cè)設(shè)備進(jìn)行流量壓力測(cè)試,并通過(guò)結(jié)果分析判斷被測(cè)交換機(jī)設(shè)備和終端設(shè)備的性能是否合格。
2.1.2 程控電源
將整個(gè)測(cè)試系統(tǒng)的110 V電源統(tǒng)一接入程控電源,保證所有被測(cè)設(shè)備的啟動(dòng)、停止和壓力測(cè)試流程都可以被工控機(jī)統(tǒng)一管理;并按照例行試驗(yàn)大綱要求,完成高低溫循環(huán)測(cè)試和常溫下的功能循環(huán)測(cè)試。
2.1.3 工控機(jī)
工控機(jī)即測(cè)試操作平臺(tái),其可通過(guò)web瀏覽器登錄到自動(dòng)化測(cè)試服務(wù)器進(jìn)行測(cè)試操作并獲得測(cè)試結(jié)果。
2.1.4 自動(dòng)化測(cè)試服務(wù)器
測(cè)試系統(tǒng)的自動(dòng)化測(cè)試服務(wù)器控制以太網(wǎng)測(cè)試儀和程控電源等,提供web控制服務(wù)接口給工控機(jī)[8],通過(guò)自動(dòng)化腳本完成測(cè)試流程,并將結(jié)果傳送給工控機(jī)。
基于web的控制界面大大降低了測(cè)試系統(tǒng)對(duì)工控機(jī)的依賴,因此可以降低工控機(jī)的硬件配置;同時(shí),自動(dòng)化測(cè)試服務(wù)器符合商用服務(wù)器標(biāo)準(zhǔn),基于Linux系統(tǒng)開(kāi)發(fā),具備長(zhǎng)時(shí)間穩(wěn)定運(yùn)行的能力,保證其所提供的web服務(wù)以及測(cè)試自動(dòng)化程序可以穩(wěn)定運(yùn)行。
2.1.5 測(cè)試連接示意
如圖3所示,自動(dòng)化測(cè)試系統(tǒng)通過(guò)2根測(cè)試線纜連接交換機(jī)的2個(gè)端口,測(cè)試系統(tǒng)產(chǎn)生的測(cè)試流量通過(guò)交換機(jī)的第1個(gè)端口進(jìn)入,交換機(jī)將測(cè)試流量轉(zhuǎn)發(fā)到第2個(gè)端口,經(jīng)過(guò)第2個(gè)端口發(fā)回測(cè)試系統(tǒng),測(cè)試系統(tǒng)完成對(duì)交換機(jī)的測(cè)試。測(cè)試交換機(jī)時(shí),需要連接交換機(jī)的所有端口,每2個(gè)端口為一組進(jìn)行測(cè)試。自動(dòng)化測(cè)試系統(tǒng)通過(guò)1根測(cè)試線纜連接終端設(shè)備,終端設(shè)備將狀態(tài)反饋給自動(dòng)化測(cè)試系統(tǒng)。
圖3 車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)測(cè)試連接Fig. 3 Test connection of the automatic test system for onboard Ethernet equipment
測(cè)試系統(tǒng)軟件前端基于React框架的web前端技術(shù)實(shí)現(xiàn),利用Python腳本實(shí)現(xiàn)測(cè)試流程自動(dòng)化,操作界面具備完善的權(quán)限管理,針對(duì)不同使用人員分為系統(tǒng)管理員界面、技術(shù)工程師界面和測(cè)試人員界面。
2.2.1 用戶權(quán)限控制
測(cè)試系統(tǒng)具備用戶權(quán)限控制,如圖4所示,用戶在基于web的界面登陸;在所有用戶中可以區(qū)分不同的權(quán)限等級(jí),不同的用戶名會(huì)對(duì)應(yīng)不同的使用權(quán)限,例如測(cè)試人員、技術(shù)工程師、系統(tǒng)管理員等。測(cè)試人員可以看到需要完成的測(cè)試用例以及產(chǎn)品是否通過(guò)測(cè)試,但是無(wú)法查看抓包、詳細(xì)的測(cè)試結(jié)果,也無(wú)法修改測(cè)試用例。而技術(shù)工程師可以修改測(cè)試用例的配置,在定位問(wèn)題時(shí)有權(quán)限看到所有的測(cè)試結(jié)果以及抓包等信息。系統(tǒng)管理員則有權(quán)限對(duì)自動(dòng)化測(cè)試系統(tǒng)的配置、流程進(jìn)行修改,并可以修改不同用戶的權(quán)限。
圖4 用戶登錄界面Fig. 4 User login interface
通過(guò)權(quán)限管理,簡(jiǎn)化操作人員測(cè)試界面,并且保證其任何誤操作不會(huì)影響到整個(gè)測(cè)試系統(tǒng)。
2.2.2 測(cè)試人員界面
圖5為測(cè)試人員界面示意圖。測(cè)試人員登錄后可以看到非常簡(jiǎn)潔易懂的界面,界面上有每個(gè)端口的連接狀態(tài)、測(cè)試用例、測(cè)試結(jié)果、設(shè)備序列號(hào)等信息。測(cè)試人員只需要在連接好被測(cè)設(shè)備后,通過(guò)識(shí)別產(chǎn)品二維碼將產(chǎn)品序列號(hào)導(dǎo)入系統(tǒng),確認(rèn)連接狀態(tài),即可點(diǎn)擊開(kāi)始進(jìn)行測(cè)試,測(cè)試結(jié)束后會(huì)自動(dòng)顯示測(cè)試結(jié)果。
圖5 測(cè)試界面Fig. 5 Test interface
簡(jiǎn)潔的測(cè)試界面對(duì)于缺乏專業(yè)知識(shí)的測(cè)試人員來(lái)說(shuō),易于操作,測(cè)試難度低。采用二維碼采集方式替代原手工記錄被測(cè)產(chǎn)品信息,提高了測(cè)試效率。
2.2.3 技術(shù)工程師界面
圖6為用技術(shù)工程師權(quán)限登錄后的界面圖,技術(shù)工程師可以管理儀表、測(cè)試用例、測(cè)試床等,同時(shí)如藍(lán)色框中所示,可以調(diào)整測(cè)試的次數(shù)、時(shí)長(zhǎng)等參數(shù)。
圖6 設(shè)計(jì)界面Fig. 6 Design interface
針對(duì)不同產(chǎn)品的測(cè)試,技術(shù)工程師定制化配置測(cè)試項(xiàng)目并生成配置文件,測(cè)試人員只需導(dǎo)入預(yù)置的配置文件即可開(kāi)始測(cè)試。
車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)按照產(chǎn)品例行試驗(yàn)大綱、RFC2544《網(wǎng)絡(luò)互連設(shè)備的互連基準(zhǔn)》、RFC2889《局域網(wǎng)(LAN)交換設(shè)備基準(zhǔn)(測(cè)試)方法學(xué)》、RFC3918《混合轉(zhuǎn)發(fā)吞吐量測(cè)試》要求批量、自動(dòng)地完成車(chē)載以太網(wǎng)交換設(shè)備和終端設(shè)備的出廠例行試驗(yàn),其測(cè)試功能見(jiàn)表1。
表1 車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)測(cè)試功能Tab.1 Test items of the automatic test system for onboard Ethernet equipment
根據(jù)測(cè)試人員選擇的測(cè)試項(xiàng)點(diǎn),測(cè)試系統(tǒng)自動(dòng)生成Python格式的自動(dòng)化測(cè)試腳本并完成自動(dòng)化測(cè)試[9]。自動(dòng)化測(cè)試腳本示意如圖7所示。
圖7 自動(dòng)化測(cè)試腳本Fig.7 An automatic test script
自動(dòng)化測(cè)試系統(tǒng)通過(guò)運(yùn)行自動(dòng)化測(cè)試腳本來(lái)控制測(cè)試儀表對(duì)被測(cè)目標(biāo)進(jìn)行測(cè)試,直接調(diào)用測(cè)試儀表的應(yīng)用程序接口(API),使測(cè)試更加靈活、可控性更強(qiáng),不但節(jié)省了人力與時(shí)間成本,提高了測(cè)試執(zhí)行的效率,而且測(cè)試操作的可重復(fù)性和結(jié)果的可再現(xiàn)性更高,所得到的測(cè)試結(jié)論更加精確、客觀,排除了不可控的人為因素干擾,增強(qiáng)了測(cè)試結(jié)果的橫向可比性。自動(dòng)化測(cè)試的腳本流程如圖8所示,以太網(wǎng)性能分析儀根據(jù)測(cè)試腳本自動(dòng)遍歷所有測(cè)試端口。
圖8 自動(dòng)化測(cè)試的腳本流程Fig. 8 Script flow of the automatic test
車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)能滿足軌道列車(chē)車(chē)載以太網(wǎng)設(shè)備測(cè)試需求,具有測(cè)試指標(biāo)量化、測(cè)試高效自動(dòng)化、運(yùn)行穩(wěn)定、人機(jī)界面友好、數(shù)據(jù)安全、易擴(kuò)展性和易維護(hù)性等優(yōu)點(diǎn)。
2.4.1 測(cè)試指標(biāo)量化
該測(cè)試系統(tǒng)以業(yè)界標(biāo)準(zhǔn)儀表為基礎(chǔ),配合簡(jiǎn)單易用的自動(dòng)化測(cè)試軟件系統(tǒng),按照RFC2544等標(biāo)準(zhǔn)實(shí)現(xiàn)以太網(wǎng)吞吐量、時(shí)延、丟包率和背靠背等指標(biāo)的精確測(cè)試,從而確保產(chǎn)品的出廠品質(zhì)。
2.4.2 測(cè)試高效自動(dòng)化
該自動(dòng)化測(cè)試系統(tǒng)能提供至少240個(gè)以太網(wǎng)測(cè)試接口,可滿足一列8編組列車(chē)以太網(wǎng)產(chǎn)品同時(shí)測(cè)試,測(cè)試效率高。測(cè)試系統(tǒng)根據(jù)預(yù)設(shè)的測(cè)試配置文件自動(dòng)完成所有測(cè)試項(xiàng)點(diǎn),并自動(dòng)生成測(cè)試報(bào)告,全程無(wú)人值守。
2.4.3 系統(tǒng)運(yùn)行穩(wěn)定性好
自動(dòng)化測(cè)試服務(wù)器為高穩(wěn)定性、高可靠性設(shè)備,具備長(zhǎng)期不關(guān)機(jī)連續(xù)運(yùn)行的能力。工控機(jī)可根據(jù)需求配置一臺(tái)或多臺(tái),不用時(shí)可下電,以節(jié)約電能。
2.4.4 界面易用
該測(cè)試系統(tǒng)能通過(guò)簡(jiǎn)單友好的web界面進(jìn)行操作,并提供準(zhǔn)確的結(jié)果,讓測(cè)試人員可以在最短的時(shí)間內(nèi)學(xué)會(huì)如何使用。
自動(dòng)化測(cè)試服務(wù)器提供了測(cè)試自動(dòng)化以及控制所需的所有功能,因此操作終端具備瘦終端的特點(diǎn),生產(chǎn)線操作終端(工控機(jī))僅需要安裝瀏覽器即可。
當(dāng)測(cè)試出現(xiàn)問(wèn)題時(shí),技術(shù)工程師可同步遠(yuǎn)程查看測(cè)試床狀態(tài),并支持遠(yuǎn)程配置更新軟件。
2.4.5 數(shù)據(jù)安全
所有的測(cè)試數(shù)據(jù)被集中存儲(chǔ)在自動(dòng)化測(cè)試服務(wù)器上,統(tǒng)一安全管理和保存。自動(dòng)化測(cè)試服務(wù)器基于Linux系統(tǒng)開(kāi)發(fā),具備良好的穩(wěn)定性以及安全性,保證了系統(tǒng)數(shù)據(jù)安全性與完整性。
此外,通過(guò)完善的權(quán)限控制,保證只有高級(jí)權(quán)限登陸者才能夠下載測(cè)試數(shù)據(jù)。
2.4.6 測(cè)試床擴(kuò)展性強(qiáng)
由于自動(dòng)化腳本都存儲(chǔ)在自動(dòng)化測(cè)試服務(wù)器上,因此管理和添加新測(cè)試床、第三方儀表、第三方設(shè)備和測(cè)試用例都很方便,只需要進(jìn)行自動(dòng)化測(cè)試服務(wù)器的升級(jí)、改造即可,對(duì)工控機(jī)終端無(wú)須進(jìn)行任何操作。同時(shí)系統(tǒng)遷移也非常容易實(shí)現(xiàn)。
2.4.7 系統(tǒng)維護(hù)成本低
由于自動(dòng)化測(cè)試系統(tǒng)軟件以及測(cè)試儀表軟件都被安裝在自動(dòng)化測(cè)試服務(wù)器上,在后期的維護(hù)中只需要對(duì)自動(dòng)化測(cè)試服務(wù)器進(jìn)行維護(hù)即可,大幅降低了維護(hù)成本。維護(hù)成本還體現(xiàn)在易耗品的更換方面,如網(wǎng)線、測(cè)試儀端口損壞等。使用大量的測(cè)試儀端口,每次測(cè)試插拔測(cè)試儀端口的網(wǎng)線容易導(dǎo)致測(cè)試儀端口故障,從而影響測(cè)試進(jìn)度,同時(shí)更換損壞的測(cè)試儀端口也大大提高了維護(hù)成本。本方案測(cè)試工裝線與測(cè)試儀表端固定,每次只插拔被測(cè)試端接口,降低了測(cè)試儀表端口被損壞的概率,降低了測(cè)試設(shè)備成本。
采用車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)對(duì)“復(fù)興號(hào)”CR300型動(dòng)車(chē)組的交換機(jī)和終端設(shè)備進(jìn)行測(cè)試,測(cè)試項(xiàng)點(diǎn)覆蓋了被測(cè)產(chǎn)品實(shí)際應(yīng)用場(chǎng)景的所有功能,自動(dòng)化測(cè)試系統(tǒng)與手動(dòng)測(cè)試項(xiàng)點(diǎn)對(duì)比如表2所示。
表2 測(cè)試項(xiàng)點(diǎn)對(duì)比Tab. 2 Comparison of test items
按照8編組列車(chē)計(jì)算,16口交換設(shè)備每車(chē)配置2臺(tái),總共16臺(tái);終端設(shè)備接口數(shù)量按照交換設(shè)備接口數(shù)量的三分之二計(jì)算,總共170個(gè),則被測(cè)以太網(wǎng)設(shè)備接口為426個(gè)。對(duì)于交換機(jī),按照?qǐng)D9所示將256根測(cè)試線纜同時(shí)連接到被測(cè)交換機(jī),通過(guò)在測(cè)試軟件上選擇吞吐量、時(shí)延、背靠背、丟幀率、掉電重啟、穩(wěn)定性測(cè)試等測(cè)試項(xiàng)點(diǎn),實(shí)現(xiàn)無(wú)人值守的自動(dòng)化測(cè)試,并自動(dòng)生成測(cè)試報(bào)告。測(cè)試覆蓋表2中所有測(cè)試項(xiàng)點(diǎn),按照單個(gè)以太網(wǎng)接口測(cè)試時(shí)間5 min計(jì)算(5 s接入工裝+ 4 min55 s測(cè)試),手動(dòng)測(cè)試的時(shí)間約為2 130 min,自動(dòng)化測(cè)試系統(tǒng)測(cè)試時(shí)間約為40 min,僅為手動(dòng)測(cè)試時(shí)間的1.9%。
圖9 自動(dòng)化測(cè)試系統(tǒng)交換機(jī)測(cè)試連接Fig. 9 Connection of switches with the automatic test system
自動(dòng)化測(cè)試系統(tǒng)根據(jù)測(cè)試人員勾選的測(cè)試用例匯總所有測(cè)試項(xiàng)點(diǎn)結(jié)果,并自動(dòng)生成測(cè)試報(bào)告(圖10)。較手動(dòng)測(cè)試方法,自動(dòng)化測(cè)試省去手動(dòng)記錄過(guò)程,縮短了測(cè)試報(bào)告完成時(shí)間,并提高了報(bào)告準(zhǔn)確性。
圖10 車(chē)載以太網(wǎng)設(shè)備自動(dòng)化測(cè)試系統(tǒng)測(cè)試報(bào)告Fig. 10 Test report of the automatic test system for onboard Ethernet equipment
本文針對(duì)目前軌道交通車(chē)載以太網(wǎng)設(shè)備人工測(cè)試耗時(shí)長(zhǎng)、成本高問(wèn)題,提出一種適用于車(chē)載以太網(wǎng)設(shè)備的自動(dòng)化測(cè)試系統(tǒng)。該系統(tǒng)應(yīng)用Python自動(dòng)化測(cè)試技術(shù),結(jié)合專用測(cè)試儀表和測(cè)試工裝,具有友好的人機(jī)交互界面。在“復(fù)興號(hào)”CR300型動(dòng)車(chē)組項(xiàng)目上的應(yīng)用表明,該系統(tǒng)操作簡(jiǎn)單、測(cè)試項(xiàng)點(diǎn)準(zhǔn)確全面、占用測(cè)試工時(shí)少、可無(wú)人值守,能滿足車(chē)載以太網(wǎng)設(shè)備的生產(chǎn)線批量測(cè)試需求,具有良好的經(jīng)濟(jì)效益。
近年來(lái),工業(yè)以太網(wǎng)已逐漸成為軌道交通行業(yè)主流控車(chē)技術(shù),產(chǎn)品出廠前整車(chē)環(huán)境下的例行聯(lián)調(diào)測(cè)試逐漸被業(yè)主和主機(jī)廠所重視。后續(xù),我們將重點(diǎn)研究整車(chē)級(jí)地面聯(lián)調(diào)自動(dòng)化測(cè)試及其應(yīng)用。