李永利
(中興通訊股份有限公司,廣東 深圳518057)
隨著社會(huì)的進(jìn)步,消費(fèi)者對(duì)產(chǎn)品的個(gè)性化需求不斷增加。電子產(chǎn)品已由批量化生產(chǎn)的模式轉(zhuǎn)為小批量、多配置、多形態(tài)的柔性化生產(chǎn)模式。相應(yīng)的自動(dòng)測試技術(shù)需根據(jù)產(chǎn)品的形態(tài)、配置等變化進(jìn)行相應(yīng)的更新,以適應(yīng)并滿足此需求并達(dá)到性能測試全覆蓋。柔性測試技術(shù)是以虛擬儀器技術(shù)、機(jī)電一體化技術(shù)、測試測量技術(shù)、通信及網(wǎng)絡(luò)技術(shù)、軟件技術(shù)等為基礎(chǔ),對(duì)滿足測試測量系統(tǒng)需求的方法及手段進(jìn)行深入研究的技術(shù)??煽啃浴⒕_性、靈活性、適應(yīng)性和可拓展性是柔性測試系統(tǒng)的研究目標(biāo),系統(tǒng)尤其注重測試測量系統(tǒng)功能的整體性[1-2]。將柔性測試技術(shù)引入到傳統(tǒng)測試中,實(shí)踐驗(yàn)證,此方法提升了測試工作效率,降低了維護(hù)成本,便于測試人員分析故障點(diǎn)。
傳統(tǒng)的測試方案,各個(gè)環(huán)節(jié)之間的聯(lián)系均需人工參與,如圖1所示。適用于大規(guī)模量產(chǎn)的產(chǎn)品且型號(hào)單一。
圖1 測試程序的傳統(tǒng)傳遞流程
(1)當(dāng)測試程序異常時(shí),測試開發(fā)工程師需要對(duì)程序進(jìn)行排查,并進(jìn)行相應(yīng)的修改。
(2)傳統(tǒng)的測試程序傳輸采用U盤拷貝的方式,測試開發(fā)人員將測試程序調(diào)試完成后,將其保存在服務(wù)器上或保存在U盤中,測試人員再拷貝到上位機(jī)(測試電腦)中。此方法降低了測試程序發(fā)布的時(shí)效性,同時(shí)使用U盤拷貝方式,存在感染病毒的風(fēng)險(xiǎn)。
(3)當(dāng)產(chǎn)品型號(hào)發(fā)行變更時(shí),產(chǎn)品測試開發(fā)人員需要重復(fù)以上動(dòng)作。增加了測試開發(fā)人員的工作負(fù)荷,同時(shí)也降低了開發(fā)效率。
基于柔性化的主要使用網(wǎng)絡(luò)云服務(wù)器的功能,達(dá)到測試程序的快速共享及快速更新的目的,降低測試程序傳輸?shù)臅r(shí)間成本。其測試程序的傳遞流程如圖2所示。測試程序的傳遞不在依靠人工拷貝,而是通過網(wǎng)絡(luò)進(jìn)行,降低感染病毒的風(fēng)險(xiǎn)。本位所述的柔性化測試系統(tǒng)借鑒了柔性測試系統(tǒng)的部分方案,使測試系統(tǒng)柔性化,即測試信息、數(shù)據(jù)的傳遞是借助網(wǎng)絡(luò)完成的。
圖2 基于柔性化的測試程序的傳遞流程
基于柔性化的測試系統(tǒng)包含以下主要模塊:云服務(wù)器、測試主機(jī)(上位機(jī))、測試工裝夾具、被測單元、測試數(shù)據(jù)服務(wù)器,如圖3所示。各模塊功能如下:
(1)被測單元(Device Under Test,DUT):在測試過程中,根據(jù)測試主機(jī)(上位機(jī))的命令,通過測試工裝夾具上的接口,將配置信息傳遞給測試主機(jī)。
(2)測試工裝夾具(Test Fixture):提供所需的接口配置;對(duì)DUT進(jìn)行固定并提供必要的保護(hù),同時(shí)滿足人機(jī)工程學(xué)的要求。
(3)上位機(jī):定期下載相應(yīng)產(chǎn)品的測試程序;讀取DUT的配置信息,并將配置信息上傳至云服務(wù)器;對(duì)DUT進(jìn)行性能測試;將測試數(shù)據(jù)上傳至指定數(shù)據(jù)服務(wù)器。
(4)云服務(wù)器(Cloud Server):配置信息傳到云服務(wù)器后,云服務(wù)器下發(fā)相應(yīng)指令使上位機(jī)運(yùn)行相應(yīng)的測試程序;存儲(chǔ)與所有DUT向?qū)?yīng)的測試程序;測試配置人員進(jìn)行測試程序更新、產(chǎn)品配置更細(xì)等功能。
(5)測試數(shù)據(jù)服務(wù)器(Test Data Server):為便于測試數(shù)據(jù)的查詢,同時(shí)降低云服務(wù)器的存儲(chǔ)壓力,測試數(shù)據(jù)可以保存至測試數(shù)據(jù)存儲(chǔ)云服務(wù)器上。為便于分析數(shù)據(jù)及其不良定位分析,測試數(shù)據(jù)的保存需按照一定的格式進(jìn)行保存。
(6)測試程序編輯:產(chǎn)品測試開發(fā)人員對(duì)產(chǎn)品測試程序進(jìn)行編譯的動(dòng)作。
圖3 測試系統(tǒng)總體架構(gòu)
云服務(wù)器做為測試管控的軟件平臺(tái),包含兩部分主要信息。分別為產(chǎn)品配置信息、測試程序信息。如圖4所示。
圖4 產(chǎn)品配置與測試程序信息圖
產(chǎn)品分類的原則:便于管理與識(shí)別;充分表述產(chǎn)品的詳細(xì)配置信息;便于云服務(wù)器維護(hù)人員將相應(yīng)的測試程序與產(chǎn)品配置信息建立對(duì)應(yīng)關(guān)系。
產(chǎn)品配置信息中,產(chǎn)品分類可以從產(chǎn)品大類、產(chǎn)品小類、產(chǎn)品型號(hào)、產(chǎn)品配置等信息依次展開。如圖5所示。在實(shí)際的工廠生產(chǎn)管理中,均已將產(chǎn)品的分類與配置信息詳細(xì)的進(jìn)行描述,并便于研發(fā)人員、工程測試人員、產(chǎn)線測試操作人員了解產(chǎn)品配置信息。例如PDM系統(tǒng)(Product Development System,產(chǎn)品開發(fā)系統(tǒng))。如圖3所示,測試開發(fā)工程師可以根據(jù)產(chǎn)品詳細(xì)配置,將產(chǎn)品配置中所有的功能進(jìn)行分解。如在開發(fā)C型號(hào)的產(chǎn)品時(shí),測試開發(fā)工程師可分別開發(fā)USB、VGA、HDMI、DVI、WiFi功能的測試程序,即將每個(gè)配置功能的測試程序模塊化。
測試程序編輯:測試程序?qū)?yīng)的測試方案形成有兩種方式。方式一:測試方案的具體內(nèi)容會(huì)根據(jù)產(chǎn)品的配置而改變,當(dāng)產(chǎn)品的硬件不同時(shí),測試工裝夾具會(huì)依據(jù)上位機(jī)中測試程序的指令進(jìn)行相應(yīng)的插裝或接線動(dòng)作。例如圖5中的產(chǎn)品配置A和C,配置A和C的主要差別為WiFi功能和視頻輸出接口的不同。當(dāng)測試配置A的產(chǎn)品時(shí),測試程序會(huì)配置WiFi測試模塊,同時(shí),測試程序會(huì)控制工裝夾具上的HDMI插件插入到DUT相應(yīng)的接口。完成測試前的準(zhǔn)備動(dòng)作。而測試配置C的產(chǎn)品時(shí),WiFi測試模塊將不被調(diào)用,同時(shí),測試工裝夾具會(huì)根據(jù)上位機(jī)的程序改為DVI接口插入,從而完成產(chǎn)品配置C的測試準(zhǔn)備;方式二:根據(jù)產(chǎn)品的具體配置信息,測試配置工藝工程師對(duì)產(chǎn)品測試總程序進(jìn)行配置,形成與產(chǎn)品配置相對(duì)應(yīng)的測試方案。如圖6所示。結(jié)合圖5可知,配置C與配置A之間的差別為視頻輸出的差異和WiFi功能,其余配置相同,故測試配置工藝工程師可根據(jù)不同配置選擇相應(yīng)的模塊,組合成相應(yīng)的測試方案。并將配置完成的測試程序保存在云服務(wù)器上。
圖5 產(chǎn)品分類配置示意圖
圖6 測試程序信息示意圖
兩種測試方式可以使用的條件不同,當(dāng)產(chǎn)品配置較少時(shí),可以選用方式一進(jìn)行測試程序編輯。當(dāng)產(chǎn)品配置數(shù)量較多時(shí),建議使用方式一進(jìn)行測試程序編輯,方式一較方式二更加智能化。本文闡述用例所使用的測試程序使用方式二進(jìn)行編輯。
在測試方案的配置完成后,測試人員可根據(jù)產(chǎn)品代碼或產(chǎn)品測試方案代碼,操作上位機(jī)并從云服務(wù)器上下載相應(yīng)的測試方案,提升配置效率,降低人為原因?qū)е碌呐渲檬д`。
在測試系統(tǒng)中,上位機(jī)的扮演著“執(zhí)行者”、“處理器”和“中轉(zhuǎn)站”的角色。上位機(jī)的主要工作及運(yùn)行機(jī)制如下:下載DUT相應(yīng)產(chǎn)品型號(hào)的測試程序,對(duì)DUT進(jìn)行測試。測試完成后,將測試數(shù)據(jù)上傳相應(yīng)的測試數(shù)據(jù)服務(wù)器。
在上位機(jī)與云服務(wù)器的信息傳遞中,需注意上位機(jī)與云服務(wù)器的網(wǎng)絡(luò)保持暢通,降低信息傳遞的耗時(shí),提升測試效率??梢愿鶕?jù)實(shí)際情況設(shè)置測試數(shù)據(jù)保存的方法,上位機(jī)、云服務(wù)器、測試數(shù)據(jù)服務(wù)器均可,可實(shí)時(shí)上傳,亦可間隔一定時(shí)間后分批上傳。
按照?qǐng)D3的系統(tǒng)架構(gòu)的基本思路,將此方法導(dǎo)入到某產(chǎn)品的生產(chǎn)測試中。(1)上位機(jī)通過測試工裝夾具的接口讀取被測產(chǎn)品的基本信息,并將此信息上傳云服務(wù)器;(2)云服務(wù)器生成測試方案,并將測試方案下發(fā)測試程序給上位機(jī),上位機(jī)通過指令是測試工裝進(jìn)行必要的動(dòng)作,并對(duì)被測產(chǎn)品進(jìn)行測試;(3)測試結(jié)果上傳測試數(shù)據(jù)服務(wù)器。
在生產(chǎn)的產(chǎn)品型號(hào)變更時(shí),測試上位機(jī)根據(jù)所“讀取”的產(chǎn)品信息,并將此信息“上報(bào)”給云服務(wù)器。云服務(wù)器即可對(duì)測試方案做相應(yīng)的變更,以適應(yīng)產(chǎn)品的變化。
使用本文所述的方案,對(duì)比現(xiàn)有的測試方法,應(yīng)用效果有:(1)測試程序開發(fā)工程師與測試人員無需再使用U盤等外部設(shè)備對(duì)程序進(jìn)行拷貝,降低了電腦病毒傳播的風(fēng)險(xiǎn);(2)由于設(shè)計(jì)了工裝夾具,所有的接口可以自動(dòng)插拔,降低了測試人員的勞動(dòng)強(qiáng)度和工作時(shí)間;(3)測試程序更新的響應(yīng)時(shí)間大大降低?,F(xiàn)場反饋后,測試程序開發(fā)工程師可根據(jù)反饋信息,更新測試程序并上傳云服務(wù)器,而現(xiàn)場可即時(shí)使用更新后的測試程序。
柔性測試系統(tǒng)延伸了傳統(tǒng)測試技術(shù),本文所述測試系統(tǒng)的主要特征:(1)根據(jù)產(chǎn)品配置信息,選擇相應(yīng)的測試程序;(2)測試工裝與測試程序之間的交互配合程度進(jìn)一步提升。此方法在一定程度上降低了操作人員的參與度,降低了勞動(dòng)強(qiáng)度,降低了系統(tǒng)維護(hù)成本,提升了產(chǎn)品測試效率,同時(shí)便于開發(fā)人員進(jìn)行系統(tǒng)維護(hù)和不良定位。
與柔性測試技術(shù)相比,本系統(tǒng)仍有一定的提升空間有:(1)測試程序模塊化,即每一個(gè)測試項(xiàng)目劃為一個(gè)測試模塊并保存在服務(wù)器上,降低測試程序的開發(fā)與維護(hù)成本;(2)云服務(wù)器測試平臺(tái)的功能提升,使用柔性重構(gòu)技術(shù)[3]管理測試模塊的測試順序,使云服務(wù)器測試平臺(tái)變?yōu)槊嫦驕y試系統(tǒng)需求,快速搭建流程測試系統(tǒng)的測試流程控制管理軟件平臺(tái)[4]?;诖?,將產(chǎn)品自動(dòng)化測試逐步發(fā)展成為柔性測試,提升產(chǎn)品自動(dòng)化測試水平。