專利名稱:手機硬件模塊測試方法及測試裝置的制作方法
技術領域:
本發明屬于移動通信終端技術領域,具體地說,是涉及移動通信終端的測試技術,更具體地,是涉及手機硬件模塊測試方法及測試裝置。
背景技術:
隨著技術的進步,手機、尤其是智能手機不僅具有通話功能,還具有許多附加功能,如攝像功能、無線上網功能、重力感應功能等。這些功能通過集成在手機中的多個硬件模塊及軟件模塊來實現,而每個硬件模塊又對應有多種不同的硬件實現方案。由于客戶要求不同,手機會集成有不同的硬件模塊實現不同的附加功能。而如果硬件平臺不同,對于集成相同硬件模塊的手機其硬件結構并不完全相同,所以,目前存在有大量硬件模塊結構不同的手機。
在手機生產線上,為了驗證手機硬件模塊的性能,需要對硬件模塊進行工檢模式下的功能測試。手機硬件模塊結構不同,進行硬件模塊測試對應的測試項目名稱、測試參數等測試信息會存在區別。目前,與手機硬件模塊測試相關的測試項目及參數等測試信息作為測試軟件的一部分而直接封裝在手機的源代碼中,與手機軟件固化在一起,通過調用手機源代碼中的測試信息、結合測試程序和硬件模塊實現對手機硬件模塊的測試。這種將測試信息直接封裝在源代碼中的硬件測試方法存在下述缺陷
第一,由于測試信息封裝在源代碼中,導致測試軟件程序開放性較差,不利于第三方的開發和使用;
第二,針對不同的硬件平臺,有時僅存在測試項目或測試參數的配置發生變化,其他測試程序不會改變,而由于測試信息封裝在源代碼中,如果僅僅因為測試項目和測試參數的配置發生變化時,也需要重新修改源代碼,重新進行編譯,導致軟件開發成本高,程序可維護性較差;
第三,如果新增加硬件測試項目,需要重新開發和維護一個完整的測試軟件,導致代碼復用性差,重復開發勞動量大,開發成本較高;
第四,由于測試信息封裝在源代碼中,需要單獨為不同類型硬件模塊的手機配置一個硬件模塊測試表,表明需要測試的項目及測試參數等測試信息,從而導致生產管理難度較大,且極容易漏檢測試項目,進而使得手機質量可靠性難以控制。
發明內容
本發明的目的之一是提供一種手機硬件模塊測試方法,通過將硬件模塊信息以腳本文件形式存儲和調用,有效解決了現有技術將硬件模塊信息封裝在手機源代碼中存在的上述缺陷。為解決上述發明問題,本發明采用下述技術方案予以實現
一種手機硬件模塊測試方法,所述方法包括下述步驟
a、讀取以腳本文件形式存儲的硬件模塊測試信息;b、解析腳本文件,獲取待測試手機對應的測試信息;
C、根據測試信息測試手機硬件模塊。如上所述的測試方法,在所述步驟a之前還包括下述步驟 aOl、將手機硬件模塊測試信息編寫為腳本文件并存儲。如上所述的測試方法,所述腳本文件優選存儲在外置存儲設備中。如上所述的測試方法,為便于硬件模塊測試、提高測試速度,在所述步驟a和所述步驟b之間還包括有下述步驟
bOl、將所述外置存儲設備的腳本文件讀取到待測試手機內存中,然后執行步驟b。如上所述的測試方法,為便于快速獲得待測試手機對應的測試信息,以便對待測試手機執行快速、可靠的測試,所述腳本文件中包括有測試信息所對應的待測試手機的硬件配置識別標志,在所述步驟b中,根據硬件配置識別標志獲取待測試手機對應的測試信肩、O如上所述的測試方法,為實現測試過程中動態加載測試程序以提高測試程序復用性、降低維護和開發成本,所述步驟c具體包括下述子步驟
cOl、根據測試信息判斷硬件模塊是否需要測試; c02、調用測試信息中的輸入、輸出參數并初始化; c03、加載需要測試的硬件模塊對應的測試程序; c04、執行手機硬件模塊測試。如上所述的測試方法,為進一步提高代碼復用性、減少代碼重復開發,所述測試程序以模塊的形式存儲在手機測試程序庫中,在所述步驟C02中,從測試程序庫中動態加載需要測試的硬件模塊對應的測試程序。本發明的目的之二是提供一種手機硬件模塊測試裝置,以利用該裝置實現對手機硬件模塊快速、靈活、通用的測試。為實現上述技術目的,本發明采用下述技術方案來實現
一種手機硬件模塊測試裝置,所述裝置包括
腳本文件存儲單元,用于存儲腳本文件形式的硬件模塊測試信息;
腳本文件讀取和解析單元,用于讀取腳本文件存儲單元中的腳本文件并解析;
硬件模塊測試單元,用于根據腳本文件讀取和解析單元解析出的測試信息測試手機硬件模塊。如上所述的測試裝置,為實現對待測試手機執行快速、可靠的測試,所述裝置還包 括待測試手機識別單元,用于根據所述腳本文件讀取和解析單元解析出的硬件配置識別標志獲取待測試手機對應的測試信息。如上所述的測試裝置,為實現對測試程序的動態加載,以提高測試程序復用性、降低維護和開發成本,所述硬件模塊測試單元包括
測試程序庫,用于存儲硬件模塊的測試程序;
測試判定子單元,用于根據腳本文件讀取和解析單元解析出的測試信息判斷硬件模塊是否需要測試;
測試程序加載子單元,用于根據測試判定子單元的判定結果動態從測試程序庫中加載測試程序;參數處理子單元,用于處理硬件模塊測試需要的輸入參數和輸出參數;
執行子單元,用于執行硬件模塊的測試;以及 測試結果輸出子單元,用于輸出硬件模塊測試結果。與現有技術相比,本發明的優點和積極效果是本發明通過將測試項目名稱、測試標志、測試用輸入輸出參數等測試信息以腳本文件形式獨立于手機源代碼單獨存儲,在對手機進行測試時才讀取及解析腳本文件獲得相應的測試信息以執行手機硬件模塊測試,首先,提高了測試信息的開放性,利于第三方的開發和使用;其次,如果僅是測試項目或測試參數的配置發生變化,只需要修改腳本文件,無需重新編寫、編譯源代碼,提高了程序的可維護性,降低了軟件開發成本;再次,腳本文件直接反應了手機硬件配置,無需單獨維護硬件模塊測試表,便于生產管理和測試的監控。結合附圖閱讀本發明的具體實施方式
后,本發明的其他特點和優點將變得更加清
λ·Μ
/E. ο·
圖I是本發明手機硬件模塊測試裝置一個實施例的結構框 圖2是本發明手機硬件模塊測試方法一個實施例的流程 圖3是本發明手機硬件模塊測試方法另一個實施例的流程圖。
具體實施例方式下面結合附圖和具體實施方式
對本發明的技術方案作進一步詳細的說明。請參考圖1,該圖I所示為本發明手機硬件模塊測試裝置一個實施例的結構框圖,圖中的箭頭方向表示了硬件模塊測試時裝置中各單元的工作順序。如圖I所示,該實施例的手機硬件模塊測試裝置包括依次連接的腳本文件存儲單元11、腳本文件讀取和解析單元12、待測試手機識別單元13和硬件模塊測試單元14,其中
腳本文件存儲單元11用來存儲預先編寫好的、以腳本文件形式存在的硬件模塊測試
信息;
腳本文件讀取和解析單元12用來讀取腳本文件存儲單元11中的腳本文件,并進行解
析;
待測試手機識別單元13的作用是識別出待測試手機所對應的測試信息,具體來說,可以根據腳本文件讀取和解析單元12解析出的硬件配置識別標志獲取待測試手機對應的測試信息,以快速識別出待測試手機所對應的測試信息,確保對待測試手機執行可靠的測試;
硬件模塊測試單元14,用于根據腳本文件讀取和解析單元12解析出的、與待測試手機相對應的測試信息來測試手機硬件模塊。硬件模塊測試單元14可以采用現有手機硬件模塊測試的結構,這種結構為現有技術,在此不作詳細描述。而在該實施例中,硬件模塊測試單元14優選采用具有下述各子單元的結構
測試程序庫141,用于存儲硬件模塊的測試程序,且測試程序以模塊化形式存在;測試判定子單元142,用于根據腳本文件讀取和解析單元12解析出的測試信息判斷硬件模塊是否需要測試,以便于按照測試信息對手機執行正確的硬件模塊測試;
參數處理子單元143,用于處理硬件模塊測試需要的輸入參數和輸出參數,例如,調用測試信息中的輸入、輸出參數并初始化,或者,對測試后的輸出結果與測試信息中存儲的輸出參數進行比較等;
測試程序加載子單元144,用于根據測試判定子單元142的判定結果動態從測試程序庫141中加載測試程序;
執行子單元145,用于根據測試程序加載子單元144加載的測試程序控制相應的硬件模塊動作,從而執行硬件模塊的測試;以及
測試結果輸出子單元146,用于輸出硬件模塊測試結果。在該實施例中,測試信息包括有測試項目名稱、測試項目測試標志、測試項目的輸入參數、輸出參數等與硬件模塊的測試相關的信息。該實施例手機硬件模塊測試裝置的工作過程具體可參考下述對測試方法的描述。請參考圖2,該圖2示出了本發明手機硬件模塊測試方法一個實施例的流程圖。如圖2所示,該實施例對手機硬件模塊進行測試的流程如下
步驟201:流程開始;
步驟202 :將手機硬件模塊測試信息編寫為腳本文件并存儲。該步驟在手機硬件模塊測試的過程中是預先處理的一個步驟,也即在測試之前已經將多種硬件模塊結構不同的待測試手機的測試信息編寫為腳本文件并存儲,在具體的測試過程中是直接調用腳本文件形式的測試信息。在該實施例中,為了便于說明本發明的測試流程而將其作為手機硬件模塊測試的第一步。本領域技術人員應當理解,該步驟并不是在所有待測試手機測試方法中均具有的一個步驟。而且,在該實施例中,腳本文件優選存儲在外置存儲設備中,如存儲在TF卡、SD卡、U盤等手機可以識別的存儲設備中。步驟203 :啟動并進入手機硬件模塊測試模式。在對手機硬件模塊進行測試時,需要通過特定操作來啟動該測試模式,以便手機能夠進入到正確的工作模式。這個特定啟動操作為預先設定的一個操作,可以是長按手機某個按鍵,或者按其中兩個按鍵等,根據生產線上的具體設定來使用即可。步驟204 :讀取腳本文件到待測試手機內存中。為避免頻繁從外置存儲設備中讀取文件而影響測試速度,該實施例優選將腳本文件讀取到待測試手機內存中,在手機內存中對腳本文件進行解析處理。步驟205 :解析腳本文件,獲取待測試手機對應的測試信息。由于不同硬件模塊結構的手機的測試信息會存在區別,例如,要測試的項目名稱不一致,或者同樣的測試項目對應的測試參數不同等。可以將每一種不同硬件模塊結構的手機的測試信息編寫的腳本文件單獨存放到一個存儲設備中并標記出來,在測試手機時,根據標記直接讀取手機所對應的腳本文件并解析。或者,在不同硬件模塊結構的手機種類較多時,將所有手機的硬件模塊測試信息集中存放,而在腳本文件中存儲與待測試手機的類型一一對應的標志,然后通過解析腳本文件、獲得標志后查找出待測試手機所對應的測試信息,具體實現方法可參考圖3實施例的描述。在該實施例中對此不作具體限定。
步驟206 :根據測試信息測試手機硬件模塊。獲得測試信息后,就可以對手機進行硬件模塊測試。測試方法可以采用現有技術中的測試方法,或者還可以采用本發明特定的測試方法,例如圖3實施例所示的方法,該實施例對此也不作限定。請參考圖3,該圖3示出了本發明手機硬件模塊測試方法另一個實施例的流程圖。該實施例對手機硬件模塊進行測試時,也采用了將測試信息編寫為腳本文件并存儲在外置存儲設備中的預處理方法。而且,在同一個存儲設備中存儲有多種不同硬件模塊結構的手機的測試信息,不同的手機類型通過存儲在腳本文件中的硬件配置識別標志進行區分。同上述圖2實施例所述,對手機進行測試時也需要啟動相應的手機硬件模塊測試模式,具體啟動方法參考上述圖2所述,圖3所示為啟動并進入手機硬件模塊測試模式之后的流程。如圖3所示,該實施例對手機硬件模塊進行測試的流程如下 步驟301 :流程開始。步驟302 :讀取腳本文件到待測試手機內存。為避免頻繁從外置存儲設備中讀取文件而影響測試速度,該實施例優選將腳本文件讀取到待測試手機內存中,在手機內存中對腳本文件進行解析處理。 步驟303 :解析腳本文件,獲取硬件配置識別標志。不同硬件模塊結構的手機對應有不同的測試信息,在對某一手機進行測試時,需要找到其所對應的測試信息。在腳本文件中存儲有手機硬件配置識別標志,該識別標志與手機硬件模塊類型一一對應,是手機硬件模塊類型的唯一識別標志。測試人員能夠獲知要測試的手機的硬件配置識別標志,通過將待測試手機的硬件配置識別標志與從腳本文件中解析出來的標志進行比較,即可獲得待測試手機所對應的測試信息。步驟304 :判斷獲取的硬件配置識別標志與待測試手機是否一致。若一致,執行步驟305 ;若不一致,則重新讀取腳本文件到待測試手機內存中,重新進行解析判斷,直至找到相一致的硬件配置識別標志。如果所有腳本文件均不能與待測試手機相匹配,則提示缺少測試信息。步驟305 :在找到與待測試手機相匹配的腳本文件之后,獲得腳本文件中所存儲的待測試手機對應的測試信息。這里,測試信息包括有測試項目名稱、測試項目測試標志、測試項目的輸入參數、輸出參數等與硬件模塊的測試相關的信息。步驟306 :遍歷測試信息中的測試項目名稱,依次測試相應的硬件模塊。對于某一待測試手機,一般會存在多個測試項目,每個測試項目對應一個硬件模塊的測試,這些測試項目可能會包括有諸如TF卡測試、WIFI測試、重力加速度校準、振動馬達測試、屏幕測試、按鍵和按鍵背光燈測試、主攝像頭測試、揚聲器測試、MIC測試、聽筒測試、收音機測試、電池和充電器測試等等。根據測試信息中的測試項目名稱依次對手機硬件模塊進行測試。步驟307 :判斷所有測試項目是否測試完成。若完成,執行步驟313 ;若未全部完成,執行步驟308。每個測試項目測試完成后,可以設置相應的完成標志,通過讀取標志就可以獲知所有需要測試的項目是否均測試完成。
步驟308 :判斷硬件模塊是否需要測試。若要測試,執行步驟309 ;若不需要測試,轉至步驟307。為提高腳本文件的通用性,該實施例將多種可能存在硬件模塊對應的測試項目均作為測試信息統一編寫在腳本文件中,而針對某一具體類型的手機,根據其所具有的硬件模塊及其類型再設置測 試項目的狀態,利用其狀態來表征相應的硬件模塊是否需要測試。例如,某一個測試項目需要測試,則設置測試項目的狀態為“RUN”(運行),若測試項目不需要測試,則設置其狀態為“SKIP”(跳過)。通過檢查測試項目的狀態,就可以判斷出相應的硬件模塊是否需要測試。步驟309 :如果硬件模塊需要進行測試,則調用測試信息中測試項目對應的輸入、輸出參數,并對參數初始化。步驟310 :動態加載測試程序,執行測試動作。該實施例將手機硬件模塊測試所需要的測試程序以模塊的形式存儲在一起,形成一個測試程序庫。在使用時,測試哪一個硬件模塊,就從測試程序庫中動態調用其測試所需要的測試程序,控制相應的硬件模塊動作,執行測試功能。由于將測試程序模塊化設計和存儲,在測試時采用動態加載的方式調取使用,便于測試程序的維護和開發,有利于提高程序代碼的復用性,降低了開發和維護成本。步驟311 :測試完成后對測試輸出參數進行判斷處理。有些測試過程輸出的測試參數需要與預設的輸出參數進行比較和判斷,對應這類模塊的測試,在測試完成后調用測試信息中的輸出參數與測試結果參數進行相應的判斷處理。如果某個硬件模塊的測試僅需要輸出測試結果即可,不需要進行比較,則跳過該步驟。步驟312 :輸出并顯不測試中間結果及最終結果。為便于測試人員及時、方便、準確地獲得測試過程的中間結果和最終結果,以便于進行測試的監控和檢查,該實施例將測試的中間結果(如處理消息)及最終結果通過用戶界面輸出并顯示出來。該測試項目對于的硬件模塊測試完成后,轉至步驟307,判斷是否所有的測試項目均測試完成,若沒有測試完成,繼續執行上述步驟308至312的測試;如果所有需要測試的項目均完成測試,則執行下述步驟313。步驟313 :測試完成后的處理。這里,測試完成后的處理過程可以包括但不局限于根據所有測試項目的測試結果總體判定測試結果,并更新基板編號標識。測試通過的項目標識為“P”(通過),測試未通過的項目標識為“F”(失敗),以便于下次后續檢測和維修,或者作用故障機處理等。步驟314 :退出硬件模塊測試模式。步驟315:流程結束。圖2及圖3實施例對手機硬件模塊進行測試,由于將測試過程中對應的測試信息編寫為腳本文件并存儲在外置存儲設備中,使得腳本文件的程序開放性高,如果由于工廠測試設備的頻點等輸入參數變化或者硬件規格變動而影響到測試的輸入、輸出參數時,僅需要直接更改腳本文件,無需修改手機源代碼,提高了程序的可維護性。而且,由于腳本文件直接反應了手機硬件配置,無需再單獨設置和維護硬件配置測試表,便于生產管理和測試的控制。此外,結合測試程序庫的使用,在針對某個具體的硬件平臺開發了每個測試程序模塊及腳本文件后,如果手機新增加了硬件方案,只需要對新增硬件增加測試程序模塊,并應的修改腳本文件中的測試信息即可,不需要對源代碼中的每一個測試項目進行重復開發和維護,降低了重復開發和維護的成本。以上實施例僅用以說明本發明的技術方案,而非對其進行限制;盡管參照前述實施例對本發明進行了詳細的說明,對于本領域的普通技術人員來說,依然可以對前述實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或替換,并不使相應技術方案的本質脫離本發明所要求保護的技術方案的精神和范圍。·
權利要求
1.一種手機硬件模塊測試方法,其特征在于,所述方法包括下述步驟 a、讀取以腳本文件形式存儲的硬件模塊測試信息; b、解析腳本文件,獲取待測試手機對應的測試信息; C、根據測試信息測試手機硬件模塊。
2.根據權利要求I所述的測試方法,其特征在于,在所述步驟a之前還包括下述步驟 aOl、將手機硬件模塊測試信息編寫為腳本文件并存儲。
3.根據權利要求2所述的測試方法,其特征在于,所述腳本文件存儲在外置存儲設備中。
4.根據權利要求3所述的測試方法,其特征在于,在所述步驟a和所述步驟b之間還包括有下述步驟 bOl、將所述外置存儲設備的腳本文件讀取到待測試手機內存中,然后執行步驟b。
5.根據權利要求I所述的測試方法,其特征在于,所述腳本文件中包括有測試信息所對應的待測試手機的硬件配置識別標志,在所述步驟b中,根據硬件配置識別標志獲取待測試手機對應的測試信息。
6.根據權利要求I至5中任一項所述的測試方法,其特征在于,所述步驟c具體包括下述子步驟 cOl、根據測試信息判斷硬件模塊是否需要測試; c02、調用測試信息中的輸入、輸出參數并初始化; c03、加載需要測試的硬件模塊對應的測試程序; c04、執行手機硬件模塊測試。
7.根據權利要求6所述的測試方法,其特征在于,所述測試程序以模塊的形式存儲在手機測試程序庫中,在所述步驟c02中,從測試程序庫中動態加載需要測試的硬件模塊對應的測試程序。
8.—種手機硬件模塊測試裝置,其特征在于,所述裝置包括 腳本文件存儲單元,用于存儲腳本文件形式的硬件模塊測試信息; 腳本文件讀取和解析單元,用于讀取腳本文件存儲單元中的腳本文件并解析; 硬件模塊測試單元,用于根據腳本文件讀取和解析單元解析出的測試信息測試手機硬件模塊。
9.根據權利要求8所述的測試裝置,其特征在于,所述裝置還包括待測試手機識別單元,用于根據所述腳本文件讀取和解析單元解析出的硬件配置識別標志獲取待測試手機對應的測試信息。
10.根據權利要求8或9所述的測試裝置,其特征在于,所述硬件模塊測試單元包括 測試程序庫,用于存儲硬件模塊的測試程序; 測試判定子單元,用于根據腳本文件讀取和解析單元解析出的測試信息判斷硬件模塊是否需要測試; 測試程序加載子單元,用于根據測試判定子單元的判定結果動態從測試程序庫中加載測試程序; 參數處理子單元,用于處理硬件模塊測試需要的輸入參數和輸出參數; 執行子單元,用于執行硬件模塊的測試;以及測試結果輸出子單元,用于輸出硬件模塊測試結果。·
全文摘要
本發明公開了一種手機硬件模塊測試方法及測試裝置。所述測試方法包括下述步驟讀取以腳本文件形式存儲的硬件模塊測試信息;解析腳本文件,獲取待測試手機對應的測試信息;根據測試信息測試手機硬件模塊。本發明通過將硬件模塊測試信息以腳本文件形式存儲和調用,有效解決了現有技術將硬件模塊測試信息封裝在手機源代碼中存在的程序開放性差、可維護性差、開發成本高、管理難度大等問題。
文檔編號H04M1/24GK102724343SQ20121017552
公開日2012年10月10日 申請日期2012年5月31日 優先權日2012年5月31日
發明者張國義 申請人:青島海信移動通信技術股份有限公司