天下武功,唯快不破。在保證安全的基礎(chǔ)上盡可能提高測試效率也是T/R組件測試領(lǐng)域不變的追求和目標。當然,提高測試效率的方法有很多,例如提高測試儀器儀表的性能(提高掃描速度和增加測試功能等)、簡化連接和校準過程以及優(yōu)化測試程序和工藝等。還有沒有其它辦法呢?那就是并行測試,這也是當今自動測試技術(shù)領(lǐng)域發(fā)展的重要趨勢和方向之一。
所謂并行測試就是充分利用測試儀器和測試通道等資源,按照一定的調(diào)度規(guī)劃同時執(zhí)行多個測試任務(wù),從而提高測試效率。目前T/R組件測試大多采用串行順序測試的模式,即執(zhí)行完一個測試任務(wù),再啟動另一個測試任務(wù),直至完成測試。這相當于要求幾個人累計完成1千米的跑步,現(xiàn)在采用的是接力跑模式,為什么不能根據(jù)每個人的能力一起跑呢?豈不是更快?多T/R組件并行測試模式就是在同一時刻,不同的T/R組件以多線程的方式執(zhí)行不同的測試任務(wù),測試任務(wù)之間所需的儀器和通道并不沖突。
1、并行測試難點
不同于數(shù)字和低頻測試儀器,當今射頻微波測試儀器自身的測試通道還比較少,一般也只能完成某一類性能參數(shù)的測試。在此基礎(chǔ)上,多T/R組件并行測試實現(xiàn)還是一個比較棘手的問題。概況來講,主要包括如下幾個方面的問題:
(1)測試資源競爭和死鎖問題
測試資源競爭問題:在執(zhí)行過程中多個測試任務(wù)需要同時訪問一個資源所引起的問題,例如都需要矢量網(wǎng)絡(luò)分析儀怎么處理?
死鎖問題:多個測試任務(wù)互相等待對方釋放自己所需資源,從而導(dǎo)致這些測試都無法繼續(xù)運行的問題。
(2)多線程測試任務(wù)管理問題
并行測試是多線程執(zhí)行模式,這就出現(xiàn)了如何對這些測試任務(wù)進行全生命周期有效管理的問題。如何按照次序啟動測試?如何暫停測試?如何繼續(xù)測試?如何中止測試?如何同步測試?如何將進度跨線程報告給主界面線程?這就好比自己干管好自己就行了,但是一個團隊干活就有團隊管理和建設(shè)的問題。
(3)并行測試任務(wù)調(diào)度規(guī)劃生成問題
當然,可以依靠人工拍腦袋的方式生成并行測試任務(wù)調(diào)度規(guī)劃,但是,測試任務(wù)發(fā)生變化怎么辦?測試對象發(fā)生變化怎么辦?如果都靠拍腦袋不是不行,但是很難,這就產(chǎn)生了并行測試任務(wù)調(diào)度規(guī)劃自動生成這一難題。同時,還需要解決相關(guān)的測試效率選優(yōu)算法和評價體系等問題。
(4)系統(tǒng)建模問題
并行測試系統(tǒng)具有復(fù)雜的網(wǎng)狀特征,系統(tǒng)建模除了要描述包含哪些UUT、哪些測試任務(wù)、測試任務(wù)和儀器之間的耦合關(guān)系等之外,更重要的是要描述清楚并行測試任務(wù)之間的控制相關(guān)性和時序相關(guān)性。
(5)信號鏈路動態(tài)建立問題
再好的車也得跑在平坦舒適的路上方能彰顯其性能的卓越和不凡。并行測試不但要提供“路”,而且需要提供“多車道路”,更需要根據(jù)車型提供“個性化道路”。由于并行任務(wù)調(diào)度規(guī)劃并不是固定的,在測試運行之前,軟件無法確定測試任務(wù)的執(zhí)行次序,從而也就無法確定測試通道的打通次序。那么,只能在測試任務(wù)運行時,根據(jù)UUT端口和被測參數(shù)來動態(tài)建立信號鏈路,并打通相應(yīng)的通道。
2、并行測試解決思路
并行測試技術(shù)是對傳統(tǒng)串行測試技術(shù)的突破和超越,思維方式與解決途徑都發(fā)生了較大的變革,在大幅度提高測試效率的同時也帶來了較多的挑戰(zhàn),下面逐一介紹解決思路。
(1)測試資源競爭和死鎖問題解決思路
概括起來講,測試資源競爭問題解決思路就是八個字“用時申請,用后歸還”。原有的軟件平臺對于測試資源的管理相當于把測試資源放到一個沒有鎖的房間里,大家也知道這房間里有什么資源,誰想用就可以拿走,不還也沒人管,其它需要資源的人干著急。而在并行測試軟件平臺里,這個房間有了變化,不但上了鎖,而且增加了一名管理員,給誰用,什么時候給?給什么資源?都是這名管理員決定的,而且用完必須歸還,不還強制拿回來,這當然就可以有效地管理系統(tǒng)中各儀器的運行狀態(tài),使得多個測試任務(wù)可以有序的訪問儀器,避免同時訪問同一儀器,從而造成儀器的狀態(tài)紊亂。