專利名稱:動態(tài)定制啟動內核的測試方法
技術領域:
本發(fā)明系關于一種計算機測試方法,且特別是一種動態(tài)定制啟動內核的測試方法。
背景技術:
計算機硬件的測試平臺(以下簡稱為測試平臺)可選用不同的操作系統(tǒng)作為執(zhí) 行環(huán)境,常見的操作系統(tǒng)例如為DOS、 Windows或Linux操作系統(tǒng)。選用不同操作系統(tǒng)的測 試平臺,各擁有其優(yōu)點及缺點。舉例來說,以DOS為基礎的測試平臺的啟動速度較快,且尋 訪硬件設備亦較為快速。然而,目前DOS操作系統(tǒng)已不再發(fā)展,致使硬件設備的擴充性存 在相當?shù)膯栴}。另外,16/32位系統(tǒng)不支持安藤(Itanium)架構,也不支持大容量內存或硬 盤的訪問,且可驅動的硬件設備亦相當有限,因而有為數(shù)不少的計算機硬件無法以此類測 試平臺進行測試。以Windows為基礎的測試平臺,在硬件支持度上則明顯較DOS豐富。且 因Windows操作系統(tǒng)的使用廣泛,許多硬件廠商所生產(chǎn)的硬件皆對Window操作系統(tǒng)有所支 持。然而Windows操作系統(tǒng)為一種基于BIOS開機系統(tǒng)的操作系統(tǒng)環(huán)境,需進行繁復的系統(tǒng) 驅動程序,開機時相當耗費時間;再者Windows操作系統(tǒng)的后臺服務過多,也是造成系統(tǒng)運 行速度緩慢的主因之一。另外,隨著操作系統(tǒng)發(fā)展計算機硬件的訪問權限管理越趨嚴格,如 在Vista操作系統(tǒng)下需以附加的驅動軟件才可對硬盤進行讀寫測試,此勢必增加測試的不 穩(wěn)定性。部分測試平臺雖然以可自行定義內核的Li皿x操作系統(tǒng)作為執(zhí)行環(huán)境,以解決計 算機硬件的訪問權限的問題。然而,Li皿x操作系統(tǒng)仍為基于BIOS開機系統(tǒng)的操作系統(tǒng)環(huán) 境。以此類操作系統(tǒng)為基礎的測試平臺仍存在系統(tǒng)驅動程序繁復和后臺服務過多所衍生的 系統(tǒng)運行緩慢的問題。 由上述可知,各種操作系統(tǒng)的優(yōu)缺點不一,很難以單一種操作系統(tǒng)所構成的測試 平臺來實現(xiàn)所有的測試功能。因此,實際產(chǎn)線應用多采用多測試平臺整合的方式來滿足測 試速度及測試覆蓋率的要求。例如在單一測試平臺上載有多種操作系統(tǒng),首先以DOS操作 系統(tǒng)完成硬件設備掃描和燒錄、內存測試或硬盤保護功能測試等,再以Windows操作系統(tǒng) 完成硬件執(zhí)行測試(Ru皿ingTesting)。然而,此等方案在完成第一階段測試后,須重新啟動 再以另一種操作系統(tǒng)進行測試,其仍無法徹底滿足測試速度及測試覆蓋率的要求。換言之, 現(xiàn)階段發(fā)展測試平臺上雖欲達到盡可能減少測試時間及增加測試覆蓋率的發(fā)展方向,但仍 未有較為優(yōu)化的解決方案。
發(fā)明內容
鑒于目前發(fā)展測試平臺的測試速度慢及測試覆蓋率不足等問題,本發(fā)明的目的在 提出一種動態(tài)定制啟動內核的測試方法,藉由自動偵測連接至測試平臺的硬件設備信息, 自動定制出合適于當下硬件設備的啟動內核來啟動測試平臺。測試平臺啟動時無須加載冗 余的不適切的驅動程序,藉以加快測試平臺的啟動速度。 為解決上述測試平臺的測試速度慢以及測試覆蓋率不足等問題,遂以計算機測試平臺掛載本發(fā)明所提出的動態(tài)定制啟動內核的測試方法來進行硬件測試。所述的動態(tài)定制 啟動內核的測試方法包括以下步驟首先,開啟計算機測試平臺;接著,初始化計算機測試 平臺的硬件插槽;然后,讀取連接至硬件插槽的硬件設備信息。之后,根據(jù)硬件設備信息加 載對應的驅動程序;當加載完所有對應的驅動程序后,即根據(jù)這些驅動程序完成設備在啟 動內核內的動態(tài)掛接;最后,再執(zhí)行此啟動內核來完成開機,并進行硬件測試。
依照本發(fā)明的較佳實施例所述的動態(tài)定制啟動內核的測試方法,其中當開啟計算 機測試平臺時,會執(zhí)行自我檢測程序(P0ST)。隨后,在初始化計算機測試平臺的硬件插槽 時,更藉由硬件插槽的電性改變來判斷有連接硬件設備。 依照本發(fā)明的較佳實施例所述的動態(tài)定制啟動內核的測試方法,其中初始化 計算機測試平臺的硬件插槽時,更包括加載儲存有數(shù)筆硬件設備信息的安裝指令內存 (installOpRom)。所述的硬件設備信息則包括有硬件設備名稱、設備類型、設備版本、以及 對應的驅動程序種類和版本等信息。 依照本發(fā)明的較佳實施例所述的動態(tài)定制啟動內核的測試方法,其中根據(jù)硬件設
備信息加載對應的驅動程序的步驟包括透過本地主機端或遠程服務器來加載。 依照本發(fā)明的較佳實施例所述的動態(tài)定制啟動內核的測試方法,其中根據(jù)加載的
驅動程序完成設備在啟動內核內的動態(tài)掛接的步驟更包括透過選單接口選擇性加載或卸
除驅動程序,以及選擇性調整及優(yōu)化調用的后臺服務程序。 由上所述,動態(tài)定制啟動內核的測試方法是藉由預先偵測的硬件設備信息加載對 應的驅動程序,并據(jù)以完成設備在啟動內核內的動態(tài)掛接。藉由此啟動內核來啟動計算機 測試平臺,一方面可避免加載冗余不合適的驅動程序,一方面不需額外耗費人力來選擇計 算機測試平臺所需的驅動程序,從而可達到縮短測試時間的目的。 有關本發(fā)明的詳細特征與實作,茲配合圖示在實施方式中詳細說明如下,其內容
足以使任何熟悉相關技藝者了解本發(fā)明的技術內容并據(jù)以實施,且根據(jù)本說明書所揭露的
內容及圖式,任何熟悉相關技藝者可輕易地理解本發(fā)明相關的目的及優(yōu)點。 以下結合附圖和具體實施例對本發(fā)明進行詳細描述,但不作為對本發(fā)明的限定。
圖1為本發(fā)明較佳實施例的采用啟動內核的計算機測試平臺的系統(tǒng)架構示意圖; 圖2為本發(fā)明較佳實施例的動態(tài)定制啟動內核的測試方法流程圖; 圖3為本發(fā)明較佳實施例的驅動程序庫結構示意圖; 圖4為本發(fā)明較佳實施例的啟動內核的各個執(zhí)行階段的示意圖; 圖5為本發(fā)明另一較佳實施例的動態(tài)定制啟動內核的測試方法流程圖。 其中,附圖標記
110 操作系統(tǒng)加載器
120 啟動內核
130 韌體
140 硬件
310 驅動程序庫
310a h 驅動程序
具體實施例方式
本發(fā)明的目的及其執(zhí)行方法在下列較佳實施例中詳細說明。然而本發(fā)明的概念亦 可用于其它范圍。以下列舉的實施例僅用于說明本發(fā)明的目的與執(zhí)行方法,并非用以限制 其范圍。 圖1為本發(fā)明較佳實施例的采用啟動內核的計算機測試平臺的系統(tǒng)架構示意圖。 請參照圖l,在本實施例中,計算機測試平臺區(qū)分為軟件以及硬件140兩大部分,而軟件部 份又區(qū)分為操作系統(tǒng)(未顯示)、操作系統(tǒng)加載器110、啟動內核120以及驅動對應于硬 件140的韌體130。其中,啟動內核120可例如為可擴展固件接口 (Extensible Firmware Interface,EFI)系統(tǒng)(以下簡稱為EFI系統(tǒng)),EFI系統(tǒng)為一種硬件平臺啟動引導系統(tǒng),用 以實現(xiàn)計算機測試平臺中的硬件訪問、網(wǎng)絡通信等功用。EFI系統(tǒng)的特性在于其可讓使用者 自行修改并編譯EFI啟動內核。基于此特性,我們提出一種動態(tài)定制啟動內核的測試方法 以實現(xiàn)硬件設備驅動程序的動態(tài)加載和優(yōu)化,以及實現(xiàn)后臺服務程序的調整和優(yōu)化。
圖2為本發(fā)明較佳實施例的動態(tài)定制啟動內核的測試方法流程圖。請參照圖2,在 本實施例中,動態(tài)定制啟動內核的測試方法例如為計算機測試平臺的設定腳本,可作為掛 載于計算機測試平臺的程序。所述動態(tài)定制啟動內核的測試方法包括以下步驟首先,開啟 計算機測試平臺(步驟S210);接著,初始化計算機測試平臺的硬件插槽(步驟S220);當初 始化硬件插槽后,就要開始檢測連接至硬件插槽的硬件設備信息(步驟S230);然后,再根 據(jù)檢測到的硬件設備信息加載對應的驅動程序(步驟S240);之后,根據(jù)加載的驅動程序完 成設備在啟動內核內的動態(tài)掛接(步驟S250);經(jīng)過上述步驟后,我們已得到一套完全合乎 于計算機測試平臺規(guī)格的啟動內核。最后,執(zhí)行此啟動內核完成開機并進行硬件測試(步 驟S260)。 其中,開啟計算機測試平臺時會執(zhí)行一個自我檢測程序,此檢測程序主要用來檢 測計算機測試平臺的內存是否讀寫正常,以及設定一些程序指針(PCco皿ter)。當執(zhí)行自 我檢測程序后,開始初始化硬件插槽。在一些實施例中,可依據(jù)硬件插槽的電性有無發(fā)生改 變,以判斷硬件插槽是否有連接硬件設備。若有偵測到存在硬件設備連接時,則進一步載入 儲存著數(shù)筆硬件設備信息的安裝指令內存(installOpRom),并藉以找出對應于前述連接的 硬件設備的硬件設備信息,例如硬件設備名稱、設備類型、設備版本、以及對應的驅動程序 種類和版本等信息。安裝指令內存(installOpRom)所儲存的是硬件設備所對應的驅動程 序種類(或驅動程序的路徑),而不是儲存硬件設備對應的驅動程序。當找到對應的驅動程 序種類后,計算機測試平臺透過本地主機端或遠程服務器加載對應的驅動程序以及選擇性 調整及優(yōu)化調用的后臺服務程序。本實施例中所提出的動態(tài)定制啟動內核的測試方法的特 點是加載驅動程序的過程為自動檢測、判別硬件設備,為自動化檢測流程,可有效減少人 力資源支出。在一些實施例中,在自動檢測出需加載的驅動程序后,亦可透過一個選單接口 讓使用者選擇性的加入或卸除部分驅動程序,藉以取消不想測試的部份,進而加快計算機 測試平臺的測試速度。 承上所述,驅動程序可匯集為一個驅動程序庫。圖3為本發(fā)明較佳實施例的驅動 程序庫結構示意圖。請參照圖3,驅動程序庫310依硬件設備種類,例如音效310a、輸出 入310b、鍵盤310c、以及主機板310d等種類,規(guī)劃出樹狀結構目錄,將各種類的驅動程序
5(310a 310h)分門別類儲存。此驅動程序庫可儲存于本地主機端或遠程服務器的硬盤,或 將驅動程序庫為光盤,在此不限制驅動程序庫的儲存媒介。 圖4為本發(fā)明較佳實施例的啟動內核的各個執(zhí)行階段的示意圖。請參照圖4,在 本實施例中,EFI系統(tǒng)的啟動流程分為四大階段。首先,第一階段為認證階段410,當打開計 算機測試平臺電源時,透過確認窗口讓使用者輸入登入密碼以查核用戶身份。第二階段為 初始化啟動內核階段420。第二階段主要完成如前述自我檢測程序所需完成的事項,舉例 來說,在本階段需完成主機板、CPU芯片、主板硬件插槽等硬件測試。第三階段為驅動運行 環(huán)境階段430,也是本實施例中最重要的一環(huán)。在此階段,EFI系統(tǒng)需耗費相當多的時間來 加載所有硬件設備驅動程序以及初始化硬件設備。由于每種機型的硬件設備不盡相同,可 能部份機器帶有光驅,而部份機型不帶光驅。以往EFI系統(tǒng)會將全部驅動程序一并加載啟 動內核,并依此啟動內核開啟計算機測試平臺。然而對一些沒有配置光驅的機型加載光驅 驅動程序,并對其進行光驅初始化操作的動作是非常耗時且沒有必要的事。因此,本實施例 中,透過前述的動態(tài)定制啟動內核的測試方法根據(jù)計算機測試平臺的硬件需求自動加載必 須的驅動程序而產(chǎn)生最合適的啟動內核,動態(tài)判斷出哪些驅動程序需要加載,哪些不需要 加載。由于計算機測試平臺會自行判斷最合適的驅動程序,因此可節(jié)省人為核選的人力資 源浪費,以及避免進行不必要的測試、加快系統(tǒng)啟動速度。當運行環(huán)境設置完成后,進入第 四階段選擇操作系統(tǒng)啟動設備440。第四階段主要為以EFI系統(tǒng)中的EFI操作系統(tǒng)加載器 加載選擇的操作系統(tǒng),如LINUX操作系統(tǒng)或WINDOWS操作系統(tǒng)以及EFI操作系統(tǒng),以完成啟 動計算機測試平臺。 接著,再以另一較佳實施例說明本發(fā)明的動態(tài)定制啟動內核的測試方法。圖5為 本發(fā)明另一較佳實施例的動態(tài)定制啟動內核的測試方法流程圖。請參照圖5,首先,使用者 開啟計算機測試平臺的電源開關(步驟S510),當打開電源開關后,計算機測試平臺即進行 基本檢測(步驟S520a),基本檢測項目包括CPU芯片及內存讀寫是否正常。接著,進行PCI 插槽的基本初始化(步驟S520b),在此步驟僅需達到可正常詢訪計算機測試平臺的各個 PCI插槽即可。當確定可正常詢訪PCI插槽后,開始檢測硬件設備信息(步驟S520c),在此 步驟我們需檢測出連接的硬件設備的名稱,以及選擇對應的驅動程序。
然后,計算機測試平臺再根據(jù)檢測的硬件設備信息或配置信息,動態(tài)加載驅動 程序(步驟S530)。在本實施例,例如可透過儲存著多筆硬件設備信息的安裝指令內存 (installOpRom)來取得硬件設備信息。 當取得硬件設備所需加載的驅動程序種類后,即可由本地或遠程加載驅動程序 (步驟S540)。首先,計算機測試平臺搜尋本地主機端的驅動程序數(shù)據(jù)庫以加載對應的驅動 程序(步驟S540a),若在本地端無法搜尋到時,則搜尋遠程服務器的驅動程序數(shù)據(jù)庫以加 載對應的驅動程序(步驟S540b)。在一些實施例中,可直接設定遠程聯(lián)機的路徑,讓計算機 測試平臺可直接透過網(wǎng)絡至指定地址取得驅動程序。當取得并加載驅動程序后,即實現(xiàn)了 設備在EFI啟動內核內的動態(tài)掛接,并啟動此EFI啟動內核(步驟S550)。
當計算機測試平臺以定制的EFI啟動內核啟動并加載操作系統(tǒng)后,即完成計算機 測試平臺的開機動作。此時可進行硬件設備的功能檢測(步驟S560),并將硬件設備的檢測 結果記錄于記錄文件(步驟S570),其中記錄文件可存放在遠程服務器或本機磁盤,在此并 不限制其范圍。最后,當紀錄完成后,即可將電源關閉(步驟S580)結束此次測試。
當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,熟 悉本領域的技術人員當可根據(jù)本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變 形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
一種動態(tài)定制啟動內核的測試方法,該動態(tài)定制啟動內核的測試方法是掛載于一計算機測試平臺用以進行硬件測試,其特征在于,包括下列步驟開啟該計算機測試平臺;初始化該計算機測試平臺的硬件插槽;檢測連接至該硬件插槽的硬件設備信息;根據(jù)該硬件設備信息加載對應的至少一驅動程序;根據(jù)該驅動程序完成設備在啟動內核內的動態(tài)掛接;執(zhí)行該啟動內核完成開機并進行硬件測試。
2. 根據(jù)權利要求1所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中開啟該計 算機測試平臺的步驟更包括執(zhí)行一 自我檢測程序。
3. 根據(jù)權利要求1所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中初始化該 計算機測試平臺的硬件插槽的步驟更包括依該硬件插槽電性改變來判斷有連接硬件設備。
4. 根據(jù)權利要求3所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中初始化該 計算機測試平臺的硬件插槽的步驟更包括加載儲存著數(shù)筆硬件設備信息的一安裝指令內 存。
5. 根據(jù)權利要求1所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中該硬件設 備信息是選自于由硬件設備名稱、設備類型、設備版本、以及對應的驅動程序種類和版本等 信息所構成的組合之一。
6. 根據(jù)權利要求1所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中該驅動程 序自可透過本地主機端或遠程服務器加載。
7. 根據(jù)權利要求1所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中根據(jù)該驅 動程序完成設備在啟動內核內的動態(tài)掛接的步驟更包括透過一選單接口選擇性加載或卸 除該些驅動程序的任一。
8. 根據(jù)權利要求7所述的動態(tài)定制啟動內核的測試方法,其特征在于,其中根據(jù)該驅 動程序完成設備在啟動內核內的動態(tài)掛接的步驟更包括透過該選單接口選擇性調整及優(yōu) 化調用的后臺服務程序。
全文摘要
本發(fā)明公開了一種動態(tài)定制啟動內核的測試方法,掛載于計算機測試平臺,用以進行硬件測試。當開啟計算機測試平臺后,初始化計算機測試平臺的硬件插槽。之后,檢測連接到這些硬件插槽的硬件設備信息,藉以加載對應的驅動程序而實現(xiàn)設備在啟動內核內的動態(tài)掛接。然后,再依此啟動內核完成開機并進行硬件測試。由于啟動內核為依據(jù)硬件設備信息自動加載驅動程序完成,因此可避免加載冗余未使用的驅動程序。
文檔編號G06F11/22GK101751263SQ20081018019
公開日2010年6月23日 申請日期2008年11月28日 優(yōu)先權日2008年11月28日
發(fā)明者王凱, 陳玄同 申請人:英業(yè)達集團(天津)電子技術有限公司;英業(yè)達股份有限公司