亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種自動(dòng)化測(cè)試方法及裝置的制造方法

文檔序號(hào):10534719閱讀:454來(lái)源:國(guó)知局
一種自動(dòng)化測(cè)試方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種自動(dòng)化測(cè)試方法及裝置,該方法包括:通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道;對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng);判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;若是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本;獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。應(yīng)用本發(fā)明實(shí)施例可以提高網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試的效率。
【專利說(shuō)明】
一種自動(dòng)化測(cè)試方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種自動(dòng)化測(cè)試方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前的網(wǎng)絡(luò)設(shè)備的自動(dòng)化測(cè)試框架由執(zhí)行機(jī)集中控制各個(gè)網(wǎng)絡(luò)設(shè)備的運(yùn)行,即由執(zhí)行機(jī)串行執(zhí)行所有的測(cè)試腳本,并將測(cè)試命令依次下發(fā)給DUT(Device Under Test,被測(cè)試設(shè)備)。
[0003]然而,隨著自動(dòng)化規(guī)模的擴(kuò)大,為了滿足大規(guī)模自動(dòng)化測(cè)試的需求,被測(cè)試設(shè)備不斷增加,所有的測(cè)試腳本均在執(zhí)行機(jī)上串行執(zhí)行的實(shí)現(xiàn)方式會(huì)增加大量的等待時(shí)間,如執(zhí)行機(jī)在執(zhí)行測(cè)試腳本時(shí),DUT需要等待執(zhí)行機(jī)下發(fā)測(cè)試命令;執(zhí)行機(jī)向DUT下發(fā)測(cè)試命令之后,需要等待DUT返回結(jié)果等,大大降低了自動(dòng)化測(cè)試的執(zhí)行效率。

【發(fā)明內(nèi)容】

[0004]本發(fā)明提供一種自動(dòng)化測(cè)試方法及裝置,以解決現(xiàn)有技術(shù)中自動(dòng)化測(cè)試執(zhí)行效率低的問(wèn)題。
[0005]根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種自動(dòng)化測(cè)試方法,應(yīng)用于測(cè)試系統(tǒng)中的執(zhí)行機(jī),所述測(cè)試系統(tǒng)包括至少兩臺(tái)目標(biāo)被測(cè)設(shè)備DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,所述方法包括:
[0006]通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道;
[0007]對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng);
[0008]判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0009]若是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本;
[0010]獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。
[0011]根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種自動(dòng)化測(cè)試方法,應(yīng)用于測(cè)試系統(tǒng)中的目標(biāo)被測(cè)試設(shè)備DUT,所述測(cè)試系統(tǒng)包括執(zhí)行機(jī)以及至少兩臺(tái)所述目標(biāo)DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,所述方法包括
[0012]當(dāng)通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道;
[0013]當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0014]當(dāng)接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本;
[0015]當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。
[0016]根據(jù)本發(fā)明實(shí)施例的第三方面,提供一種自動(dòng)化測(cè)試裝置,應(yīng)用于測(cè)試系統(tǒng)中的執(zhí)行機(jī),所述測(cè)試系統(tǒng)包括至少兩臺(tái)目標(biāo)被測(cè)設(shè)備DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,所述裝置包括:
[0017]發(fā)送單元,用于通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道;
[0018]監(jiān)聽(tīng)單元,用于對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng);
[0019]判斷單元,用于判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0020]所述發(fā)送單元,還用于若所述判斷單元判斷為是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本;
[0021]獲取單元,用于獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。
[0022]根據(jù)本發(fā)明實(shí)施例的第四方面,提供一種自動(dòng)化測(cè)試裝置,應(yīng)用于測(cè)試系統(tǒng)中的目標(biāo)被測(cè)試設(shè)備DUT,所述測(cè)試系統(tǒng)包括執(zhí)行機(jī)以及至少兩臺(tái)所述目標(biāo)DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,所述裝置包括:
[0023]接收單元,用于通過(guò)控制通道接收?qǐng)?zhí)行機(jī)發(fā)送的測(cè)試命令;
[0024]執(zhí)行單元,用于當(dāng)所述接收單元通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道;
[0025]發(fā)送單元,用于當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0026]所述執(zhí)行單元,還用于當(dāng)所述接收單元接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本;
[0027]所述發(fā)送單元,還用于當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。
[0028]應(yīng)用本發(fā)明實(shí)施例,目標(biāo)DUT在執(zhí)行測(cè)試腳本的過(guò)程中,當(dāng)需要暫停執(zhí)行測(cè)試腳本時(shí),通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,以保證全局運(yùn)行結(jié)果檢查的準(zhǔn)確性,進(jìn)而實(shí)現(xiàn)了測(cè)試腳本在設(shè)備上的分布式執(zhí)行,提高了網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試的效率。
【附圖說(shuō)明】
[0029]圖1是本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試的網(wǎng)絡(luò)架構(gòu)示意圖;
[0030]圖2是本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試方法的流程示意圖;
[0031]圖3是本發(fā)明實(shí)施例提供的另一種自動(dòng)化測(cè)試方法的流程示意圖;
[0032]圖4是本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖;
[0033]圖5是本發(fā)明實(shí)施例提供的另一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖;
[0034]圖6是本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0035]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
[0036]請(qǐng)參見(jiàn)圖1,為本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試的網(wǎng)絡(luò)架構(gòu)示意圖,如圖1所示,該網(wǎng)絡(luò)架構(gòu)示意圖可以包括執(zhí)行機(jī)以及至少兩個(gè)目標(biāo)DUT。其中,每個(gè)目標(biāo)DUT均作為分布式TCL(Tool Command Language,工具命令語(yǔ)言)自動(dòng)化框架的Client(客戶端),內(nèi)置TCL解釋器,可以本地執(zhí)行TCL腳本和TCL命令;執(zhí)行機(jī)上運(yùn)行給予TCL的Server程序,控制Client的運(yùn)行。其中,執(zhí)行機(jī)可以包括PC(Personal Computer,個(gè)人計(jì)算機(jī))或服務(wù)器等。
[0037]本發(fā)明實(shí)施例中,執(zhí)行機(jī)和目標(biāo)DUT(即TCL Server和TCL Client)之間可以分別建立數(shù)據(jù)通道和控制通道;執(zhí)行機(jī)可以通過(guò)與目標(biāo)DUT之間的控制通道向目標(biāo)DUT發(fā)送TCL命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道;執(zhí)行機(jī)還可以通過(guò)控制通道向Client發(fā)送控制命令,控制Client的運(yùn)行狀態(tài)。其中,數(shù)據(jù)通道可以是FTP(File Transfer Protocol,文件傳輸協(xié)議)/TFTP(Trivial File TransferProtocol,簡(jiǎn)單文件傳輸協(xié)議)通信信道。
[0038]基于圖1所示的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例提供了一種自動(dòng)化測(cè)試方法,該自動(dòng)化測(cè)試方法可以應(yīng)用于分布式網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試系統(tǒng),請(qǐng)參見(jiàn)圖2,為本發(fā)明實(shí)施例提供的一種自動(dòng)化測(cè)試方法的流程示意圖,其中,該方法可以應(yīng)用于圖1所示網(wǎng)絡(luò)架構(gòu)中的執(zhí)行機(jī),如圖2所示,該方法可以包括以下步驟:
[0039]步驟201、通過(guò)控制通道向目標(biāo)DUT發(fā)送TCL命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道。
[0040]本發(fā)明實(shí)施例中,為了減少自動(dòng)測(cè)試化過(guò)程中的等待時(shí)間,提高自動(dòng)化測(cè)試的執(zhí)行效率,可以預(yù)先將部分測(cè)試腳本(如用于配置下發(fā)的測(cè)試腳本)下發(fā)至目標(biāo)DUT上執(zhí)行。
[0041]例如,可以把需要下發(fā)的配置,以功能為單位寫成接口函數(shù),并以模塊為單位將接口函數(shù)寫入不同的測(cè)試腳本,并存放在目標(biāo)DUT的存儲(chǔ)介質(zhì)中。
[0042]需要注意的是,在本發(fā)明實(shí)施例中,對(duì)于需要在執(zhí)行機(jī)上執(zhí)行的測(cè)試腳本,其具體執(zhí)行流程以及對(duì)應(yīng)的結(jié)果檢查流程可以參見(jiàn)現(xiàn)有自動(dòng)化測(cè)試方案中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。例如,QoS(Quality of Service,服務(wù)質(zhì)量)測(cè)試腳本,需要測(cè)試儀器向DUT發(fā)送數(shù)據(jù)流量,因此,需要在執(zhí)行機(jī)上執(zhí)行。
[0043]本發(fā)明實(shí)施例中,執(zhí)行機(jī)可以通過(guò)與目標(biāo)DUT之間的控制通道向目標(biāo)DUT發(fā)送TCL命令,以啟動(dòng)目標(biāo)DUT執(zhí)行本地的測(cè)試腳本。
[0044]目標(biāo)DUT接收到執(zhí)行機(jī)發(fā)送的TCL命令后,可以執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道。
[0045]步驟202、對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng)。
[0046]步驟203、判斷是否從數(shù)據(jù)通道接收到上述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,該狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行。若是,轉(zhuǎn)至步驟204 ;否則,轉(zhuǎn)至步驟202。
[0047]本發(fā)明實(shí)施例中,考慮到分布式網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試實(shí)現(xiàn)中,對(duì)測(cè)試腳本的運(yùn)行結(jié)果的檢查可以包括本地運(yùn)行結(jié)果檢查以及全局運(yùn)行結(jié)果檢查。其中,本地運(yùn)行結(jié)果的檢查,是對(duì)DUT本地意義上的配置結(jié)果或運(yùn)行狀態(tài)的檢查,比如配置的下發(fā)是否正確,本地的電源、風(fēng)扇、溫度、端口狀態(tài)是否正確等,本地運(yùn)行結(jié)果的檢查與組網(wǎng)中的其它設(shè)備沒(méi)有關(guān)系,不存在時(shí)序問(wèn)題。而全局運(yùn)行結(jié)果的檢查,是指對(duì)整個(gè)組網(wǎng)運(yùn)行結(jié)果的全面檢查,例如,兩臺(tái)被測(cè)試設(shè)備(如DUTl和DUT2)間的0SPF(0pen Shortest Path First,開(kāi)放式最短路徑優(yōu)先)鄰居關(guān)系測(cè)試,若要在DUTl上檢查OSPF的FULL狀態(tài),則需要在DUT2配置完成后,才能進(jìn)行檢查,否則結(jié)果就是錯(cuò)誤的,也就是說(shuō),一個(gè)DUT做全局運(yùn)行結(jié)果的檢查的時(shí)候,需要確認(rèn)其他相關(guān)設(shè)備(包括DUT或執(zhí)行機(jī))的配置已經(jīng)符合預(yù)期。因此,在分布式網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試(測(cè)試腳本為分布式執(zhí)行)實(shí)現(xiàn)方案中,一個(gè)DUT上對(duì)全局運(yùn)行結(jié)果進(jìn)行檢查的時(shí)候,需要和組網(wǎng)中相關(guān)設(shè)備進(jìn)行一次運(yùn)行狀態(tài)同步。
[0048]為了達(dá)到上述目的,在本發(fā)明實(shí)施例中,目標(biāo)DUT在執(zhí)行測(cè)試腳本時(shí),若需要進(jìn)行全局運(yùn)行結(jié)果檢查,則目標(biāo)DUT可以暫停測(cè)試腳本的執(zhí)行,并通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,該狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行,即告知執(zhí)行機(jī)發(fā)送該狀態(tài)鎖定通知的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行,等待其他設(shè)備。
[0049]例如,可以在下發(fā)給目標(biāo)DUT的測(cè)試腳本中設(shè)置預(yù)設(shè)字段,該預(yù)設(shè)字段可以設(shè)置在需要進(jìn)行全局運(yùn)行結(jié)果檢查的字段之后,目標(biāo)DUT在執(zhí)行本地的測(cè)試腳本的過(guò)程中,若執(zhí)行到該預(yù)設(shè)字段,則可以通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,以告知執(zhí)行機(jī)自身暫停測(cè)試腳本的執(zhí)行,從而實(shí)現(xiàn)多個(gè)目標(biāo)DUT之間的運(yùn)行狀態(tài)同步。
[0050]其中,全局運(yùn)行結(jié)果檢查所涉及的多個(gè)目標(biāo)DUT均需要向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,該多個(gè)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知包括一個(gè)主動(dòng)鎖定通知以及至少一個(gè)被動(dòng)鎖定通知;同一全局運(yùn)行結(jié)果檢查對(duì)應(yīng)的狀態(tài)鎖定通知中需要包括相同的通知標(biāo)識(shí),該通知標(biāo)識(shí)用于執(zhí)行機(jī)識(shí)別對(duì)應(yīng)于同一全局運(yùn)行結(jié)果檢查的狀態(tài)鎖定通知,且主動(dòng)鎖定通知中還可以攜帶有所有需要發(fā)送被動(dòng)鎖定通知的目標(biāo)DUT的標(biāo)識(shí)。
[0051]相應(yīng)地,執(zhí)行機(jī)向目標(biāo)DUT發(fā)送測(cè)試命令之后,可以對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng),以檢測(cè)是否存在狀態(tài)鎖定通知。當(dāng)執(zhí)行機(jī)從數(shù)據(jù)通道接收到目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知時(shí),執(zhí)行機(jī)可以進(jìn)一步判斷是否從數(shù)據(jù)通道接收到上述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,即判斷涉及全局運(yùn)行結(jié)果檢查的測(cè)試設(shè)備是否完成了狀態(tài)同步。若是,則確定需要通知目標(biāo)DUT解除鎖定狀態(tài),繼續(xù)執(zhí)行測(cè)試腳本;否則,繼續(xù)對(duì)數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng)。
[0052]作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng),可以包括:
[0053]當(dāng)從數(shù)據(jù)接收到被動(dòng)鎖定通知時(shí),則記錄該被動(dòng)鎖定通知中的全局鎖編號(hào)和本機(jī)DUT編號(hào);
[0054]當(dāng)從數(shù)據(jù)通道接收到主動(dòng)鎖定通知,則記錄該主動(dòng)鎖定通知中的全局所編號(hào)、本機(jī)DUT編號(hào)和DUT列表。
[0055]相應(yīng)地,判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,具體為:
[0056]根據(jù)所述DUT列表和所述全局鎖編號(hào),判斷是否接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知。
[0057]在該實(shí)施方式中,狀態(tài)鎖定通知可以分為主動(dòng)鎖定通知和被動(dòng)鎖定通知,執(zhí)行機(jī)可以根據(jù)狀態(tài)鎖定通知中的鎖類型確定狀態(tài)鎖定通知為主動(dòng)鎖定通知或被動(dòng)鎖定通知;其中,主動(dòng)鎖定通知至少可以包含全局鎖編號(hào)、鎖類型、本機(jī)DUT編號(hào)和DUT列表;被動(dòng)鎖定通知至少可以包含全局鎖編號(hào)和本機(jī)DUT編號(hào)等。
[0058]其中,全局鎖編號(hào)可以用于標(biāo)識(shí)某一全局運(yùn)行結(jié)果,在一個(gè)測(cè)試腳本的執(zhí)行過(guò)程中,可能會(huì)多次進(jìn)行狀態(tài)鎖定,每一次的狀態(tài)鎖定對(duì)應(yīng)一個(gè)全局鎖編號(hào),比如OSPF的鄰居關(guān)系為一個(gè)全局運(yùn)行結(jié)果;本機(jī)DUT編號(hào)用于標(biāo)識(shí)發(fā)送狀態(tài)鎖定通知的DUT設(shè)備;DUT列表可以包括DUT編號(hào)或執(zhí)行機(jī)標(biāo)識(shí)(或稱為Server標(biāo)識(shí)),用于標(biāo)識(shí)同一全局運(yùn)行結(jié)果所涉及的其它DUT設(shè)備或執(zhí)行機(jī)。
[0059]可選地,狀態(tài)鎖定通知中還可以包括鎖類型,鎖類型可以包括主動(dòng)鎖或被動(dòng)鎖,用于標(biāo)識(shí)狀態(tài)鎖定通知為主動(dòng)鎖定通知或被動(dòng)鎖定通知。
[0060]在該實(shí)施方式中,當(dāng)執(zhí)行機(jī)接收到狀態(tài)鎖定通知時(shí),執(zhí)行機(jī)可以根據(jù)該狀態(tài)鎖定通知中的鎖類型確定該狀態(tài)鎖定通知為主動(dòng)鎖定通知或被動(dòng)鎖定通知。
[0061 ]當(dāng)執(zhí)行機(jī)接收到被動(dòng)鎖定通知時(shí),可以記錄該被動(dòng)鎖定通知中的全局鎖編號(hào)和本機(jī)DUT編號(hào);當(dāng)執(zhí)行機(jī)接收到主動(dòng)鎖定通知時(shí),可以記錄該主動(dòng)鎖定通知中的全局鎖編號(hào)、本機(jī)DUT編號(hào)和DUT列表。
[0062]相應(yīng)地,執(zhí)行機(jī)可以自身記錄的全局鎖編號(hào)以及DUT列表,判斷是否接收到上述至少兩臺(tái)目標(biāo)DUT發(fā)送的鎖定通知。
[0063]本發(fā)明實(shí)施例中,若執(zhí)行機(jī)判斷未從數(shù)據(jù)通道接收到上述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知(如未接收到主動(dòng)鎖定通知、未接收到部分或全部被動(dòng)鎖定通知、或主動(dòng)鎖定通知和被動(dòng)鎖定通知均為接收到),則執(zhí)行機(jī)可以繼續(xù)對(duì)數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng)。
[0064]舉例來(lái)說(shuō),假設(shè)主動(dòng)鎖定通知中依次包括全局鎖編號(hào)、鎖類型、本機(jī)DUT編號(hào)以及DUT列表;被動(dòng)鎖定通知中依次包括全局鎖編號(hào)、鎖類型、本機(jī)DUT編號(hào);其中,不同字段之間通過(guò)“!”為分隔符,主動(dòng)鎖對(duì)應(yīng)的鎖類型為O,被動(dòng)鎖對(duì)應(yīng)的鎖類型為I,被動(dòng)鎖定DUT列表的成員用分隔,則當(dāng)執(zhí)行機(jī)接收到的狀態(tài)鎖定通知的通知內(nèi)容中包括“I !O! I !3.4”時(shí),執(zhí)行機(jī)可以確認(rèn)該狀態(tài)鎖定通知為主動(dòng)鎖定通知,全局鎖編號(hào)為“I”,發(fā)送主動(dòng)鎖定通知的設(shè)備為DUT1,DUT3和DUT4需要發(fā)送被動(dòng)鎖定通知,進(jìn)而,執(zhí)行機(jī)可以判斷是否已接收到DUT3和DUT4發(fā)送的被動(dòng)鎖定通知(通知內(nèi)容分別為“I! I! 3! 3”和“I! I!4!4” ),并當(dāng)均已接收到時(shí),進(jìn)行解除鎖定處理。
[0065]需要注意的是,在本發(fā)明實(shí)施例中,若執(zhí)行機(jī)接收到主動(dòng)鎖定通知之后,未在預(yù)設(shè)時(shí)間(第一預(yù)設(shè)時(shí)間)內(nèi)接收到DUT列表中某目標(biāo)DUT發(fā)送的被動(dòng)鎖定通知時(shí),執(zhí)行機(jī)可以向該目標(biāo)DUT發(fā)送被動(dòng)鎖定請(qǐng)求消息,以使該目標(biāo)DUT收到該被動(dòng)鎖定請(qǐng)求消息后,暫停測(cè)試腳本的執(zhí)行,并回復(fù)被動(dòng)鎖定通知。
[0066]步驟204、通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本。
[0067]本發(fā)明實(shí)施例中,當(dāng)執(zhí)行機(jī)確定從數(shù)據(jù)通道接收到上述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知時(shí),執(zhí)行機(jī)可以通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使接收到該解鎖通知的目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本,例如向一個(gè)目標(biāo)DUT發(fā)送解鎖通知時(shí),是通過(guò)執(zhí)行機(jī)與該目標(biāo)DUT所建立的數(shù)據(jù)通道發(fā)送。
[0068]作為一種可選的實(shí)施方式,上述步驟203中,通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,可以包括:
[0069]根據(jù)主動(dòng)鎖定通知中的本機(jī)DUT編號(hào),通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本;
[0070]當(dāng)接收到該DUT發(fā)送的解鎖確認(rèn)通知后,根據(jù)該解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試。
[0071 ]在該實(shí)施方式中,當(dāng)執(zhí)行機(jī)需要解除目標(biāo)DUT的狀態(tài)鎖定時(shí),執(zhí)行機(jī)可以根據(jù)接收到的主動(dòng)鎖定通知中的本機(jī)DUT編號(hào)(即發(fā)送主動(dòng)鎖定通知的DUT的編號(hào)),通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT解鎖通知;其中,該解鎖通知中可以包括全局鎖編號(hào)、通知類型標(biāo)識(shí)以及DUT列表。
[0072]DUT接收到解鎖通知后,可以繼續(xù)執(zhí)行測(cè)試腳本,并向執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知;其中,該解鎖確認(rèn)通知可以包括全局鎖編號(hào)、DUT列表以及通知類型標(biāo)識(shí)。
[0073]執(zhí)行機(jī)接收到DUT發(fā)送的解鎖確認(rèn)通知后,根據(jù)該解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使接收到該目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本。
[0074]優(yōu)選地,在本發(fā)明實(shí)施例中,主動(dòng)鎖定通知、被動(dòng)鎖定通知,解鎖通知和解鎖確認(rèn)通知的形式相同,即均為“全局鎖編號(hào)!通知類型標(biāo)識(shí)(O為主動(dòng)鎖定通知,I為被動(dòng)鎖定通知,2為解鎖通知,3為解鎖確認(rèn)通知)!本機(jī)編號(hào)!被動(dòng)鎖DUT列表或被動(dòng)鎖DUT編號(hào)”。
[0075]舉例來(lái)說(shuō),仍以上述步驟203中所舉示例為例,執(zhí)行機(jī)接收到DUTl發(fā)送的主動(dòng)鎖定通知(通知內(nèi)容為“I! O! I! 3.4”(第一個(gè)“I”為全局鎖編號(hào);“O”為通知類型標(biāo)識(shí),表明該通知為主動(dòng)鎖定通知;第二個(gè)“I”為本機(jī)DUT標(biāo)識(shí),表明該主動(dòng)鎖定通知由DUTl發(fā)送;“3.4”為DUT列表,S卩DUT3和DUT4需要發(fā)送被動(dòng)鎖定通知,下同)),以及DUT3和DUT4發(fā)送的被動(dòng)鎖定通知(通知內(nèi)容分別為“I !I !3!3”(第一個(gè)“I”為全局鎖編號(hào);第二個(gè)“I”為通知類型標(biāo)識(shí),表明該通知為被動(dòng)鎖定通知;第一個(gè)“3”為本機(jī)DUT標(biāo)識(shí),表明該被動(dòng)鎖定通知由DUT3發(fā)送;第二個(gè)“3”表明DUT3需要發(fā)送被動(dòng)鎖定通知,下同)和“I! I !4!4”)之后,執(zhí)行機(jī)可以先向DUTl發(fā)送解鎖通知,其通知內(nèi)容可以為“I !2!0! I”(假設(shè)解鎖通知的通知類型標(biāo)識(shí)為2,執(zhí)行機(jī)的標(biāo)識(shí)為O)(第一個(gè)“I”為全局鎖編號(hào);“2”為通知類型標(biāo)識(shí),表明該通知為解鎖通知;“O”為執(zhí)行機(jī)標(biāo)識(shí),表明該解鎖通知由執(zhí)行機(jī)發(fā)送;第二個(gè)“I”為解鎖DUT標(biāo)識(shí),即通知DUTl解除鎖定,下同),DUTl接收到該解鎖通知后,繼續(xù)執(zhí)行測(cè)試腳本,并向執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,其通知內(nèi)容可以為“I !3!1 !3.4”(假設(shè)解鎖確認(rèn)通知的通知類型標(biāo)識(shí)為3)(第一個(gè)“I”為全局鎖編號(hào);“3”為通知類型標(biāo)識(shí),表明該通知為解鎖確認(rèn)通知;“I”為本機(jī)DUT標(biāo)識(shí),表明該解鎖確定通知由DUTl發(fā)送;“3,4”為DUT列表,S卩DUT3和DUT4為被動(dòng)鎖定DUT,下同);執(zhí)行機(jī)接收到DUTl發(fā)送的解鎖確認(rèn)通知后,可以分別向DUT3和DUT4發(fā)送被動(dòng)鎖定解鎖通知(通知內(nèi)容可以分別為“I! 2 !O!3”和“I!2 !O !4”),以使DUT3和DUT4繼續(xù)執(zhí)行測(cè)試腳本。其中,DUT3和DUT4在接收到被動(dòng)鎖定解鎖通知之后,可以分別向DUT3和DUT4發(fā)送解鎖確認(rèn)通知(通知內(nèi)容可以分別為“1!2!3!3” 和“1!2!4!4”)。
[0076]作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,解鎖通知(包括主動(dòng)鎖定解鎖通知或被動(dòng)鎖定解鎖通知)可以為文件名為通知內(nèi)容的文件;
[0077]步驟205、獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。
[0078]本發(fā)明實(shí)施例中,目標(biāo)DUT執(zhí)行完本地的測(cè)試腳本后,可以將測(cè)試腳本的運(yùn)行結(jié)果上報(bào)給執(zhí)行機(jī);或者,目標(biāo)DUT可以在執(zhí)行完本地的測(cè)試腳本后,向執(zhí)行機(jī)發(fā)送測(cè)試腳本執(zhí)行完成通知;執(zhí)行機(jī)接收到目標(biāo)DUT發(fā)送的測(cè)試腳本執(zhí)行完成通知后,可以獲取該目標(biāo)DUT的測(cè)試腳本運(yùn)行結(jié)果。
[0079]基于圖1所示的網(wǎng)絡(luò)架構(gòu),本發(fā)明實(shí)施例提供了另一種自動(dòng)化測(cè)試方法,請(qǐng)參見(jiàn)圖3,為本發(fā)明實(shí)施例提供的另一種自動(dòng)化測(cè)試方法的流程示意圖,其中,該方法可以應(yīng)用于目標(biāo)DUT,如圖3所示,該方法可以包括以下步驟:
[0080]步驟301、當(dāng)通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道。
[0081 ]本發(fā)明實(shí)施例中,執(zhí)行機(jī)可以通過(guò)與目標(biāo)DUT之間的控制通道向目標(biāo)DUT發(fā)送TCL命令,以啟動(dòng)目標(biāo)DUT執(zhí)行本地的測(cè)試腳本;目標(biāo)DUT接收到該TCL命令時(shí),可以啟動(dòng)本地測(cè)試腳本的執(zhí)行,并阻塞自身與執(zhí)行機(jī)之間的控制通道。需要說(shuō)明的是,此處所述的目標(biāo)DUT僅指一般的DUT,該DUT與執(zhí)行機(jī)之間建立有數(shù)據(jù)通道和控制通道,目標(biāo)DUT這一名稱并不構(gòu)成對(duì)DUT的限制。
[0082]步驟302、當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,該狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行。
[0083]本發(fā)明實(shí)施例中,目標(biāo)DUT在執(zhí)行測(cè)試腳本時(shí),若需要進(jìn)行全局運(yùn)行結(jié)果檢查,則目標(biāo)DUT可以暫停測(cè)試腳本的執(zhí)行,并通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,該狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行。
[0084]其中,全局運(yùn)行結(jié)果檢查所涉及的多個(gè)目標(biāo)DUT均需要向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,該多個(gè)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知可以包括一個(gè)主動(dòng)鎖定通知以及至少一個(gè)被動(dòng)鎖定通知,同一全局運(yùn)行結(jié)果檢查對(duì)應(yīng)的多個(gè)狀態(tài)鎖定通知中需要包括相同的通知標(biāo)識(shí),該通知標(biāo)識(shí)用于執(zhí)行機(jī)識(shí)別對(duì)應(yīng)于同一全局運(yùn)行結(jié)果檢查的狀態(tài)鎖定通知,且主動(dòng)鎖定通知中還可以攜帶有所有需要發(fā)送被動(dòng)鎖定通知的設(shè)備的標(biāo)識(shí)。
[0085]具體的,為了保證全局運(yùn)行結(jié)果檢查的準(zhǔn)確性,可以在全局運(yùn)行結(jié)果檢查所涉及的測(cè)試腳本中設(shè)置預(yù)設(shè)字段,當(dāng)目標(biāo)DUT在執(zhí)行本地的測(cè)試腳本的過(guò)程中,執(zhí)行到該預(yù)設(shè)字段時(shí),可以根據(jù)該預(yù)設(shè)字段向執(zhí)行機(jī)發(fā)送主動(dòng)鎖定通知或被動(dòng)鎖定通知
[0086]其中,在測(cè)試腳本中,主動(dòng)鎖或被動(dòng)鎖可以通過(guò)while循環(huán)實(shí)現(xiàn),當(dāng)相關(guān)DUT執(zhí)行到該while循環(huán)后,可以循環(huán)檢測(cè)解鎖通知,檢測(cè)到解鎖通知?jiǎng)t退出循環(huán),實(shí)現(xiàn)解除鎖定;否貝IJ,保持鎖定狀態(tài)。
[0087]其中,執(zhí)行機(jī)接收到主動(dòng)鎖定通知或被動(dòng)鎖定通知之后的具體實(shí)現(xiàn)可以參見(jiàn)上述步驟203?步驟204中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
[0088]步驟303、當(dāng)接收到執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本。
[0089]本發(fā)明實(shí)施例中,目標(biāo)DUT接收到執(zhí)行機(jī)發(fā)送的解鎖通知時(shí),可以解除鎖定狀態(tài),繼續(xù)執(zhí)行測(cè)試腳本。
[0090]作為一種可選的實(shí)施方式,當(dāng)解鎖通知為主動(dòng)鎖定解鎖通知(當(dāng)目標(biāo)DUT向執(zhí)行機(jī)發(fā)送的狀態(tài)鎖定通知為主動(dòng)鎖定通知時(shí),該目標(biāo)DUT接收到的解鎖通知可以稱為主動(dòng)鎖定解鎖通知)時(shí),接收到執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知之后,還可以包括:
[0091]向執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,以使執(zhí)行機(jī)根據(jù)解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送被動(dòng)鎖解鎖通知。
[0092]在該實(shí)施方式中,當(dāng)目標(biāo)DUT接收到的解鎖通知為主動(dòng)鎖定解鎖通知時(shí),即該目標(biāo)DUT為向執(zhí)行機(jī)發(fā)送主動(dòng)鎖定通知的目標(biāo)DUT時(shí),該目標(biāo)DUT在根據(jù)解鎖通知解除鎖定狀態(tài),并繼續(xù)執(zhí)行測(cè)試腳本之后,還需要向執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,該解鎖確認(rèn)通知中可以包括DUT列表;執(zhí)行機(jī)接收到該解鎖確認(rèn)通知之后,可以根據(jù)該DUT列表,向目標(biāo)DUT發(fā)送被動(dòng)鎖定解鎖通知(當(dāng)目標(biāo)DUT向執(zhí)行機(jī)發(fā)送的狀態(tài)鎖定通知為被動(dòng)鎖定通知時(shí),該目標(biāo)DUT接收到的解鎖通知可以稱為被動(dòng)鎖定解鎖通知),以指示對(duì)應(yīng)的目標(biāo)DUT解除鎖定,繼續(xù)執(zhí)行測(cè)試腳本。
[0093]步驟304、當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。
[0094]本發(fā)明實(shí)施例中,目標(biāo)DUT執(zhí)行完本地的測(cè)試腳本后,可以將測(cè)試腳本的運(yùn)行結(jié)果上報(bào)給執(zhí)行機(jī);或者,目標(biāo)DUT可以在執(zhí)行完本地的測(cè)試腳本后,向執(zhí)行機(jī)發(fā)送測(cè)試腳本執(zhí)行完成通知;執(zhí)行機(jī)接收到目標(biāo)DUT發(fā)送的測(cè)試腳本執(zhí)行完成通知后,可以獲取該目標(biāo)DUT的測(cè)試腳本運(yùn)行結(jié)果。
[0095]需要注意的是,在本發(fā)明實(shí)施例中,DUT向執(zhí)行機(jī)發(fā)送主動(dòng)鎖定通知之后,若在預(yù)設(shè)時(shí)間(第二預(yù)設(shè)時(shí)間)內(nèi)未接收到執(zhí)行機(jī)發(fā)送的解鎖通知,則可以重新向執(zhí)行機(jī)發(fā)送主動(dòng)鎖定通知,其中,重新發(fā)送的主動(dòng)鎖定通知的通知格式可以與之前發(fā)送的主動(dòng)鎖定通知的格式相同;執(zhí)行機(jī)接收到該主動(dòng)鎖定通知的處理策略可以參見(jiàn)上述實(shí)施例中的相關(guān)描述。
[0096]此外,DUT向執(zhí)行機(jī)發(fā)送主動(dòng)鎖定通知或被動(dòng)鎖定通知之后,若在預(yù)設(shè)時(shí)間(第三預(yù)設(shè)時(shí)間,第三預(yù)設(shè)時(shí)間大于第二預(yù)設(shè)時(shí)間)內(nèi)未接收到解鎖通知,則DUT可以直接解除鎖定狀態(tài),繼續(xù)執(zhí)行測(cè)試腳本。
[0097]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供給的技術(shù)方案,下面對(duì)本發(fā)明實(shí)施例中的通知通信機(jī)制進(jìn)行舉例說(shuō)明。
[0098]1、在目標(biāo)DUT和Server上都啟動(dòng)ftp server。
[0099]2、目標(biāo)DUT的Tclsh(—種腳本解釋器)進(jìn)程在DUT的磁盤上創(chuàng)建空文件,文件名即為Tclsh進(jìn)程所要發(fā)送通知的內(nèi)容,通知內(nèi)容字段用“!”號(hào)為分割符,主動(dòng)鎖定通知的通知類型標(biāo)識(shí)用O表示,被動(dòng)鎖定通知的通知類型標(biāo)識(shí)用I表示,解鎖通知的通知類型標(biāo)識(shí)用2表示,解鎖確認(rèn)通知的通知類型標(biāo)識(shí)用3表示,被動(dòng)鎖定列表的成員用V’號(hào)分割。
[0100]例如DUTl的tclsh進(jìn)程,要?jiǎng)?chuàng)建一個(gè)編號(hào)為I,主動(dòng)鎖定類型的,被動(dòng)鎖定DUT成員編號(hào)分別為3,4的主動(dòng)鎖定通知,則應(yīng)該在磁盤上創(chuàng)建一個(gè)名為:1! O! I! 3.4的空文件。
[0101 ] 3、DUT的Tclsh進(jìn)程通過(guò)ftp把通知文件發(fā)送到Server。
[0102]4、執(zhí)行機(jī)監(jiān)控ftp server的通知接收目錄,發(fā)現(xiàn)有新通知文件寫入,讀取文件名(獲取通知內(nèi)容)后,把通知文件拷貝到歷史通知目錄下,然后在通知接收目錄下刪除該通知文件。
[0103]5、執(zhí)行機(jī)收到通知后對(duì)通知進(jìn)行分類存儲(chǔ),并根據(jù)鎖定的類型,做不同的處理:若收到的是主動(dòng)鎖定通知,則根據(jù)通知里的全局鎖編號(hào)以及DUT列表,查找被動(dòng)鎖定通知,如果都能找到,則向通知源發(fā)送解鎖通知;若收到的是被動(dòng)鎖定通知,則根據(jù)全局鎖編號(hào)查找是否存在對(duì)應(yīng)的主動(dòng)鎖定通知,如果不存在,則不做進(jìn)一步處理等待對(duì)應(yīng)的主動(dòng)鎖定通知,如果找到對(duì)應(yīng)的主動(dòng)鎖定通知,則根據(jù)主動(dòng)鎖定通知中的DUT列表,判斷被動(dòng)鎖定通知是否全部接收到,如果沒(méi)有,也不做進(jìn)一步處理,等待下個(gè)被動(dòng)鎖定通知,否則向通知源發(fā)送解鎖通知。
[0104]6、解鎖通知格式為:全局鎖編號(hào),鎖定類型,執(zhí)行機(jī)標(biāo)識(shí)(O),解鎖DUT編號(hào),分割符仍為!,比如對(duì)于I! O! I! 3.4這個(gè)主動(dòng)鎖定通知,解鎖通知為I! 2! O ! I,在通知發(fā)送目錄創(chuàng)建文件為I! 2! O! I的空文件,通過(guò)ftp把文件傳輸?shù)桨l(fā)送主動(dòng)鎖定通知的DUTI設(shè)備,然后把通知發(fā)送目錄下的通知文件拷貝到通知?dú)v史目錄后刪除通知文件。
[0105]7、DUT1設(shè)備的Tclsh進(jìn)程讀到解鎖通知,退出全局鎖定,繼續(xù)執(zhí)行測(cè)試腳本,并發(fā)送解鎖確認(rèn)通知:I! 3! I! 3.4。
[0106]8、Server收到解鎖確認(rèn)通知后,向DUT3發(fā)送解鎖通知I !2!0!3,向DUT3發(fā)送解鎖通知1!2!0!4。
[0107]9、DUT3、DUT4收到解鎖通知后,各自退出全局鎖定,繼續(xù)執(zhí)行測(cè)試腳本。
[0108]通過(guò)以上流程可以看出,在本發(fā)明實(shí)施例中,目標(biāo)DUT在執(zhí)行測(cè)試腳本的過(guò)程中,當(dāng)需要暫停執(zhí)行測(cè)試腳本時(shí),通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,以保證全局運(yùn)行結(jié)果檢查的準(zhǔn)確性,進(jìn)而實(shí)現(xiàn)了測(cè)試腳本在設(shè)備上的分布式執(zhí)行,提高了網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試的效率。
[0109]請(qǐng)參見(jiàn)圖4,為本發(fā)明實(shí)施例提供一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于圖1所示網(wǎng)絡(luò)架構(gòu)中的執(zhí)行機(jī),如圖4所示,該裝置可以包括:
[0110]發(fā)送單元410,用于通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道;
[0111]監(jiān)聽(tīng)單元420,用于對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng);
[0112]判斷單元430,用于判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0113]所述發(fā)送單元410,還用于若所述判斷單元判斷為是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本;
[0114]獲取單元440,用于獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。
[0115]在可選實(shí)施例中,所述監(jiān)聽(tīng)單元420,可以具體用于當(dāng)從數(shù)據(jù)通道接收到被動(dòng)鎖定通知時(shí),則記錄所述被動(dòng)鎖定通知中的全局鎖編號(hào)和本機(jī)DUT編號(hào);當(dāng)從數(shù)據(jù)通道接收到主動(dòng)鎖定通知,則記錄所述主動(dòng)鎖定通知中的全局所編號(hào)、本機(jī)DUT編號(hào)和DUT列表;
[0116]所述判斷單元430,可以具體用于根據(jù)所述DUT列表和所述全局鎖編號(hào),判斷是否接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知。
[0117]請(qǐng)一并參閱圖5,圖5為本發(fā)明實(shí)施例提供的另一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖,在圖4所示實(shí)施例的基礎(chǔ)上,圖5所示的自動(dòng)化測(cè)試裝置中,所述發(fā)送單元410可以包括:
[0118]第一發(fā)送子單元411,用于根據(jù)主動(dòng)鎖定通知中的本機(jī)DUT編號(hào),通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本;
[0119]接收子單元412,用于接收該目標(biāo)DUT發(fā)送的解鎖確認(rèn)通知;
[0120]第二發(fā)送子單元413,用于當(dāng)所述接收子單元接收到該目標(biāo)DUT發(fā)送的解鎖確認(rèn)通知時(shí),根據(jù)該解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本。
[0121]在可選實(shí)施例中,所述數(shù)據(jù)通道為文件傳輸協(xié)議FTP通道或簡(jiǎn)單文件傳輸協(xié)議TFTP通道,所述狀態(tài)鎖定通知和所述解鎖通知為將文件名作為通知內(nèi)容的文件。
[0122]請(qǐng)參見(jiàn)圖6,為本發(fā)明實(shí)施例提供一種自動(dòng)化測(cè)試裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于目標(biāo)DUT,如圖6所示,該裝置可以包括:
[0123]接收單元610,用于通過(guò)控制通道接收?qǐng)?zhí)行機(jī)發(fā)送的測(cè)試命令;
[0124]執(zhí)行單元620,用于當(dāng)所述接收單元610通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道;
[0125]發(fā)送單元630,用于當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行;
[0126]所述執(zhí)行單元620,還用于當(dāng)所述接收單元610接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本;
[0127]所述發(fā)送單元630,還用于當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。
[0128]在可選實(shí)施例中,所述狀態(tài)鎖定通知為被動(dòng)鎖定通知或主動(dòng)鎖定通知,其中,所述被動(dòng)鎖定通知中包含全局鎖編號(hào)和本機(jī)DUT編號(hào),所述主動(dòng)鎖定通知中包含全局鎖編號(hào)、本機(jī)DUT編號(hào)和DUT列表。
[0129]在可選實(shí)施例中,所述發(fā)送單元630,還可以用于當(dāng)所述接收單元610接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的主動(dòng)鎖定解鎖通知時(shí),向所述執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,以使所述執(zhí)行機(jī)根據(jù)所述解鎖確認(rèn)通知中DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送被動(dòng)鎖解鎖通知。
[0130]在可選實(shí)施例中,所述數(shù)據(jù)通道為文件傳輸協(xié)議FTP通道或簡(jiǎn)單文件傳輸協(xié)議TFTP通道,所述狀態(tài)鎖定通知、所述解鎖通知為將文件名作為通知內(nèi)容的文件。
[0131]上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
[0132]對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
[0133]由上述實(shí)施例可見(jiàn),目標(biāo)DUT在執(zhí)行測(cè)試腳本的過(guò)程中,當(dāng)需要暫停執(zhí)行測(cè)試腳本時(shí),通過(guò)數(shù)據(jù)通道向執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,以保證全局運(yùn)行結(jié)果檢查的準(zhǔn)確性,進(jìn)而實(shí)現(xiàn)了測(cè)試腳本在設(shè)備上的分布式執(zhí)行,提高了網(wǎng)絡(luò)設(shè)備自動(dòng)化測(cè)試的效率。
[0134]本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
[0135]應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。
【主權(quán)項(xiàng)】
1.一種自動(dòng)化測(cè)試方法,應(yīng)用于測(cè)試系統(tǒng)中的執(zhí)行機(jī),所述測(cè)試系統(tǒng)包括至少兩臺(tái)目標(biāo)被測(cè)設(shè)備DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,其特征在于,所述方法包括: 通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道; 對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng); 判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行; 若是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本; 獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng),包括: 當(dāng)從數(shù)據(jù)通道接收到被動(dòng)鎖定通知時(shí),則記錄所述被動(dòng)鎖定通知中的全局鎖編號(hào)和本機(jī)DUT編號(hào); 當(dāng)從數(shù)據(jù)通道接收到主動(dòng)鎖定通知,則記錄所述主動(dòng)鎖定通知中的全局鎖編號(hào)、本機(jī)DUT編號(hào)和DUT列表; 所述判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,具體為:根據(jù)所述DUT列表和所述全局鎖編號(hào),判斷是否接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,包括: 根據(jù)主動(dòng)鎖定通知中的本機(jī)DUT編號(hào),通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本; 當(dāng)接收到該目標(biāo)DUT發(fā)送的解鎖確認(rèn)通知后,根據(jù)該解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)通道為文件傳輸協(xié)議FTP通道或簡(jiǎn)單文件傳輸協(xié)議TFTP通道,所述狀態(tài)鎖定通知和所述解鎖通知為將文件名作為通知內(nèi)容的文件。5.—種自動(dòng)化測(cè)試方法,應(yīng)用于測(cè)試系統(tǒng)中的目標(biāo)被測(cè)試設(shè)備DUT,所述測(cè)試系統(tǒng)包括執(zhí)行機(jī)以及至少兩臺(tái)所述目標(biāo)DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,其特征在于,所述方法包括: 當(dāng)通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道; 當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行; 當(dāng)接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本; 當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述狀態(tài)鎖定通知為被動(dòng)鎖定通知或主動(dòng)鎖定通知,其中,所述被動(dòng)鎖定通知中包含全局鎖編號(hào)和本機(jī)DUT編號(hào),所述主動(dòng)鎖定通知中包含全局鎖編號(hào)、本機(jī)DUT編號(hào)和DUT列表。7.根據(jù)權(quán)利要求5所述的方法,其特征在于,當(dāng)所述解鎖通知為主動(dòng)鎖定解鎖通知時(shí),所述接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知之后,還包括: 向所述執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,以使所述執(zhí)行機(jī)根據(jù)所述解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知。8.—種自動(dòng)化測(cè)試裝置,應(yīng)用于測(cè)試系統(tǒng)中的執(zhí)行機(jī),所述測(cè)試系統(tǒng)包括至少兩臺(tái)目標(biāo)被測(cè)設(shè)備DUT,所述執(zhí)行機(jī)和各臺(tái)所述目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,其特征在于,所述裝置包括: 發(fā)送單元,用于通過(guò)控制通道向目標(biāo)DUT發(fā)送測(cè)試命令,以使目標(biāo)DUT執(zhí)行本地的測(cè)試腳本,并阻塞目標(biāo)DUT和執(zhí)行機(jī)之間的控制通道; 監(jiān)聽(tīng)單元,用于對(duì)各數(shù)據(jù)通道進(jìn)行監(jiān)聽(tīng); 判斷單元,用于判斷是否從數(shù)據(jù)通道接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行; 所述發(fā)送單元,還用于若所述判斷單元判斷為是,則通過(guò)相應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使目標(biāo)DUT繼續(xù)執(zhí)行測(cè)試腳本; 獲取單元,用于獲取執(zhí)行完成的測(cè)試腳本的運(yùn)行結(jié)果。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述監(jiān)聽(tīng)單元,具體用于當(dāng)從數(shù)據(jù)通道接收到被動(dòng)鎖定通知時(shí),則記錄所述被動(dòng)鎖定通知中的全局鎖編號(hào)和本機(jī)DUT編號(hào);當(dāng)從數(shù)據(jù)通道接收到主動(dòng)鎖定通知,則記錄所述主動(dòng)鎖定通知中的全局所編號(hào)、本機(jī)DUT編號(hào)和DUT列表; 所述判斷單元,具體用于根據(jù)所述DUT列表和所述全局鎖編號(hào),判斷是否接收到所述至少兩臺(tái)目標(biāo)DUT發(fā)送的狀態(tài)鎖定通知。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述發(fā)送單元包括: 第一發(fā)送子單元,用于根據(jù)主動(dòng)鎖定通知中的本機(jī)DUT編號(hào),通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本; 接收子單元,用于接收該目標(biāo)DUT發(fā)送的解鎖確認(rèn)通知; 第二發(fā)送子單元,用于當(dāng)所述接收子單元接收到該目標(biāo)DUT發(fā)送的解鎖確認(rèn)通知時(shí),根據(jù)該解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送解鎖通知,以使該目標(biāo)DUT接收到該解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本。11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)通道為文件傳輸協(xié)議FTP通道或簡(jiǎn)單文件傳輸協(xié)議TFTP通道,所述狀態(tài)鎖定通知和所述解鎖通知為將文件名作為通知內(nèi)容的文件。12.—種自動(dòng)化測(cè)試裝置,應(yīng)用于測(cè)試系統(tǒng)中的目標(biāo)被測(cè)試設(shè)備DUT,所述測(cè)試系統(tǒng)包括執(zhí)行機(jī)以及至少兩臺(tái)所述目標(biāo)DUT,所述執(zhí)行機(jī)和各目標(biāo)DUT之間建立有控制通道和數(shù)據(jù)通道,其特征在于,所述裝置包括: 接收單元,用于通過(guò)控制通道接收?qǐng)?zhí)行機(jī)發(fā)送的測(cè)試命令; 執(zhí)行單元,用于當(dāng)所述接收單元通過(guò)控制通道接收到執(zhí)行機(jī)發(fā)送的測(cè)試命令時(shí),執(zhí)行本地的測(cè)試腳本,并阻塞自身與執(zhí)行機(jī)之間的控制通道; 發(fā)送單元,用于當(dāng)需要暫停測(cè)試腳本的執(zhí)行時(shí),通過(guò)數(shù)據(jù)通道向所述執(zhí)行機(jī)發(fā)送狀態(tài)鎖定通知,所述狀態(tài)鎖定通知用于告知執(zhí)行機(jī)相對(duì)應(yīng)的目標(biāo)DUT暫停測(cè)試腳本的執(zhí)行; 所述執(zhí)行單元,還用于當(dāng)所述接收單元接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的解鎖通知時(shí),繼續(xù)執(zhí)行測(cè)試腳本; 所述發(fā)送單元,還用于當(dāng)測(cè)試腳本執(zhí)行完成時(shí),上報(bào)測(cè)試腳本運(yùn)行結(jié)果。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述狀態(tài)鎖定通知為被動(dòng)鎖定通知或主動(dòng)鎖定通知,其中,所述被動(dòng)鎖定通知中包含全局鎖編號(hào)和本機(jī)DUT編號(hào),所述主動(dòng)鎖定通知中包含全局鎖編號(hào)、本機(jī)DUT編號(hào)和DUT列表。14.根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述發(fā)送單元,還用于當(dāng)所述接收單元接收到所述執(zhí)行機(jī)通過(guò)數(shù)據(jù)通道發(fā)送的主動(dòng)鎖定解鎖通知時(shí),向所述執(zhí)行機(jī)發(fā)送解鎖確認(rèn)通知,以使所述執(zhí)行機(jī)根據(jù)所述解鎖確認(rèn)通知中的DUT列表,通過(guò)對(duì)應(yīng)的數(shù)據(jù)通道向目標(biāo)DUT發(fā)送被動(dòng)鎖解鎖通知。
【文檔編號(hào)】G06F11/36GK105893252SQ201610187060
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月28日
【發(fā)明人】蔣茂勇, 吳頻
【申請(qǐng)人】杭州華三通信技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1