專利名稱:自動化測試系統及自動化測試方法
技術領域:
本發明涉及測試,特別涉及自動化測試。
背景技術:
當國際商業機器(International Business Machines, IBM)公司生產的服務器發生錯誤或損壞時,使用該服務器的客戶便使用PDSA將服務器所有的數據收集起來,送回廠商進行分析,廠商會通過PDSA快速找到服務器的問題,進而做快速的維修。為了確保pDSA所收集的服務器數據的正確性,測試工程師會對服務器進行一系列 的測試,以了解當服務器有問題發生時,PDSA能正確指出服務器的問題。當測試工程師對服務器進行測試時,需耗費許多時間。圖I為進行測試的IBM服務器的區塊圖。IBM服務器100包括一基板管理控制器(Baseboard Management Controller,BMC) 102、存儲一預載動態系統分析(preboot Dynamic System Analyzer, pDSA)程序 106的一快閃存儲器104、以及多個傳感器121 12X。在一實施例中,傳感器121 12X分為兩群,包括一群X3550M2傳感器、以及一群X3560M2傳感器。在一實施例中,服務器100包括117個X3550M2傳感器以及116個X3560M2傳感器,共需測233個傳感器。當進行測試時,測試工程師需將一屏幕150、一鍵盤160、一鼠標180、以及一USB存儲裝置170接上服務器100。接著,在服務器100開機時,測試工程師可藉按下鍵盤160中特定的按鍵使服務器100執行預載動態系統分析程序106。當服務器100執行預載動態系統分析程序106,預載動態系統分析程序106的操作界面會顯示于屏幕150之上。測試工程師必須通過鍵盤160自操作界面輸入指令及通過鼠標160移動于操作界面上的鼠標,以控制預載動態系統分析程序106對服務器100的多個傳感器121 12X進行測試。服務器100的每一傳感器的測試是單獨進行。因此,測試工程師必須循序對多個傳感器121 12X逐一進行測試。每當對一傳感器進行測試時,測試工程師必須對傳感器的測試參數及偏移值(offset)經由預載動態系統分析程序106的用戶界面手動進行設定及調整,因此測試工程師必須由鍵盤150及鼠標160進行大量的輸入工作。當服務器100的一傳感器的測試工作進行完畢后,服務器100會將測試結果的log數據172存儲至USB存儲裝置170中。因此,維修工程師便可依據USB存儲裝置170中的測試數據172進行對服務器100的維修。一般而言,測試工程師進行單一傳感器的測試約需耗費30分鐘。因此,包含233個傳感器的完整的測試工作約需耗費116個小時,約等于5天不眠不修的工作時間。因此,測試工作需耗費測試工程師極長的時間。然而,一般情況下并無法直接以修改預載動態系統分析程序106的程序代碼的方式促使對傳感器121 12X的測試工作自動化。因此,為了節省測試工程師的人力成本及時間,需要一種自動化測試系統,可通過自動操作服務器100的預載動態系統分析程序106,以完成對傳感器121 12X的測試工作
發明內容
有鑒于此,本發明的目的在于提供一種自動化測試系統,以解決已知技術存在的問題。在一實施例中,該自動化測試系統經由一網絡耦接至一服務器。該服務器包括多個傳感器、一預載動態系統分析(preboot Dynamic System Analyzer, pDSA)程序、以及一基板管理控制器(Baseboard Management Controller,BMC)。該自動化測試系統包括一屏幕、一鍵盤鼠標自動化程序、一遠端控制程序、以及一控制器。該鍵盤鼠標自動化程序存儲于一存儲器,用以實施一系列的控制動作以自動操作一鍵盤及一鼠標。該遠端控制程序存儲于該存儲器,用以將該鍵盤及該鼠標的該控制動作經由該網絡傳送至該服務器。該控制器連線至該服務器,運用該遠端控制程序以將該預載動態系統分析程序的操作界面顯示于該屏幕,運用該鍵盤鼠標自動化程序以模擬一測試者對于該預載動態系統分析程序的操作界面的鍵盤操作動作及鼠標操作動作,以及運用該遠端控制程序以將該鍵盤操作動作及該鼠標操作動作經由該網絡傳送至該服務器,以控制該預載動態系統分析程序完成對該服務器的這些傳感器的測試,并產生一測試結果數據。本發明更提供一種自動化測試方法,用以測試一服務器。在一實施例中,該服務器包括多個傳感器、一預載動態系統分析(preboot Dynamic System Analyzer, pDSA)程序、以及一基板管理控制器(Baseboard Management Controller, BMC)。首先,經由一網絡連 線至該服務器。接著,運用一遠端控制程序以將該預載動態系統分析程序的操作界面顯示于一屏幕。接著,運用一鍵盤鼠標自動化程序所存儲的用以自動操作一鍵盤及一鼠標的一系列的控制動作,以模擬一測試者對于該預載動態系統分析程序的操作界面的鍵盤操作動作及鼠標操作動作。接著,運用該遠端控制程序以將該鍵盤操作動作及該鼠標操作動作經由該網絡傳送至該服務器,以控制該預載動態系統分析程序完成對該服務器的這些傳感器的測試,并產生一測試結果數據。為了讓本發明的上述和其他目的、特征、和優點能更明顯易懂,下文特舉數優選實施例,并配合所附圖示,作詳細說明如下
圖I為進行測試的IBM服務器的區塊圖;圖2為依據本發明的自動化測試系統的區塊圖;圖3為依據本發明的預載動態系統分析程序的運作方法的流程圖;圖4為依據本發明的對服務器進行自動化測試的方法的流程圖;以及圖5為依據本發明的傳感器測試配置文件的一實施例。主要元件符號說明(圖I)100 IBM 服務器;120 多個傳感器;104 快閃存儲器;106 預載動態系統分析程序(pDSA);102 基板管理控制器(BMC);170 USB存儲裝置;172 測試結果數據;
150 屏幕;160 鍵盤;180 鼠標;(圖2)200 服務器;220 多個傳感器;204 快閃存儲器;206 預載動態系統分析程序(pDSA);
·
202 基板管理控制器(BMC);270 iMM 控制器;280 USB存儲裝置;281 測試結果數據;240 網絡;250 計算機;260 存儲器;295 微處理器;262 遠端控制程序;264 鍵盤鼠標自動化程序;266 IPMI公用程序;268 SMBridge 程序;290 屏幕;292 鍵盤;2M 鼠標。
具體實施例方式圖2為依據本發明的自動化測試系統的區塊圖。自動化測試系統經由網絡240耦接至國際商業機器(International Business Machines, IBM)公司生產的服務器200,用以對服務器200進行自動測試。在一實施例中,自動化測試系統包括一計算機250、一屏幕290、一鍵盤292、一鼠標294、以及一 USB存儲裝置280。屏幕290、鍵盤292、鼠標294、以及USB存儲裝置280均耦接至計算機250。在一實施例中,該計算機250包括存儲器260及微處理器295,而該存儲器260用以存儲一遠端控制程序262、一鍵盤鼠標自動化程序264、一智能平臺管理界面(Intelligent Platform Management Interface, IPMI)公用程序 266、以及一系統管理橋接(System Management Bridge, SMBridge)程序。在一實施例中,IBM服務器200包括一基板管理控制器(Baseboard ManagementController, BMC) 202、存儲一預載動態系統分析(preboot Dynamic System Analyzer,pDSA)程序206的一快閃存儲器204、以及多個傳感器220。其中基板管理控制器202及傳感器220包括于一 iMM控制器270中。在一實施例中,傳感器220分為兩群,包括一群IBM服務器X3550M2傳感器、以及一群IBM服務器X3560M2傳感器。在一實施例中,IBM服務器X3550M2傳感器包括117個傳感器,而IBM服務器X3560M2傳感器還包括116個傳感器,因此服務器200共需測233個傳感器。預載動態系統分析程序206系服務器200用以執行對服務器200的測試工作。當服務器200執行預載動態系統分析程序206時,預載動態系統分析程序206會對多個傳感器220逐一進行測試。當預載動態系統分析程序206啟動后,必須先對服務器200進行清除事件記錄(clear event log)、觸發事件(trigger event)、以及收取事件記錄(get eventlog)的動作。個別的事件乃是針對單一傳感器測試結果而言,專指通過傳感器測試或是失敗的記錄。清除事件記錄是指將BMC event log全部清除。觸發事件是指以實體或以IPMICOMMAND的方式產生BMC event log。收取事件記錄是指將BMCevent log利用SMBridge讀出。欲完成此等動作,微處理器295必須通過執行存儲器260中存儲的智能平臺管理界面(Intelligent Platform Management Interface, IPMI)公用程序 266 以進行。微處理器295運用智能平臺管理界面公用程序266向服務器200的基板管理控制器202發送一系列的智能平臺管理界面命令。當基板管理控制器202接收到這些智能平臺管理界面命令, 便會依據智能平臺管理界面命令進行清除事件記錄、觸發事件、以及收取事件記錄等動作。當預載動態系統程序206對多個傳感器220逐一進行測試時,預載動態系統程序206需要自一用戶操作界面接收各傳感器的測試參數及設定值,才能依據測試參數及設定值對傳感器進行測試工作。由于自動化測試系統的計算機250經由網絡240連結至服務器200,因此當服務器200執行預載動態系統程序206時,微處理器295必須執行遠端控制程序262,以將預載動態系統分析程序206的用戶操作界面自網絡240接收并顯示于屏幕290。在一實施例中,該遠端控制程序262為一遠端鍵盤屏幕鼠標控制(Remote Keyboard,Visual Display, and Mouse, Remote KVM)程序。鍵盤鼠標自動化程序264可存儲一系列的控制動作以自動操作鍵盤292及鼠標294。在一實施例中,鍵盤鼠標自動化程序264為一 AutoIt程序。當遠端控制程序262將預載動態系統程序206的用戶操作界面顯示于屏幕290上后,微處理器295便執行該鍵盤鼠標自動化程序264,以模擬一測試工程師對于預載動態系統程序206的操作界面的鍵盤操作動作及鼠標操作動作。接著,微處理器295又執行遠端控制程序262,以將鍵盤鼠標自動化程序264所產生的鍵盤操作動作及鼠標操作動作經由網絡240傳送至服務器200。當服務器200經由網絡240接收到鍵盤操作動作及鼠標操作動作后,預載動態系統分析程序206便可依據鍵盤操作動作及鼠標操作動作所輸入的測試參數及設定值以對多個傳感器220逐一進行測試工作,并產生一測試結果數據。當該預載動態系統分析程序206完成對服務器200的多個傳感器的測試后,系統管理橋接程序268自服務器200經由網絡240將測試結果數據下載至計算機250。在一實施例中,一通用串行總線(UniversalSerial Bus, USB)存儲裝置280經由一通用串行總線接口耦接至計算機250。當系統管理橋接程序268將測試結果數據下載至計算機250后,計算機250的微處理器295將測試結果數據存儲至通用串行總線存儲裝置280。因此,計算機250的用戶可通過讀取通用串行總線存儲裝置280中存儲的測試結果數據以分析服務器200的錯誤,以便對服務器200進行維修。圖3為依據本發明的預載動態系統分析程序206的運作方法300的流程圖。首先,測試者啟動于服務器200中的預載動態系統分析程序206 (步驟301)。接著,建立智能管理模塊(Integrated Management Module, IMM)的網頁連結(步驟302)。接著,計算機250的微處理器295啟動遠端控制程序262 (步驟303),以準備將計算機250所連接的鍵盤292及鼠標294的控制動作經由網絡240傳送至服務器200,并將預載動態系統分析程序206的操作界面經由網絡240傳送至計算機250以顯示于屏幕290之上。接著,計算機250的微處理器295必須通過智能平臺管理界面(IPMI)公用程序266向服務器200的基板管理控制器202自動發送一連串的智能平臺管理界面命令,以促使基板管理控制器202依據命令清除事件記錄(clear event log)(步驟311)、觸發事件(trigger event)(步驟312)、并收取事件記錄(get event log)(步驟314)。上述步驟311、312、314的自動發送智能平臺管理界面命令的流程將以后續的圖4及圖5進行較詳細的說明。接著,服務器200的預載動態系統分析程序206的操作界面進入一圖形用戶界面(Graphic User Interface,⑶I)模式(步驟321)。在此圖形用戶界面模式下,微處理器295執行鍵盤鼠標自動化程序264以產生多個對屏幕290上的控制界面進行操作的鼠標操 作動作,以控制預載動態系統分析程序206進行對服務器200的多個傳感器220其中之一的測試。接著,服務器200收集傳感器的測試數據(步驟322)。接著,鍵盤鼠標自動化程序264產生鼠標操作動作以選取HTML輸出(步驟323)。接著,鍵盤鼠標自動化程序264產生鼠標操作動作以促使服務器200將事件數據存儲入通用串行總線存儲裝置280 (步驟324)。接著,預載動態系統分析程序206的操作界面自圖形用戶界面模式跳出(步驟325)。接著,服務器200的預載動態系統分析程序206的操作界面進入一命令(command,CMD)模式(步驟331)。在此命令模式下,微處理器295執行鍵盤鼠標自動化程序264以產生多個對屏幕290上的控制界面進行操作的鍵盤操作動作,以控制預載動態系統分析程序206進行對服務器200的多個傳感器220其中之一的測試。接著,服務器200收集傳感器的測試數據(步驟332)。接著,鍵盤鼠標自動化程序264產生鍵盤操作動作以將用戶意見鍵入的HTML文件(步驟333)。接著,鍵盤鼠標自動化程序264產生鍵盤操作動作以促使服務器200將事件數據存儲入通用串行總線存儲裝置280 (步驟334)。接著,預載動態系統分析程序206的操作界面自命令模式跳出(步驟335)。此時,如果服務器200的所有傳感器220尚未完全測試完畢(步驟340),計算機250的微處理器295將重新執行步驟311 335的流程,以控制預載動態系統分析程序206進行對服務器200的傳感器的測試。圖4為依據本發明的對服務器200進行自動化測試的方法400的流程圖。方法400為方法300的一較詳細的實施例。首先,測試者必須先利用鍵盤292于計算機250鍵入服務器200的基板管理控制器202的IP地址(步驟402)。接著,計算機250的微處理器295將一傳感器測試配置文件載入至存儲器260 (步驟404)。圖5顯示依據本發明的傳感器測試配置文件的一實施例。傳感器測試配置文件為一文本文件,各行文字存儲了自動測試流程中計算機250需要對服務器200的基板管理控制器202發送的智能平臺管理界面(IPMI)命令的多個參數值。舉例來說,圖5的傳感器測試配置文件包括兩個傳感器的測試流程的參數。兩傳感器的參數記載以「= = = = = = = = = = = = = = = = = = = =」的分隔線隔開。每一傳感器的第一行文字記錄傳感器名稱,第二行文字記錄傳感器號碼,后續行文字記錄傳感器的多個偏移值(Offset value)。例如,第一個傳感器的名稱為「One ofthe CPU」,該傳感器的號碼為「0x94」,而第二個傳感器的名稱為「FP Detect」,而該傳感器的號碼為「0x83」。
當存儲器260載入傳感器測試配置文件后,接著微處理器295發送智能平臺管理界面(IPMI)命令以要求基板管理控制器202清除事件記錄(步驟406)。舉例來說,微處理器295發送以下的IPMI命令以要求基板管理控制器202清除事件記錄showsel-N BMC_IP_U USERID-P PASSffORD-C ;當基板管理控制器202回應已清除事件記錄完畢后,微處理器295自傳感器測試配置文件讀取傳感器名稱及代碼(步驟408)。接著,微處理器295自傳感器測試配置文件讀取下一行傳感器偏移值(步驟410)。接著,微處理器295依據傳感器名稱、號碼、及偏移值對服務器200發送智能平臺管理界面(IPMI)命令,以要求基板管理控制器202觸發事件(步驟412)。舉例來說,微處理器295發送以下的IPMI命令以要求基板管理控制器202觸發事件
icmd-N BMC_IP_U USERID-P PASSWORD 0020E81700 ;icmd-N BMC_IP_U USERID-P PASSWORD 0020E81705Sensornumber ;icmd-N BMC_IP_U USERID-P PASSWORD 0020E8I70ISensornumber Offset ;此時,如果目前的傳感器于傳感器測試配置文件中尚有后續行的傳感器偏移值未讀取(步驟414),則微處理器295繼續自傳感器測試配置文件讀取下一行傳感器偏移值(步驟410),并依據傳感器偏移值對基板管理控制器202發送智能平臺管理界面(IPMI)命令以要求觸發事件(步驟412)。當目前的傳感器于傳感器測試配置文件中已無后續行的傳感器偏移值未讀取(步驟414),則微處理器295發送智能平臺管理界面命令以要求基板管理控制器202取得IPMI事件記錄(步驟416)。舉例來說,微處理器295發送以下的IPMI命令以要求基板管理控制器202取得事件記錄smbridge-n BMC_IP_u USERID-p PASSWORD sel get接著,鍵盤鼠標自動化程序264自動產生鼠標操作動作,以于預載動態系統分析程序206的操作界面的GUI模式中控制服務器200收集事件,并將測試結果存入USB裝置280(步驟418)。接著,鍵盤鼠標自動化程序264自動產生鍵盤操作動作,以于預載動態系統分析程序206的操作界面的CMD模式中控制服務器200收集事件,并將測試結果存入USB裝置280 (步驟420)。最后,如果傳感器測試配置文件中尚有后續的傳感器名稱未讀取(步驟422),則微處理器295將重復執行步驟406 420,以控制服務器200進行后續傳感器的測試動作。因此,本發明的計算機系統250可控制服務器200的基板管理控制器202及預載動態系統分析程序206自動進行多個傳感器220的測試動作。以IBM服務器為例,由于IBM服務器包含233個傳感器,因此對所有的傳感器進行完整的測試工作約需耗費116個小時。因此,本發明的自動測試系統250可為測試工程師節省大量的操作時間。雖然本發明已以優選實施例公開如上,然其并非用以限定本發明,任何本領域技術人員在不脫離本發明的精神和范圍內,當可作些許的更動與潤飾,因此本發明的保護范圍當視所附權利要求書所界定者為準。
權利要求
1.ー種自動化測試系統,經由一網絡耦接至待測的一服務器,其中該服務器包括多個傳感器、一預載動態系統分析程序、以及一基板管理控制器,該自動化測試系統包括 一屏.; ー鍵盤鼠標自動化程序,存儲于一存儲器,用以實施一系列的控制動作以自動操作一鍵盤及ー鼠標; 一遠端控制程序,存儲于該存儲器,用以將該鍵盤及該鼠標的該控制動作經由該網絡傳送至該服務器;以及 一微處理器,連線至該服務器,運用該遠端控制程序以將該預載動態系統分析程序的操作界面顯示于該屏幕,運用該鍵盤鼠標自動化程序以模擬一測試者對于該預載動態系統分析程序的操作界面的鍵盤操作動作及鼠標操作動作,以及運用該遠端控制程序以將該鍵盤操作動作及該鼠標操作動作經由該網絡傳送至該服務器,以控制該預載動態系統分析程序完成對該服務器的這些傳感器的測試,并產生ー測試結果數據。
2.如權利要求I所述的自動化測試系統,還包括 一智能平臺管理界面公用程序,存儲于該存儲器; 其中該微處理器運用該智能平臺管理界面公用程序向該服務器的該基板管理控制器發送一系列的智能平臺管理界面命令,以控制該基板管理控制器進行清除事件記錄、觸發事件、以及收取事件記錄。
3.如權利要求2所述的自動化測試系統,還包括 ー傳感器測試配置文件,存儲該服務器的這些傳感器的名稱代碼以及偏移值代碼; 其中該微處理器讀取該傳感器測試配置文件,并依據該傳感器測試配置文件的這些傳感器名稱代碼以及這些傳感器偏移值代碼產生這些智能平臺管理界面命令以輸出至該基板管理控制器,以控制該基板管理控制器進行對該服務器的這些傳感器的測試。
4.如權利要求I所述的自動化測試系統,其中當該預載動態系統分析程序的操作界面進入ー圖形用戶界面模式時,該微處理器執行該鍵盤鼠標自動化程序以產生這些鼠標操作動作,以控制該預載動態系統分析程序進行對該服務器的這些傳感器的測試;而當該預載動態系統分析程序的操作界面進入一命令模式吋,該微處理器執行該鍵盤鼠標自動化程序以產生該等鍵盤操作動作,以控制該預載動態系統分析程序進行對該服務器的這些傳感器的測試。
5.如權利要求3所述的自動化測試系統,還包括 一系統管理橋接程序,存儲于該存儲器; 其中當該預載動態系統分析程序完成對該服務器的這些傳感器的測試后,該微處理器運用該系統管理橋接程序自該服務器下載該測試結果數據至該自動化測試系統。
6.如權利要求I所述的自動化測試系統,還包括 一通用串行總線存儲裝置,經由一通用串行總線接ロ耦接至該自動化測試系統,用以存儲該測試結果數據。
7.如權利要求I所述的自動化測試系統,其中該遠端控制程序為ー遠端鍵盤屏幕鼠標控制程序。
8.一種自動化測試方法,用以測試一服務器,其中該服務器包括多個傳感器、一預載動態系統分析程序、以及一基板管理控制器,該自動化測試方法包括經由一網絡連線至該服務器; 運用一遠端控制程序以將該預載動態系統分析程序的操作界面顯示于一屏幕; 運用一鍵盤鼠標自動化程序所存儲的用以自動操作一鍵盤及一鼠標的一系列的控制動作,以模擬一測試者對于該預載動態系統分析程序的操作界面的鍵盤操作動作及鼠標操作動作;以及 運用該遠端控制程序以將該鍵盤操作動作及該鼠標操作動作經由該網絡傳送至該服務器,以控制該預載動態系統分析程序完成對該服務器的這些傳感器的測試,并產生一測試結果數據。
9.如權利要求8所述的自動化測試方法,其中該自動化測試方法還包括 運用一智能平臺管理界面公用程序,向該服務器的該基板管理控制器發送一系列的智能平臺管理界面命令,以控制該基板管理控制器進行清除事件、觸發事件、以及收取事件。
10.如權利要求9所述的自動化測試方法,其中該自動化測試方法還包括 運用一傳感器測試配置文件存儲該服務器的這些傳感器的名稱代碼以及偏移值代碼;以及 依據該傳感器測試配置文件的這些傳感器名稱代碼以及這些傳感器偏移值代碼產生這些智能平臺管理界面命令以輸出至該基板管理控制器,以控制該基板管理控制器進行對該服務器的這些傳感器的測試。
11.如權利要求8所述的自動化測試方法,其中該自動化測試方法還包括 當該預載動態系統分析程序的操作界面進入一圖形用戶界面模式時,執行該鍵盤鼠標自動化程序以產生這些鼠標操作動作,以控制該預載動態系統分析程序進行對該服務器的這些傳感器的測試;以及 當該預載動態系統分析程序的操作界面進入一命令模式時,執行該鍵盤鼠標自動化程序以產生該等鍵盤操作動作,以控制該預載動態系統分析程序進行對該服務器的這些傳感器的測試。
12.如權利要求8所述的自動化測試方法,其中該自動化測試方法還包括 當該預載動態系統分析程序完成對該服務器的這些傳感器的測試后,運用一系統管理橋接程序自該服務器下載該測試結果數據至該自動化測試系統。
13.如權利要求8所述的自動化測試方法,其中該自動化測試方法還包括 運用經由一通用串行總線接口耦接至該自動化測試系統的一通用串行總線USB存儲裝置,以存儲該測試結果數據。
14.如權利要求8所述的自動化測試方法,其中該遠端控制程序為一遠端鍵盤屏幕鼠標控制程序。
全文摘要
本發明提供一種自動化測試系統及自動化測試方法,該自動化測試方法,用以測試一服務器。在一實施例中,該服務器包括多個傳感器、一預載動態系統分析程序、以及一基板管理控制器。首先,經由一網絡連線至該服務器。接著,運用一鍵盤鼠標自動化程序所存儲的用以自動操作一鍵盤及一鼠標的一系列的控制動作,以模擬一測試者對于該預載動態系統分析程序的操作界面的鍵盤操作動作及鼠標操作動作。接著,運用一遠端控制程序以將該鍵盤操作動作及該鼠標操作動作經由該網絡傳送至該服務器,以控制該預載動態系統分析程序完成對該服務器的這些傳感器的測試,并產生一測試結果數據。
文檔編號H04L12/26GK102710454SQ20111008208
公開日2012年10月3日 申請日期2011年4月1日 優先權日2011年3月28日
發明者陳飛騰 申請人:緯創資通股份有限公司