李永利
(中興通訊股份有限公司,廣東 深圳518057)
隨著社會的進步,消費者對產品的個性化需求不斷增加。電子產品已由批量化生產的模式轉為小批量、多配置、多形態的柔性化生產模式。相應的自動測試技術需根據產品的形態、配置等變化進行相應的更新,以適應并滿足此需求并達到性能測試全覆蓋。柔性測試技術是以虛擬儀器技術、機電一體化技術、測試測量技術、通信及網絡技術、軟件技術等為基礎,對滿足測試測量系統需求的方法及手段進行深入研究的技術。可靠性、精確性、靈活性、適應性和可拓展性是柔性測試系統的研究目標,系統尤其注重測試測量系統功能的整體性[1-2]。將柔性測試技術引入到傳統測試中,實踐驗證,此方法提升了測試工作效率,降低了維護成本,便于測試人員分析故障點。
傳統的測試方案,各個環節之間的聯系均需人工參與,如圖1所示。適用于大規模量產的產品且型號單一。

圖1 測試程序的傳統傳遞流程
(1)當測試程序異常時,測試開發工程師需要對程序進行排查,并進行相應的修改。
(2)傳統的測試程序傳輸采用U盤拷貝的方式,測試開發人員將測試程序調試完成后,將其保存在服務器上或保存在U盤中,測試人員再拷貝到上位機(測試電腦)中。此方法降低了測試程序發布的時效性,同時使用U盤拷貝方式,存在感染病毒的風險。
(3)當產品型號發行變更時,產品測試開發人員需要重復以上動作。增加了測試開發人員的工作負荷,同時也降低了開發效率。
基于柔性化的主要使用網絡云服務器的功能,達到測試程序的快速共享及快速更新的目的,降低測試程序傳輸的時間成本。其測試程序的傳遞流程如圖2所示。測試程序的傳遞不在依靠人工拷貝,而是通過網絡進行,降低感染病毒的風險。本位所述的柔性化測試系統借鑒了柔性測試系統的部分方案,使測試系統柔性化,即測試信息、數據的傳遞是借助網絡完成的。

圖2 基于柔性化的測試程序的傳遞流程
基于柔性化的測試系統包含以下主要模塊:云服務器、測試主機(上位機)、測試工裝夾具、被測單元、測試數據服務器,如圖3所示。各模塊功能如下:
(1)被測單元(Device Under Test,DUT):在測試過程中,根據測試主機(上位機)的命令,通過測試工裝夾具上的接口,將配置信息傳遞給測試主機。
(2)測試工裝夾具(Test Fixture):提供所需的接口配置;對DUT進行固定并提供必要的保護,同時滿足人機工程學的要求。
(3)上位機:定期下載相應產品的測試程序;讀取DUT的配置信息,并將配置信息上傳至云服務器;對DUT進行性能測試;將測試數據上傳至指定數據服務器。
(4)云服務器(Cloud Server):配置信息傳到云服務器后,云服務器下發相應指令使上位機運行相應的測試程序;存儲與所有DUT向對應的測試程序;測試配置人員進行測試程序更新、產品配置更細等功能。
(5)測試數據服務器(Test Data Server):為便于測試數據的查詢,同時降低云服務器的存儲壓力,測試數據可以保存至測試數據存儲云服務器上。為便于分析數據及其不良定位分析,測試數據的保存需按照一定的格式進行保存。
(6)測試程序編輯:產品測試開發人員對產品測試程序進行編譯的動作。

圖3 測試系統總體架構
云服務器做為測試管控的軟件平臺,包含兩部分主要信息。分別為產品配置信息、測試程序信息。如圖4所示。

圖4 產品配置與測試程序信息圖
產品分類的原則:便于管理與識別;充分表述產品的詳細配置信息;便于云服務器維護人員將相應的測試程序與產品配置信息建立對應關系。
產品配置信息中,產品分類可以從產品大類、產品小類、產品型號、產品配置等信息依次展開。如圖5所示。在實際的工廠生產管理中,均已將產品的分類與配置信息詳細的進行描述,并便于研發人員、工程測試人員、產線測試操作人員了解產品配置信息。例如PDM系統(Product Development System,產品開發系統)。如圖3所示,測試開發工程師可以根據產品詳細配置,將產品配置中所有的功能進行分解。如在開發C型號的產品時,測試開發工程師可分別開發USB、VGA、HDMI、DVI、WiFi功能的測試程序,即將每個配置功能的測試程序模塊化。
測試程序編輯:測試程序對應的測試方案形成有兩種方式。方式一:測試方案的具體內容會根據產品的配置而改變,當產品的硬件不同時,測試工裝夾具會依據上位機中測試程序的指令進行相應的插裝或接線動作。例如圖5中的產品配置A和C,配置A和C的主要差別為WiFi功能和視頻輸出接口的不同。當測試配置A的產品時,測試程序會配置WiFi測試模塊,同時,測試程序會控制工裝夾具上的HDMI插件插入到DUT相應的接口。完成測試前的準備動作。而測試配置C的產品時,WiFi測試模塊將不被調用,同時,測試工裝夾具會根據上位機的程序改為DVI接口插入,從而完成產品配置C的測試準備;方式二:根據產品的具體配置信息,測試配置工藝工程師對產品測試總程序進行配置,形成與產品配置相對應的測試方案。如圖6所示。結合圖5可知,配置C與配置A之間的差別為視頻輸出的差異和WiFi功能,其余配置相同,故測試配置工藝工程師可根據不同配置選擇相應的模塊,組合成相應的測試方案。并將配置完成的測試程序保存在云服務器上。

圖5 產品分類配置示意圖

圖6 測試程序信息示意圖
兩種測試方式可以使用的條件不同,當產品配置較少時,可以選用方式一進行測試程序編輯。當產品配置數量較多時,建議使用方式一進行測試程序編輯,方式一較方式二更加智能化。本文闡述用例所使用的測試程序使用方式二進行編輯。
在測試方案的配置完成后,測試人員可根據產品代碼或產品測試方案代碼,操作上位機并從云服務器上下載相應的測試方案,提升配置效率,降低人為原因導致的配置失誤。
在測試系統中,上位機的扮演著“執行者”、“處理器”和“中轉站”的角色。上位機的主要工作及運行機制如下:下載DUT相應產品型號的測試程序,對DUT進行測試。測試完成后,將測試數據上傳相應的測試數據服務器。
在上位機與云服務器的信息傳遞中,需注意上位機與云服務器的網絡保持暢通,降低信息傳遞的耗時,提升測試效率。可以根據實際情況設置測試數據保存的方法,上位機、云服務器、測試數據服務器均可,可實時上傳,亦可間隔一定時間后分批上傳。
按照圖3的系統架構的基本思路,將此方法導入到某產品的生產測試中。(1)上位機通過測試工裝夾具的接口讀取被測產品的基本信息,并將此信息上傳云服務器;(2)云服務器生成測試方案,并將測試方案下發測試程序給上位機,上位機通過指令是測試工裝進行必要的動作,并對被測產品進行測試;(3)測試結果上傳測試數據服務器。
在生產的產品型號變更時,測試上位機根據所“讀取”的產品信息,并將此信息“上報”給云服務器。云服務器即可對測試方案做相應的變更,以適應產品的變化。
使用本文所述的方案,對比現有的測試方法,應用效果有:(1)測試程序開發工程師與測試人員無需再使用U盤等外部設備對程序進行拷貝,降低了電腦病毒傳播的風險;(2)由于設計了工裝夾具,所有的接口可以自動插拔,降低了測試人員的勞動強度和工作時間;(3)測試程序更新的響應時間大大降低。現場反饋后,測試程序開發工程師可根據反饋信息,更新測試程序并上傳云服務器,而現場可即時使用更新后的測試程序。
柔性測試系統延伸了傳統測試技術,本文所述測試系統的主要特征:(1)根據產品配置信息,選擇相應的測試程序;(2)測試工裝與測試程序之間的交互配合程度進一步提升。此方法在一定程度上降低了操作人員的參與度,降低了勞動強度,降低了系統維護成本,提升了產品測試效率,同時便于開發人員進行系統維護和不良定位。
與柔性測試技術相比,本系統仍有一定的提升空間有:(1)測試程序模塊化,即每一個測試項目劃為一個測試模塊并保存在服務器上,降低測試程序的開發與維護成本;(2)云服務器測試平臺的功能提升,使用柔性重構技術[3]管理測試模塊的測試順序,使云服務器測試平臺變為面向測試系統需求,快速搭建流程測試系統的測試流程控制管理軟件平臺[4]。基于此,將產品自動化測試逐步發展成為柔性測試,提升產品自動化測試水平。