本發(fā)明涉及BMC測(cè)試技術(shù)領(lǐng)域,特別涉及一種BMC自動(dòng)測(cè)試系統(tǒng)及方法。
背景技術(shù):
BMC(即Baseboard Management Controller,基板管理控制器)是服務(wù)器用來(lái)監(jiān)控內(nèi)部物理變量的固件,它是IPMI(即Intelligent Platform Management Interface,智能平臺(tái)管理接口)的一部分,常被設(shè)計(jì)在服務(wù)器或者計(jì)算機(jī)的主板上。BMC的傳感器測(cè)量服務(wù)器內(nèi)部的物理變量,比如溫度、濕度、供電電壓、風(fēng)扇轉(zhuǎn)速、操作系統(tǒng)的功能等,如果某個(gè)測(cè)量變量超出了規(guī)定的值,將通知系統(tǒng)管理員。
由于BMC在服務(wù)器中作用重大,所以企業(yè)驗(yàn)證BMC是否符合設(shè)計(jì)需求是必須的。服務(wù)器廠商根據(jù)市場(chǎng)需求不同一般會(huì)開(kāi)發(fā)不同的服務(wù)器平臺(tái),不同服務(wù)器類型的BMC固件也存在一定的差異。固件開(kāi)發(fā)者每隔一段時(shí)間會(huì)在之前的固件版本上開(kāi)發(fā)一個(gè)新的版本,每版BMC都需要經(jīng)過(guò)測(cè)試驗(yàn)證。
然而,現(xiàn)有的對(duì)BMC固件進(jìn)行測(cè)試驗(yàn)證時(shí),通常需要對(duì)服務(wù)器中的某些硬件進(jìn)行手工測(cè)試,例如在測(cè)試中需要對(duì)板卡進(jìn)行插拔或查看LED燈的顏色等。這樣需要耗費(fèi)大量的人力成本,尤其是對(duì)于BMC這種時(shí)常需要迭代更新的固件來(lái)說(shuō),現(xiàn)有的BMC固件測(cè)試方式需要消耗大量的人力成本,測(cè)試效率較低。
綜上所述可以看出,如何降低BMC固件測(cè)試過(guò)程中的人力成本,以及提高測(cè)試效率是目前有待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種BMC自動(dòng)測(cè)試系統(tǒng)及方法,降低了BMC固件測(cè)試過(guò)程中的人力成本,并提高了測(cè)試效率。其具體方案如下:
一種BMC自動(dòng)測(cè)試系統(tǒng),包括:
測(cè)試對(duì)象確定模塊,用于確定待測(cè)試BMC固件;
硬件抽象模塊,用于對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,得到相應(yīng)的類文件;其中,所述目標(biāo)服務(wù)器為當(dāng)前能夠運(yùn)行所述待測(cè)試BMC固件的服務(wù)器;
腳本生成模塊,用于利用所述硬件抽象模塊得到的類文件,生成相應(yīng)的測(cè)試用例腳本;
文件解析模塊,用于對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到所述測(cè)試用例腳本所需的基礎(chǔ)數(shù)據(jù)文件;
測(cè)試執(zhí)行模塊,用于在所述目標(biāo)服務(wù)器上,利用所述測(cè)試用例腳本和所述基礎(chǔ)數(shù)據(jù)文件,對(duì)所述待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
優(yōu)選的,所述硬件抽象模塊,具體用于將所述目標(biāo)服務(wù)器中的每個(gè)硬件所對(duì)應(yīng)的測(cè)試步驟封裝成類方法,得到相應(yīng)的類文件集合;
其中,所述類文件集合中的每一類文件與所述目標(biāo)服務(wù)器中的每個(gè)硬件之間呈一一對(duì)應(yīng)關(guān)系。
優(yōu)選的,所述腳本生成模塊包括:
測(cè)試計(jì)劃確定單元,用于確定與所述待測(cè)試BMC固件相關(guān)的測(cè)試計(jì)劃;
類文件提取單元,用于從所述類文件集合中提取出與所述測(cè)試計(jì)劃相對(duì)應(yīng)的類文件;
腳本生成單元,用于將所述類文件提取單元所提取到的類文件組裝成相應(yīng)的測(cè)試用例腳本。
優(yōu)選的,所述BMC自動(dòng)測(cè)試系統(tǒng),還包括:
文件配置模塊,用于創(chuàng)建系統(tǒng)配置文件、公共配置文件和用例配置文件,得到所述預(yù)設(shè)配置文件;
其中,所述系統(tǒng)配置文件包括所述待測(cè)試BMC固件的版本信息、所述目標(biāo)服務(wù)器的標(biāo)識(shí)信息以及所述測(cè)試用例腳本的標(biāo)識(shí)信息;所述公共配置文件包括在對(duì)所述待測(cè)試BMC固件進(jìn)行測(cè)試的過(guò)程中所需的與所述目標(biāo)服務(wù)器相關(guān)的常量數(shù)據(jù),所述常量數(shù)據(jù)包括IPMI指令和IPMI返回值;所述用例配置文件包括所述測(cè)試用例腳本所需的測(cè)試數(shù)據(jù)。
優(yōu)選的,所述測(cè)試執(zhí)行模塊,包括:
腳本排列子模塊,用于按照添加時(shí)間的先后順序,將所述測(cè)試用例腳本添加到預(yù)設(shè)測(cè)試隊(duì)列的相應(yīng)隊(duì)列位置上;
測(cè)試管理子模塊,用于對(duì)所述預(yù)設(shè)測(cè)試隊(duì)列進(jìn)行實(shí)時(shí)地更新管理;
測(cè)試執(zhí)行子模塊,用于當(dāng)所述測(cè)試用例腳本處于所述預(yù)設(shè)測(cè)試隊(duì)列的頭部,則在所述目標(biāo)服務(wù)器上,利用所述測(cè)試用例腳本和所述基礎(chǔ)數(shù)據(jù)文件,對(duì)所述待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
優(yōu)選的,所述測(cè)試執(zhí)行子模塊包括BMC通信單元和測(cè)試執(zhí)行單元;其中,
所述BMC通信單元,用于嘗試搭建所述測(cè)試執(zhí)行單元和所述待測(cè)試BMC固件之間的訪問(wèn)通道;
所述測(cè)試執(zhí)行單元,用于當(dāng)所述測(cè)試用例腳本處于所述預(yù)設(shè)測(cè)試隊(duì)列的頭部,并且當(dāng)所述BMC通信單元成功搭建所述訪問(wèn)通道后,在所述目標(biāo)服務(wù)器上,利用所述測(cè)試用例腳本和所述基礎(chǔ)數(shù)據(jù)文件,對(duì)所述待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
優(yōu)選的,所述BMC通信單元,具體用于通過(guò)預(yù)設(shè)通信接口,嘗試搭建所述測(cè)試執(zhí)行單元和所述待測(cè)試BMC固件之間的訪問(wèn)通道,如果連續(xù)N次均無(wú)法成功搭建所述訪問(wèn)通道,則判定通道搭建失敗,其中,N為不小于3的整數(shù)。
優(yōu)選的,所述BMC通信單元,具體用于依次從預(yù)設(shè)接口池中選取出一個(gè)接口,并通過(guò)該接口,嘗試搭建所述測(cè)試執(zhí)行單元和所述待測(cè)試BMC固件之間的訪問(wèn)通道,如果均無(wú)法通過(guò)所述預(yù)設(shè)接口池中的接口搭建所述訪問(wèn)通道,則判定通道搭建失??;其中,所述預(yù)設(shè)接口池包括至少兩個(gè)接口。
優(yōu)選的,所述測(cè)試對(duì)象確定模塊包括:
固件監(jiān)視單元,用于對(duì)預(yù)設(shè)BMC固件庫(kù)中的所有BMC固件進(jìn)行監(jiān)視,以監(jiān)視所述預(yù)設(shè)BMC固件庫(kù)中是否出現(xiàn)新的BMC固件;
對(duì)象確定單元,用于當(dāng)所述固件監(jiān)視單元監(jiān)視到所述預(yù)設(shè)BMC固件庫(kù)中出現(xiàn)新的BMC固件,則將該BMC固件確定為所述待測(cè)試BMC固件。
本發(fā)明還公開(kāi)了一種BMC自動(dòng)測(cè)試方法,包括:
確定待測(cè)試BMC固件;
對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,得到相應(yīng)的類文件;其中,所述目標(biāo)服務(wù)器為當(dāng)前能夠運(yùn)行所述待測(cè)試BMC固件的服務(wù)器;
利用所述抽象化處理得到的類文件,生成相應(yīng)的測(cè)試用例腳本;
對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到所述測(cè)試用例腳本所需的基礎(chǔ)數(shù)據(jù)文件;
在所述目標(biāo)服務(wù)器上,利用所述測(cè)試用例腳本和所述基礎(chǔ)數(shù)據(jù)文件,對(duì)所述待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
本發(fā)明中,BMC自動(dòng)測(cè)試系統(tǒng),包括:測(cè)試對(duì)象確定模塊,用于確定待測(cè)試BMC固件;硬件抽象模塊,用于對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,得到相應(yīng)的類文件;其中,目標(biāo)服務(wù)器為當(dāng)前能夠運(yùn)行待測(cè)試BMC固件的服務(wù)器;腳本生成模塊,用于利用硬件抽象模塊得到的類文件,生成相應(yīng)的測(cè)試用例腳本;文件解析模塊,用于對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到測(cè)試用例腳本所需的基礎(chǔ)數(shù)據(jù)文件;測(cè)試執(zhí)行模塊,用于在目標(biāo)服務(wù)器上,利用測(cè)試用例腳本和基礎(chǔ)數(shù)據(jù)文件,對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。本發(fā)明中,利用硬件抽象模塊對(duì)服務(wù)器中的硬件進(jìn)行抽象化處理,得到了相應(yīng)的類文件;然后利用這些類文件,生成相應(yīng)的測(cè)試用例腳本,接著在服務(wù)器上,利用上述測(cè)試用例腳本,并結(jié)合相應(yīng)的基礎(chǔ)數(shù)據(jù)文件,來(lái)對(duì)相應(yīng)的BMC固件進(jìn)行測(cè)試。由于本發(fā)明將服務(wù)器中的硬件進(jìn)行了抽象化處理,得到了相應(yīng)的類文件,而后續(xù)生成的測(cè)試用例腳本正是基于這些類文件生成的,這樣能夠使得本發(fā)明可以利用上述測(cè)試用例腳本對(duì)服務(wù)器中的硬件進(jìn)行自動(dòng)化測(cè)試,從而避免了現(xiàn)有技術(shù)中的人工測(cè)試的情況,可見(jiàn),本發(fā)明降低了BMC固件測(cè)試過(guò)程中的人力成本,并提高了測(cè)試效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例公開(kāi)的一種BMC自動(dòng)測(cè)試系統(tǒng)結(jié)構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例公開(kāi)的一種BMC自動(dòng)測(cè)試方法流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例公開(kāi)了一種BMC自動(dòng)測(cè)試系統(tǒng),參見(jiàn)圖1所示,該系統(tǒng)包括:
測(cè)試對(duì)象確定模塊11,用于確定待測(cè)試BMC固件;
硬件抽象模塊12,用于對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,得到相應(yīng)的類文件;其中,目標(biāo)服務(wù)器為當(dāng)前能夠運(yùn)行待測(cè)試BMC固件的服務(wù)器;
腳本生成模塊13,用于利用硬件抽象模塊12得到的類文件,生成相應(yīng)的測(cè)試用例腳本;
文件解析模塊14,用于對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到測(cè)試用例腳本所需的基礎(chǔ)數(shù)據(jù)文件;
測(cè)試執(zhí)行模塊15,用于在目標(biāo)服務(wù)器上,利用測(cè)試用例腳本和基礎(chǔ)數(shù)據(jù)文件,對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
可以理解的是,上述預(yù)設(shè)配置文件中包含了上述基礎(chǔ)數(shù)據(jù)文件,通過(guò)上述文件解析模塊14,可以將上述預(yù)設(shè)配置文件中的基礎(chǔ)數(shù)據(jù)文件解析出來(lái)。
本發(fā)明實(shí)施例中,利用硬件抽象模塊對(duì)服務(wù)器中的硬件進(jìn)行抽象化處理,得到了相應(yīng)的類文件;然后利用這些類文件,生成相應(yīng)的測(cè)試用例腳本,接著在服務(wù)器上,利用上述測(cè)試用例腳本,并結(jié)合相應(yīng)的基礎(chǔ)數(shù)據(jù)文件,來(lái)對(duì)相應(yīng)的BMC固件進(jìn)行測(cè)試。由于本發(fā)明實(shí)施例將服務(wù)器中的硬件進(jìn)行了抽象化處理,得到了相應(yīng)的類文件,而后續(xù)生成的測(cè)試用例腳本正是基于這些類文件生成的,這樣能夠使得本發(fā)明實(shí)施例可以利用上述測(cè)試用例腳本對(duì)服務(wù)器中的硬件進(jìn)行自動(dòng)化測(cè)試,從而避免了現(xiàn)有技術(shù)中的人工測(cè)試的情況,可見(jiàn),本發(fā)明實(shí)施例降低了BMC固件測(cè)試過(guò)程中的人力成本,并提高了測(cè)試效率。
本發(fā)明實(shí)施例公開(kāi)了一種具體的BMC自動(dòng)測(cè)試系統(tǒng),相對(duì)于上一實(shí)施例,本實(shí)施例對(duì)技術(shù)方案作了進(jìn)一步的說(shuō)明和優(yōu)化。具體的:
上一實(shí)施例中,可利用硬件抽象模塊對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,從而得到相應(yīng)的類文件。通過(guò)利用上述類文件,腳本生成模塊能夠生成相應(yīng)的測(cè)試用例腳本。
其中,上述硬件抽象模塊,具體可以用于將目標(biāo)服務(wù)器中的每個(gè)硬件所對(duì)應(yīng)的測(cè)試步驟封裝成類方法,得到相應(yīng)的類文件集合;其中,上述類文件集合中的每一類文件與目標(biāo)服務(wù)器中的每個(gè)硬件之間呈一一對(duì)應(yīng)關(guān)系。
也即,本實(shí)施例可以利用上述硬件抽象模塊,對(duì)目標(biāo)服務(wù)器中的所有硬件各自所對(duì)應(yīng)的測(cè)試步驟封裝成相應(yīng)的類方法,從而得到上述類文件集合。
相應(yīng)的,上述腳本生成模塊具體可以包括測(cè)試計(jì)劃確定單元、類文件提取單元和腳本生成單元;其中,
測(cè)試計(jì)劃確定單元,用于確定與待測(cè)試BMC固件相關(guān)的測(cè)試計(jì)劃;
類文件提取單元,用于從類文件集合中提取出與測(cè)試計(jì)劃相對(duì)應(yīng)的類文件;
腳本生成單元,用于將類文件提取單元所提取到的類文件組裝成相應(yīng)的測(cè)試用例腳本。
可以理解的是,上述與待測(cè)試BMC固件相關(guān)的測(cè)試計(jì)劃中詳細(xì)記錄了需要對(duì)哪些項(xiàng)目進(jìn)行測(cè)試。根據(jù)上述測(cè)試計(jì)劃中記錄的測(cè)試項(xiàng)目,上述類文件提取單元便可從上述類文件集合中提取出相應(yīng)的類文件。然后利用上述腳本生成單元將上述提取出來(lái)的類文件組裝成相應(yīng)的測(cè)試用例腳本。
由上可知,本發(fā)明可以先利用硬件抽象模塊將目標(biāo)服務(wù)器中的所有硬件進(jìn)行抽象化處理,然后上述腳本生成模塊便可以從上述類文件集合中提取出相應(yīng)的類文件來(lái)生成相應(yīng)的測(cè)試用例腳本。當(dāng)然,本實(shí)施例中也可以先利用上述測(cè)試計(jì)劃確定單元確定出與待測(cè)試BMC固件對(duì)應(yīng)的測(cè)試計(jì)劃,然后利用上述硬件抽象模塊將目標(biāo)服務(wù)器中與上述測(cè)試計(jì)劃對(duì)應(yīng)的硬件進(jìn)行抽象化處理,進(jìn)而利用上述腳本生成單元將上述硬件抽象模塊生成的所有類文件組裝成相應(yīng)的測(cè)試用例腳本。
上一實(shí)施例中,需要利用文件解析模塊,對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到上述測(cè)試用例腳本對(duì)應(yīng)的基礎(chǔ)數(shù)據(jù)文件。
可以理解的是,上述預(yù)設(shè)配置文件可以由用戶直接導(dǎo)入,也可以利用本實(shí)施例中的BMC自動(dòng)測(cè)試系統(tǒng)來(lái)生成,也即,本實(shí)施例中的BMC自動(dòng)測(cè)試系統(tǒng),還可以進(jìn)一步包括:
文件配置模塊,用于創(chuàng)建系統(tǒng)配置文件、公共配置文件和用例配置文件,得到預(yù)設(shè)配置文件;
其中,系統(tǒng)配置文件包括待測(cè)試BMC固件的版本信息、目標(biāo)服務(wù)器的標(biāo)識(shí)信息以及測(cè)試用例腳本的標(biāo)識(shí)信息;公共配置文件包括在對(duì)待測(cè)試BMC固件進(jìn)行測(cè)試的過(guò)程中所需的與目標(biāo)服務(wù)器相關(guān)的常量數(shù)據(jù),常量數(shù)據(jù)包括IPMI指令和IPMI返回值;用例配置文件包括測(cè)試用例腳本所需的測(cè)試數(shù)據(jù)。由此可知,本實(shí)施例中,與上述測(cè)試用例腳本對(duì)應(yīng)的基礎(chǔ)數(shù)據(jù)文件包括待測(cè)試BMC固件的版本信息、目標(biāo)服務(wù)器的標(biāo)識(shí)信息、測(cè)試用例腳本的標(biāo)識(shí)信息、IPMI指令、IPMI返回值和相應(yīng)的測(cè)試數(shù)據(jù)。
上一實(shí)施例中,在得到測(cè)試用例腳本以及相應(yīng)的基礎(chǔ)數(shù)據(jù)文件后,需利用測(cè)試執(zhí)行模塊,在目標(biāo)服務(wù)器上對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。本實(shí)施例中,上述測(cè)試執(zhí)行模塊,具體包括腳本排列子模塊、測(cè)試管理子模塊以及測(cè)試執(zhí)行子模塊;其中,
腳本排列子模塊,用于按照添加時(shí)間的先后順序,將測(cè)試用例腳本添加到預(yù)設(shè)測(cè)試隊(duì)列的相應(yīng)隊(duì)列位置上;
測(cè)試管理子模塊,用于對(duì)預(yù)設(shè)測(cè)試隊(duì)列進(jìn)行實(shí)時(shí)地更新管理;
測(cè)試執(zhí)行子模塊,用于當(dāng)上述腳本生成模塊生成的測(cè)試用例腳本處于預(yù)設(shè)測(cè)試隊(duì)列的頭部,則在目標(biāo)服務(wù)器上,利用上述測(cè)試用例腳本和基礎(chǔ)數(shù)據(jù)文件,對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
可以理解的是,上述測(cè)試管理子模塊具體是根據(jù)測(cè)試執(zhí)行子模塊的執(zhí)行情況來(lái)對(duì)預(yù)設(shè)測(cè)試隊(duì)列進(jìn)行實(shí)時(shí)更新的,也即,當(dāng)上述測(cè)試執(zhí)行子模塊對(duì)預(yù)設(shè)測(cè)試隊(duì)列中的A腳本執(zhí)行完相應(yīng)的測(cè)試后,便將上述預(yù)設(shè)測(cè)試隊(duì)列中的相應(yīng)信息進(jìn)行刪除,以實(shí)現(xiàn)對(duì)預(yù)設(shè)測(cè)試隊(duì)列的實(shí)時(shí)更新。由此可知,上述預(yù)設(shè)測(cè)試隊(duì)列中所保存的測(cè)試用例腳本均是還未完成測(cè)試的腳本,當(dāng)上述預(yù)設(shè)測(cè)試隊(duì)列中的某一腳本測(cè)試完畢后,將會(huì)對(duì)該隊(duì)列中的相應(yīng)信息進(jìn)行刪除處理。
更具體的,上述測(cè)試執(zhí)行子模塊包括BMC通信單元和測(cè)試執(zhí)行單元;其中,
BMC通信單元,用于嘗試搭建測(cè)試執(zhí)行單元和待測(cè)試BMC固件之間的訪問(wèn)通道;
測(cè)試執(zhí)行單元,用于當(dāng)上述腳本生成模塊生成的測(cè)試用例腳本處于預(yù)設(shè)測(cè)試隊(duì)列的頭部,并且當(dāng)BMC通信單元成功搭建訪問(wèn)通道后,在目標(biāo)服務(wù)器上,利用測(cè)試用例腳本和基礎(chǔ)數(shù)據(jù)文件,對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
其中,上述BMC通信單元,具體可以用于通過(guò)預(yù)設(shè)通信接口,嘗試搭建測(cè)試執(zhí)行單元和待測(cè)試BMC固件之間的訪問(wèn)通道,如果連續(xù)N次均無(wú)法成功搭建訪問(wèn)通道,則判定通道搭建失敗,其中,N為不小于3的整數(shù)。
也即,本實(shí)施例可以利用一個(gè)通信接口,嘗試搭建上述測(cè)試執(zhí)行單元和待測(cè)試BMC固件之間的訪問(wèn)通道,如果連續(xù)N次均無(wú)法成功搭建,則判定通道搭建失敗,此時(shí)將不再嘗試搭建通道。可以理解的是,上述預(yù)設(shè)通信接口是上述測(cè)試執(zhí)行單元與上述待測(cè)試BMC固件之間進(jìn)行交互的API(即Application Programming Interface,應(yīng)用程序編程接口)。
當(dāng)然,本實(shí)施例中的BMC通信單元也可以通過(guò)其他方式來(lái)嘗試搭建上述測(cè)試執(zhí)行單元和上述待測(cè)試BMC固件之間的訪問(wèn)通道,具體的,本實(shí)施例中的BMC通信單元,也可以用于依次從預(yù)設(shè)接口池中選取出一個(gè)接口,并通過(guò)該接口,嘗試搭建測(cè)試執(zhí)行單元和待測(cè)試BMC固件之間的訪問(wèn)通道,如果均無(wú)法通過(guò)預(yù)設(shè)接口池中的接口搭建訪問(wèn)通道,則判定通道搭建失?。黄渲?,預(yù)設(shè)接口池包括至少兩個(gè)接口。
上一實(shí)施例中,測(cè)試對(duì)象確定模塊可以用于確定待測(cè)試BMC固件。具體的,上述測(cè)試對(duì)象確定模塊可以包括固件監(jiān)視單元和對(duì)象確定單元;其中,
固件監(jiān)視單元,用于對(duì)預(yù)設(shè)BMC固件庫(kù)中的所有BMC固件進(jìn)行監(jiān)視,以監(jiān)視預(yù)設(shè)BMC固件庫(kù)中是否出現(xiàn)新的BMC固件;
對(duì)象確定單元,用于當(dāng)固件監(jiān)視單元監(jiān)視到預(yù)設(shè)BMC固件庫(kù)中出現(xiàn)新的BMC固件,則將該BMC固件確定為待測(cè)試BMC固件。
可以理解的是,上述固件監(jiān)視單元具體可以通過(guò)監(jiān)視固件自身的版本號(hào)來(lái)判定上述預(yù)設(shè)BMC固件庫(kù)中是否出現(xiàn)了新的BMC固件,如果監(jiān)視到上述預(yù)設(shè)BMC固件庫(kù)中出現(xiàn)了新的BMC固件,則將該BMC固件確定為本實(shí)施例中的待測(cè)試BMC固件。也即,本發(fā)明實(shí)施例中,一旦監(jiān)視到出現(xiàn)了新的BMC固件,則會(huì)自動(dòng)對(duì)該BMC固件展開(kāi)后續(xù)的測(cè)試工作,從而可以進(jìn)一步降低固件測(cè)試過(guò)程中的人力成本。
相應(yīng)的,本發(fā)明實(shí)施例還公開(kāi)了一種BMC自動(dòng)測(cè)試方法,參見(jiàn)圖2所示,該方法包括:
步驟S21:確定待測(cè)試BMC固件;
步驟S22:對(duì)目標(biāo)服務(wù)器中的硬件進(jìn)行抽象化處理,得到相應(yīng)的類文件;其中,目標(biāo)服務(wù)器為當(dāng)前能夠運(yùn)行待測(cè)試BMC固件的服務(wù)器;
步驟S23:利用抽象化處理得到的類文件,生成相應(yīng)的測(cè)試用例腳本;
步驟S24:對(duì)預(yù)設(shè)配置文件進(jìn)行解析,得到測(cè)試用例腳本所需的基礎(chǔ)數(shù)據(jù)文件;
步驟S25:在目標(biāo)服務(wù)器上,利用測(cè)試用例腳本和基礎(chǔ)數(shù)據(jù)文件,對(duì)待測(cè)試BMC固件進(jìn)行相應(yīng)地測(cè)試。
關(guān)于上述各個(gè)步驟更加詳細(xì)的過(guò)程可以參考前述實(shí)施例中公開(kāi)的相關(guān)內(nèi)容,在此不再進(jìn)行贅述。
本發(fā)明實(shí)施例中,對(duì)服務(wù)器中的硬件進(jìn)行抽象化處理,得到了相應(yīng)的類文件;然后利用這些類文件,生成相應(yīng)的測(cè)試用例腳本,接著在服務(wù)器上,利用上述測(cè)試用例腳本,并結(jié)合相應(yīng)的基礎(chǔ)數(shù)據(jù)文件,來(lái)對(duì)相應(yīng)的BMC固件進(jìn)行測(cè)試。由于本發(fā)明實(shí)施例將服務(wù)器中的硬件進(jìn)行了抽象化處理,得到了相應(yīng)的類文件,而后續(xù)生成的測(cè)試用例腳本正是基于這些類文件生成的,這樣能夠使得本發(fā)明實(shí)施例可以利用上述測(cè)試用例腳本對(duì)服務(wù)器中的硬件進(jìn)行自動(dòng)化測(cè)試,從而避免了現(xiàn)有技術(shù)中的人工測(cè)試的情況,可見(jiàn),本發(fā)明實(shí)施例降低了BMC固件測(cè)試過(guò)程中的人力成本,并提高了測(cè)試效率。
最后,還需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上對(duì)本發(fā)明所提供的一種BMC自動(dòng)測(cè)試系統(tǒng)及方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。