本發(fā)明涉及服務(wù)器測(cè)試領(lǐng)域,具體地說是一種具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法。
背景技術(shù):
在當(dāng)前計(jì)算機(jī)服務(wù)器整機(jī)系統(tǒng)生產(chǎn)中,大都要進(jìn)行fct功能測(cè)試。在當(dāng)前計(jì)算機(jī)uidled工廠大規(guī)模fct功能測(cè)試中,uidled由檢測(cè)操作人員手工判定其功能的完整性。需要由操作人員按uidled按鈕,點(diǎn)亮uidled,肉眼觀察led是否被點(diǎn)亮,確認(rèn)測(cè)試結(jié)果,操作人員的動(dòng)手速度直接影響測(cè)試所需時(shí)間。在以上測(cè)試過程中,對(duì)操作人員的動(dòng)作準(zhǔn)確性依賴程度高,若操作人員不按uidled按鈕,不去觀察led燈是否被點(diǎn)亮,直接確認(rèn)燈已被點(diǎn)亮,就可能導(dǎo)致假測(cè),影響對(duì)產(chǎn)品質(zhì)量的管控。故如何能夠解決當(dāng)前計(jì)算機(jī)服務(wù)器uidled大規(guī)模fct功能測(cè)試時(shí)與操作員交互過多,過重依賴操作員的動(dòng)作準(zhǔn)確程度,測(cè)試時(shí)間長(zhǎng)、準(zhǔn)確率低、缺少防呆手段以及容易產(chǎn)生假測(cè)的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法,來解決當(dāng)前計(jì)算機(jī)服務(wù)器uidled大規(guī)模fct功能測(cè)試時(shí)與操作員交互過多,過重依賴操作員的動(dòng)作準(zhǔn)確程度,測(cè)試時(shí)間長(zhǎng)、準(zhǔn)確率低、缺少防呆手段以及容易產(chǎn)生假測(cè)的問題。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法,該方法包括如下步驟:
(1)、將uidled測(cè)試程序鏡像放在服務(wù)器上,服務(wù)器上電開機(jī)啟動(dòng),引導(dǎo)進(jìn)入測(cè)試程序;
(2)、測(cè)試程序開始自動(dòng)執(zhí)行,隨機(jī)自動(dòng)點(diǎn)亮或關(guān)閉uidled,測(cè)試程序直接讀取uidled硬件狀態(tài)信息;
(3)、操作人員根據(jù)實(shí)際觀測(cè)值輸入測(cè)試結(jié)果;
(4)、將操作人輸入的測(cè)試結(jié)果與通過測(cè)試程序直接讀取uidled硬件狀態(tài)信息結(jié)果進(jìn)行對(duì)比是否相同:
①、若相同,則uidled測(cè)試通過;
②、若不相同,則uidled測(cè)試不良。
作為優(yōu)選,所述步驟(1)中的服務(wù)器采用pxe啟動(dòng)服務(wù)器。
作為優(yōu)選,所述步驟(2)中測(cè)試程序使用ipmi協(xié)議自動(dòng)點(diǎn)亮或關(guān)閉uidled。
作為優(yōu)選,所述步驟(2)中測(cè)試程序使用ipmi協(xié)議讀取uidled當(dāng)前狀態(tài)信息。
本發(fā)明的具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法具有以下優(yōu)點(diǎn):
1、本發(fā)明實(shí)現(xiàn)了uidled自動(dòng)點(diǎn)亮,無需操作人員手動(dòng)點(diǎn)亮,降低了操作人員的勞動(dòng)強(qiáng)度,自動(dòng)化程度高,減少了測(cè)試時(shí)間,提高了測(cè)試效率;當(dāng)大規(guī)模測(cè)試產(chǎn)品時(shí),可極大減少測(cè)試時(shí)間,降低測(cè)試成本,提高測(cè)試精準(zhǔn)度;
2、本發(fā)明隨機(jī)點(diǎn)亮或關(guān)閉uidled,測(cè)試過程中所需輸入不固定,操作人員不能靠猜測(cè)輸入規(guī)律的假測(cè),有效避免了假測(cè),增加了防呆機(jī)制;
3、本發(fā)明通過測(cè)試城區(qū)讀取uidled硬件狀態(tài)信息和操作人員實(shí)際觀測(cè)的輸入結(jié)果的雙重檢驗(yàn)機(jī)制,增加了測(cè)試準(zhǔn)確性;
4、本發(fā)明涉及計(jì)算機(jī)uidled工廠大規(guī)模測(cè)試領(lǐng)域,利用bmc控制uidled燈開關(guān)和查詢狀態(tài),實(shí)現(xiàn)計(jì)算機(jī)uidled大規(guī)模生產(chǎn)測(cè)試時(shí)操作簡(jiǎn)單、速度快、節(jié)省測(cè)試時(shí)間以及測(cè)試準(zhǔn)確,使uidled測(cè)試流程簡(jiǎn)單化快捷化。
故本發(fā)明具有設(shè)計(jì)合理、結(jié)構(gòu)簡(jiǎn)單、使用方便、一物多用等特點(diǎn),因而,具有很好的推廣使用價(jià)值。
附圖說明
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說明。
附圖1為具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法的流程框圖。
具體實(shí)施方式
參照說明書附圖和具體實(shí)施例對(duì)本發(fā)明的具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法作以下詳細(xì)地說明。
實(shí)施例:
如附圖1所示,本發(fā)明的具備防呆功能的服務(wù)器uidled燈功能測(cè)試方法,該方法包括如下步驟:
(1)、將uidled測(cè)試程序鏡像放在pxe啟動(dòng)服務(wù)器上,服務(wù)器上電開機(jī)啟動(dòng),引導(dǎo)進(jìn)入測(cè)試程序;
(2)、測(cè)試程序開始自動(dòng)執(zhí)行,隨機(jī)自動(dòng)點(diǎn)亮或關(guān)閉uidled,測(cè)試程序直接讀取uidled硬件狀態(tài)信息;其中,測(cè)試程序使用ipmi協(xié)議自動(dòng)點(diǎn)亮或關(guān)閉uidled,部分代碼示例如下:
ipmicomm*opipmi=ipmicomm::getinstance();
if(null==opipmi)
{
cerr<<”cannotgettheobjectofipmicommandclass”<<endl;
return1;
}
ret=opipmi->initkcs(0x20);
if(0!=ret)
{
cerr<<“initializebmcerror,ret:”<<ret<<endl;
returnret;
}
szcmd[0]=0x00;
szcmd[1]=0x04;
szcmd[2]=0x00;
szcmd[3]=operate;
ret=opipmi->operatecmd(szcmd,4,szrecv,sizeof(szrecv),&recvcount);
returnret;
(3)、操作人員根據(jù)實(shí)際觀測(cè)值輸入測(cè)試結(jié)果;代碼示例如下:
srand(time(null));
unsignedintopt=rand()/2;
updateprogress(0);
nerr=uidoperate(opt);
result=promptmessage(“l(fā)ed-uid”,“istheuidledon”,prompt-yesno);
actled=checkuidstatus();
測(cè)試程序使用ipmi協(xié)議讀取uidled當(dāng)前狀態(tài)信息,部分代碼示例如下:
szcmd[0]=0x00;
szcmd[1]=0x01;
ret=opipmi->operatecmd(szcmd,2,szrecv,sizeof(szrecv),&recvcount);
if(0!=ret)
{
//snprintf(szerrcode,codesize-1,“psuinf0/02d”,errcode-psu-initbmc);
cerr<<“operatecmderror,ret:”<<ret<<endl;
return2;
}
if(szrecv[5]==0x40)
{
return0;
}
if(szrecv[5]==0x60
{
return1
};
(4)、將操作人輸入的測(cè)試結(jié)果與通過測(cè)試程序直接讀取uidled硬件狀態(tài)信息結(jié)果進(jìn)行對(duì)比是否相同:
①、若相同,則uidled測(cè)試通過;
②、若不相同,則uidled測(cè)試不良。
部分代碼示例如下:
result=promptmessage(“l(fā)ed-uid”,“istheuidledoff”,prompt-yesno);
switch(result)
{
casediag-yes:
expled=1;
break;
casediag-no:
expled=0;
break;
default:
expled=2;
break;
}
if(actlced!=expled)
{
reporterror(nerr,-t(“l(fā)eduid01”),-t(“uidledoutofwork”));
return;
}
if(result!=diag-yes)
{
reporterror(nerr,-t(“l(fā)eduid01”),-t(“uidledoutofwork”));
return;
}
updateprogress(100)。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的一種具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。