【摘要】隨著通訊技術的飛速發(fā)展,通信產(chǎn)品的用戶量越來越大,組成產(chǎn)品的單板數(shù)量越來越多,單板的器件和網(wǎng)絡節(jié)點越來越多,對這些單板的自動化測試要求也越來越高。本文主要講述一套容量大、擴容靈活、測試覆蓋率高、適合于多種測試工藝的通信產(chǎn)品單板的自動化測試系統(tǒng)。在本文設計的測試系統(tǒng)中各功能單元之間的通信采用TENET協(xié)議進行通信,被測單板根據(jù)物理地址自動生成一個IP地址和Host IP地址。被測單板是器件和器件關系的集合,根據(jù)這兩個集合的元素設計測試項列表,保證單板的測試覆蓋率最高。被測單板的版本通過FTP從主機(Host IP)下載,升級方便。通過一段時間運行,本系統(tǒng)測試過的單板的EI顯著降低。
【關鍵詞】自動化測試系統(tǒng)自動化測試系統(tǒng)TELNETFTPIP地址
隨著通信技術的飛速發(fā)展,通信產(chǎn)品的單板種類越來越多,單板的器件和網(wǎng)絡節(jié)點越來越多,器件的集成度越來越高,封裝形式越來越復雜,PCB的層數(shù)也越來越多,單板的測試越來越復雜,沒有自動化支持的單板測試幾乎不可能。在單板不同工位的測試中,對自動化測試的要求也不同,單板生產(chǎn)測試需要在短時間內在人工的配合下把測試程序自動運行一遍,高溫老化在無人的情況下自動運行測試程序數(shù)個循環(huán),系統(tǒng)故障和單板故障的定位要求系統(tǒng)提供一系列的函數(shù)供研發(fā)人員選擇使用。這些用戶需求描述了一套同時滿足人工交互和全自動的、長短時時間可選的、循環(huán)次數(shù)或測試時間可配置的、覆蓋率較高的和定位較準確的自動化測試系統(tǒng)。
一、拓撲結構
通信單板的自動化測試系統(tǒng)包括被測單板、Hub和環(huán)境板、機框與機架、交換機、FTP服務器和測試操作臺,如圖1拓撲結構圖。被測單板就是需要測試的通信產(chǎn)品單板,每塊單板占用一個槽位號(Slot_ID)。Hub和環(huán)境板根據(jù)測試需要可以是一塊單板也可以是多塊單板,每塊單板占用一個槽位,占用一個槽位號(Slot_ID)。機框與機架是提供單板測試環(huán)境的一套結構件,并且提供單板的電源,保證熱設計。每個機框有唯一的機框號(Shelf_ID)方便系統(tǒng)對機框尋址,機架有唯一的機架號(Rack_ID)方便系統(tǒng)對機架進行尋址。交換機是連接每個機框的控制面網(wǎng)口、FTP服務器的網(wǎng)口和測試操作的網(wǎng)口的信息交換設備。FTP服務器用于存放和提供單板的版本的,單板在啟動過程中會向FTP獲取版本。測試操作臺是運行自動化測試系統(tǒng)后臺軟件的計算機,操作員可以通過測試操作臺控制各單板的測試并且獲得測試結果,對測試結果進行統(tǒng)計、制作報告以及環(huán)境的自檢等。
自動化測試系統(tǒng)中每個槽位有一個控制面網(wǎng)口,每個機框有一塊帶有Hub的環(huán)境單板,每個機框給出一個總的控制面網(wǎng)口,Hub環(huán)境板提供機框的控制面網(wǎng)口和各單板之間控制面網(wǎng)口的信息交換。這些控制面網(wǎng)口用于下載單板版本和控制單板運行。所有的機框的控制面網(wǎng)口通過交換機從FTP服務器下載各自所需要的版本,與測試操作臺連接控制各單板完成測試功能并獲取測試結果。在測試系統(tǒng)規(guī)模小的時候,F(xiàn)TP服務器和測試操作臺可以用一臺計算機來實現(xiàn)。
每塊單板有唯一的物理地址(Dev_ID,Rack_ID, Shelf_ID,SlotID),Dev_ID是設備號說明被測單板的類型,Rack_ID、Shelf_ID、SlotID是單板所在的機架、機框、槽位的編號。單板內可能有多個CPU,所以控制測試的最小單元是CPU,每個CPU需要給一個尋址號。這樣每個最小的通信單元物理地址是(Dev_ID,Rack_ID,Shelf_ID,SlotID, CPU_ID)。
二、通信協(xié)議
本系統(tǒng)采用TELNET把各個單元連接在一起,TELNET是TCP/IP架構下的應用層協(xié)議,各種操作系統(tǒng)都已經(jīng)很好的支持,應用起來非常簡單,不再需要關心下面的傳輸層、網(wǎng)絡層、數(shù)據(jù)鏈路層和物理層的軟件件工作,集中精力設計好單板的測試軟硬件。每臺計算機可以開啟數(shù)萬個TELNET進程,工作穩(wěn)定可靠。TELNET發(fā)送的是ASII碼流,因此在登陸TELNET服務器后,通信雙方都是用可見字符交流的,自動化測試系統(tǒng)可以使用,人工操作也可以使用這些命令。
本測試系統(tǒng)主要采用應答式通訊,測試操作臺向被測單板或環(huán)境單板發(fā)送測試命令,被測單板和環(huán)境單板收到測試命令后運行對應的函數(shù),測試工作完成后,被測單板或環(huán)境單板把測試結果按協(xié)議中要求的格式發(fā)動給測試操作臺。測試結果包含測試成功或失敗信息和測試失敗的原因和位置信息。
測試命令幀格式:TestEq_測試內容描述符
測試命令幀長度最多100個字符,以TestEq_為幀頭,測試內容描述符是反映測試內容的多個關鍵詞,每個關鍵詞的第一個字母為大寫,其他字母為小寫。幀以0x0d、0x0a結束。
例如內存測試為TestEq_Sdram和全空間內存測試TestEq_FullSdram。
測試結果命令幀格式:
測試成功幀格式:OK_測試命令=需要返回的參數(shù)
測試失敗幀格式:FAIL_測試命令=需要返回的參數(shù)或信息
幀長度為150個字符,以測試結果開始,如果成功了以OK_開始,如果失敗以FAIL_開始,后面跟測試命令,用“=”表示后面還有參數(shù)或者需要說明的信息,如果沒有“=”表示本次測試結果報告完畢,如果有“=”表示本次測試結果帶有一些參數(shù)或者需要說明的信息。幀以0x0d、0x0a結束。
例如內存測試命令TestEq_Sdram的結果:
測試成功的結果:OK_TestEq_Sdram=Size:1000M
測試失敗的結果:FAIL_TestEq_Sdram=Error Address:0x12345678;0x87654321
TELNET是在TCP/IP的環(huán)境下客戶端遠程訪問服務器的終端仿真協(xié)議,用TCP作為傳輸協(xié)議在客戶端和服務器之間建立傳輸連接。建立連接以后,服務器端和客戶端進入選項協(xié)商階段,決定兩邊能支持用于連接的選項。在任意時間,每個連接的系統(tǒng)都可以協(xié)商新選項或者重新協(xié)商舊選項。通常,Telnet連接的每端嘗試實現(xiàn)所有的選項,以使其所在的系統(tǒng)功能最強。TELNET、TCP/IP協(xié)議本身不在本文的講述范圍,不再敘述。
三、單板的尋址
被測單板是用機架和機框的方式存放測試的,因此被測單板的物理位置應該包含機架號(RACK_ID)、機框號(SHELF_ID)、槽位號(SLOT_ID)來標記,不同的設備會在同一個系統(tǒng)網(wǎng)絡上硬性測試,所以還要有設備號(DEV_ID),設備號、機架號、機框號通過測試機框背板上的撥碼開關來實現(xiàn),槽位號通過背板上的上下拉電阻來實現(xiàn)。另外每塊單板上可能有多個CPU需要對應多個網(wǎng)口來通信,因此再加一個CPU號(CPU_ID)。在本測試系統(tǒng)內各個通信單元就有了唯一的一個地址向量ADDR(Dev_id,Rack_id,Shelf_id,Slot_id,Cpu_id),后臺和各測試單元的通信是通過TELNET實現(xiàn)的,所以軟件需要把各單元的Addr向量轉換成IP向量(ip.1,ip.2,ip.3,ip.4)。轉換公式如下:
這里B為系數(shù)矩陣5行4列,IP0同上。
單板會根據(jù)HostIP尋找FTP服務器,下載版本運行。測試操作臺會根據(jù)被測單板的IP發(fā)送測試幀,接收來自這個IP的測試結果幀,將測試結果輸出到可是界面上。測試操作控制臺還有統(tǒng)計和自檢功能,這里不再講述。
四、結論
本文給出了一個擴容方便、容量大、系統(tǒng)結構清晰的通信產(chǎn)品單板自動化測試系統(tǒng)的設計方案,這套方案操作簡單、運行可靠性好,可以用統(tǒng)計的方法定位槽位問題。這套系統(tǒng)派生出了一套完整的人工測試函數(shù)集。經(jīng)過兩年的運行,單板的早期返還率逐月下降,測試函數(shù)集陸續(xù)被各個工位用來發(fā)現(xiàn)和定位問題的不可缺少的工具。