一種IPMI固件自動化測試系統的製作方法
2023-10-10 14:32:54

本發明公開一種自動化測試系統,涉及ipmi測試領域,具體地說是一種ipmi固件自動化測試系統。
背景技術:
ipmi技術標準隨著其應用日益廣泛,對基於ipmi技術的嵌入式軟體的可靠性要求也越來越高,因此需要對ipmi固件進行非常嚴格的測試。目前已有的ipmi技術功能的測試軟體存在很多局限性,如常見的ipmitool工具,它只是適用於ipmifirmwarelanchannel環境下的測試,並且測試人員需要具備相關的ipmi技術知識;icts(ipmiconformancetestsuite,ipmi一致性測試系統),主要針對的是intel標準、相關ipmi命令集的自動化測試,不支持其他oem廠商的平臺以及相關ipmi特殊功能的測試驗證,並且由於主機和目標機之間可能在作業系統、處理器等很多方面存在區別,這必然會增加ipmifirmware開發和測試的複雜性。而本發明提供一種ipmi固件自動化測試系統,根據嵌入式軟體測試的特點和ipmi技術標準的特點,在不同測試階段,通過分析比較,設計出適合嵌入式軟體的自動測試系統,確定適合在ipmi遠程訪問卡和bmc之間進行軟體自動測試的測試腳本,實現基於ipmi嵌入式系統的自動化測試,滿足ipmifirmware基本功能測試、同步測試、帶外數據命令轉發機制測試、oem命令測試等需求。
技術實現要素:
本發明針對現有技術存在的不足和問題,提供一種ipmi固件自動化測試系統,本發明提出的具體方案是:
一種ipmi固件自動化測試系統,包括控制中心模塊、數據測試處理模塊、解析模塊、遠程訪問卡、bmc;
控制中心模塊,控制其他模塊的正常運轉;
數據測試處理模塊,處理測試信息和數據,以及把命令請求封裝並通過接口傳輸到目標平臺的遠程訪問卡,同時處理所有接口信息和分析處理結果;
遠程訪問卡接收來自接口的命令請求,轉發到bmc對命令進行響應,遠程訪問卡將應答通過接口發送回數據處理模塊;
解析模塊,解析測試腳本的語法規則,語言無誤時,執行測試腳本。
所述控制中心模塊主要包括kfc。
所述數據測試處理模塊主要包括icts。
進行功能測試時,所述數據測試處理模塊發送單條命令來獲取需要的信息。
進行單元測試時,所述數據測試處理模塊在不同的測試階段,應用不同的通道。
單元測試具體測試過程是:選擇一個測試單元,執行相關的測試腳本並處理腳本的語法解析程序,將測試腳本的返回結果與ipmi技術說明書中給出的標準輸出對比。
進行集成測試時,所述數據測試處理模塊組合不同通道下各個測試單元,定義集成測試腳本進行測試。
定義集成測試腳本流程為:設置需要集成測試的模塊;裝載集成測試程序以及初始化數據;設置測試通道,測試次數以及測試結果保存相關參數;調用kfc腳本並依次執行;然後輸出結果文件,生成測試報告。
進行壓力測試時,所述數據測試處理模塊選擇測試單元中容易出錯的ipmi命令組,在不同通道下持續進行壓力測試或者選擇測試單元中穩定可靠的ipmi命令組,通過不同的通道下持續進行壓力測試。
本發明的有益之處是:
本發明提供一種ipmi固件自動化測試系統,根據嵌入式軟體測試的特點和ipmi技術標準的特點,在不同測試階段,通過分析比較,設計出適合嵌入式軟體的自動測試系統,確定適合在ipmi遠程訪問卡和bmc之間進行軟體自動測試的測試腳本,實現基於ipmi嵌入式系統的自動化測試,滿足ipmifirmware基本功能測試、同步測試、帶外數據命令轉發機制測試、oem命令測試等需求。
附圖說明
圖1本發明系統的框架示意圖。
具體實施方式
結合附圖,以具體實施來進一步解釋本發明內容。
本發明提供一種ipmi固件自動化測試系統,可採用h測試模型,包括控制中心模塊、數據測試處理模塊、解析模塊、遠程訪問卡、bmc;其中控制中心模塊主要包括kfc(kernelfirmwarechecker,內核固件檢驗),數據測試處理模塊主要包括icts框架,
控制中心模塊,控制其他模塊的正常運轉;
數據測試處理模塊,處理測試信息和數據,以及把命令請求封裝並通過網絡/串行接口傳輸到目標平臺的遠程訪問卡,同時處理所有接口信息和分析處理結果;
遠程訪問卡接收來自網絡/串行接口的命令請求,並將需要轉發到bmc的命令轉發至bmc,bmc對命令進行響應,遠程訪問卡將應答通過接口發送回數據處理模塊;遠程訪問卡和bmc之間通過i2c進行通信;
解析模塊,解析測試腳本的語法規則,語言無誤時,執行測試腳本。
測試系統在運行過程中,用戶通過寫測試腳本來定製需要進行的測試,並需填寫必要的配置參數。測試系統的輸出結果需要和ipmi技術規範比較,一般來說,bmc返回的補充碼不是0x00的話,說明其測試用例是沒通過的。反之,如果從bmc返回的應答數據與預期一致,則其測試用例通過。
測試系統主要針對ipmi命令功能測試、單元測試、集成測試和壓力測試。
針對功能測試時,數據測試處理模塊的icts自帶了測試用例,用戶可以利用命令行工具cmdtool來發送單條命令來獲取需要的信息。如果命令的補充碼不是0x00,則表示bmc處理這些命令有誤,需進一步查找原因。
針對單元測試時,數據測試處理模塊採用測試單元自動化功能和消息模塊相關的一系列ipmi命令,對ipmifirmware分別進行測試。在不同的測試階段,應用不同的通道,測試結果會不同,從而通過多種方式驗證了ipmifirmware的可靠性。具體測試過程是:選擇一個測試單元,執行相關的測試腳本並處理腳本的語法解析程序,將測試腳本的返回結果與ipmi技術說明書中給出的標準輸出對比,將不符合的結果進行分析、記錄、分類和通報。
針對集成測試時,數據測試處理模塊組合不同通道下各個測試單元,編寫集成測試程序腳本,通過集成測試程序對其進行測試,檢查各單元之間的接口是否存在問題。具體集成過程如下:通過不同通道,將所有的測試單元通過集成自動化測試程序驗證ipmi功能的正確性。其中集成測試程序流程如下:首先設置需要集成測試的模塊;然後裝載集成測試程序以及初始化數據;然後設置測試通道,測試次數以及測試結果保存相關參數;然後調用kfc腳本並依次執行;然後輸出結果文件,生成測試報告。
針對壓力測試時,選擇單元測試中容易出錯的ipmi命令組,在不同通道下持續進行壓力測試,確保ipmi功能的準確性;選擇單元測試中穩定可靠的ipmi命令組,通過不同的通道下持續進行壓力測試,確保ipmi功能的穩定性。
測試系統將測試結果以log文件格式輸出,文件中記錄了發送消息的命令、bmc的應答數據,在每個測試模塊後會有通道、模塊、命令名、測試用例和測試結果等信息。
技術特徵:
技術總結
本發明公開一種IPMI固件自動化測試系統,涉及IPMI測試領域;包括控制中心模塊、數據測試處理模塊、解析模塊、遠程訪問卡、BMC;控制中心模塊,控制其他模塊的正常運轉;數據測試處理模塊,處理測試信息和數據,以及把命令請求封裝並通過接口傳輸到目標平臺的遠程訪問卡,同時處理所有接口信息和分析處理結果;遠程訪問卡接收來自接口的命令請求,轉發到BMC對命令進行響應,遠程訪問卡將應答通過接口發送回數據處理模塊;解析模塊,解析測試腳本的語法規則,語言無誤時,執行測試腳本。
技術研發人員:劉維霞;趙瑞東;陳乃闊;孫超
受保護的技術使用者:山東超越數控電子有限公司
技術研發日:2017.06.09
技術公布日:2017.10.03