本發明屬于測試測量技術領域,具體涉及一種并行測試任務的同步觸發執行方法。
背景技術:
近年來,并行測試技術在測試測量領域備受關注且得到了越來越廣泛的應用。以半導體測試行業所采用并行測試技術為例,目前配套自動測試設備(automatictestequipment,ate)/系統(automatictestsystem,ats)通常利用測試夾具一次裝載一批待測件,并發執行這些uut測試任務(線程或進程)。這些ate/ats有效提高了測試效率與測試吞吐率。但是,由于所采用并行測試環境主要是單處理器非實時操作系統(如windows),因而難以實現嚴格意思上的同一時刻執行多個uut測試任務,只是極短時間間隔內的多線程/多進程并發處理。一般做法如圖1所示,整體上,操作用戶首先通過測試任務操作界面依次啟動各個uut測試任務,然后各個uut測試任務獨立并發執行,相互之間無影響,輪流占用處理器時間與儀表設備資源;局部上看,單個uut測試任務按次序調整測試基本信息、執行各個預定測試動作(包括測試狀態設置、信號激勵、信號測量、數據采集、存儲記錄、報表生成…)直到所有測試動作執行完畢后,視條件換下一個uut繼續進行處理,如此循環反復直到完成所有uut的批量測試。歸納起來,可以說是“整體并行化異步并發執行、局部串行化順序處理”。顯然,目前這種執行處理方式存在不足:各個uut測試任務從執行啟動到執行就緒之間存在逐漸增加的不確定時間延遲,這種時延隨著uut測試任務并發數目的增加越發明顯,因而無法適用于多個uut測試任務要求“同時執行”的時間敏感場景需求。
并行測試技術是為了解決串行順序測試技術測試效率低、資源利用率低的問題而提出的。傳統的串行順序測試在同一個時刻或同一時間間隔內只能對一個uut測試任務進行處理,而并行測試技術則能夠“同時執行”多個uut測試任務。這不僅能夠提高測試效率、縮短測試時間,而且可以減少各個測試資源的空閑等待狀態時間,讓多個uut共享有限且寶貴的測試資源,有效節約測試成本。目前,并行測試技術的應用主要集中在半導體生產測試、軟件測試、通訊產品協議一致性測試與裝備維修檢測等領域。國內對并行測試技術的研究方興未艾,相關研究成果主要集中在并行測試系統的體系結構、系統模型與任務調度等方面,尚未形成系統理論。
2.1.1并行測試系統的概念
傳統的自動測試系統采用的測試方法是基于串行概念的順序測試(sequencetest),其基本思路如圖2所示。當對一個uut進行測試任務執行時,其測試動作按預先順序進行處理,一直到其所有動作處理完畢后,才能夠開始處理后續的uut測試任務。若存在多個uut測試任務執行時,則是按照預先設定的順序依次進行處理,即一個uut測試任務處理完畢才開始執行下一個uut測試任務。
下面給出區別于傳統順序測試的并行測試系統概念。
定義1.1并行測試系統:測試系統處理器在同一時間間隔內按照一定的調度策略將輸入系統存儲設備中多個測試對象的測試任務序列有效并行處理,測試系統在同一時間段內可運行多項測試任務。測試任務序列劃分的依據是考慮任務之間的數據無關、資源無關和控制無關等因素。并行測試系統是在傳統串行測試系統的基礎上通過資源的整合和軟件運行模式的改變演化而來的。
目前,并行測試系統的架構按照所使用處理器數目可劃分為單處理器并行測試結構和多處理器并行測試結構。其中,多處理器并行測試結構具有兩個以上的處理器,通過高速通訊總線、共享存儲空間或輸入/輸出系統進行測試,對軟硬件資源均有較高的要求。按多處理器之間的關系分為分布式處理結構和主從處理結構兩類。分布式并行測試結構中的每臺計算機均可獨立高效地執行測試任務,并通過高速網絡來實現測試同步和資源共享;主從處理器結構則是利用處于從屬地位且功能單一的從處理器來分擔主處理器的部分工作,以減輕主處理器的負擔、提高測試效率。單處理器并行測試結構則是通過對不同測試任務的調度來分配單個處理器處理任務的時間從而實現并行測試。其中的測試任務以多個線程(multiplethreads)或多個進程(multipleprocesses)的形式存在,通過中央處理器(centralprocessingunit,cpu)處理器在線程或進程間的切換來完成測試執行處理。兩者比較而言,多處理器并行測試結構對系統的硬件要求較高、結構復雜,單處理器并行測試結構的硬件要求較低、結構簡單。因而,普遍適用且能有效降低測試成本的還是單處理器并行測試結構。
2.1.2并行測試技術的優勢
并行測試技術通過對測試資源的優化利用,大大提高了測試吞吐率、提高了測試資源利用率、縮減了測試時間,進而有效節約了測試成本。主要表現為:
提高測試吞吐率。并行測試系統通過多種方式實現測試資源的動態分配與優化調度,能夠在同一時間內并發地執行多個uut測試任務。從批量測試的角度看來,通過增加單位時間內uut的數量就能夠提高整個測試系統的效率。測試系統的效率越高,對測試吞吐率的提高程度就越高。
提高測試資源利用率。并行測試對測試資源利用率的提高主要包括兩點,一是盡量使測試資源處于工作狀態,二是使測試資源得到充分的利用。并行測試任務不斷地運行,申請測試資源地使用,測試資源一旦閑置就再次被新的測試任務申請使用。在理想情況下,整個測試過程中測試資源一直處于工作狀態,即測試資源在整個測試的過程中一直處于非空閑狀態。
縮減測試時間。據統計,采用順序測試方式時,處理器約80%的時間處于空閑狀態。以美國ni(nationalinstruments)公司測試管理軟件teststand的實驗結果為例:在單處理器多線程并行條件下,利用teststand軟件運行同樣的uut測試任務序列,其并行測試模式下耗費時間比串行順序模式下耗費時間縮減約33%。測試時間縮減效果比較明顯。
2.2現有技術實現方案
2.2.1并行測試的實現方式
并行測試的實現方式主要有三種形式:第一種是針對多個uut的并行測試,其任務調度的對象是各個uut測試任務,每個uut對應一個uut測試任務;第二種是單個uut上多個測試任務的并行測試,其任務調度的對象是同一個uut的多個測試任務;第三種則是前面兩種形式的結合,即調度對象是多個uut的多個測試任務。鑒于這些不同規模的測試任務之間需要避免死鎖、競爭和饑餓等問題,第一種形式顯然實現起來最為簡單直接,因而也被主流成熟并行測試軟件所普遍采用。這些并行測試軟件包括美國nl公司teststand、美國tyx公司的testbase等,它們均提供了針對多個uut的并行測試解決方案,以uut為粒度單元進行任務調度。
以美國nl公司所提供的teststand軟件為例,teststand采用基于單處理器多線程的并行測試結構,其任務調度采用系統軟件設計中常用的基于優先級的搶占調度方法,要求一種uut對應一個測試序列,可設置測試序列優先級,利用鎖(lock)對象來確保多uut競爭時某個uut對資源的獨占性。teststand的并行測試提供兩種模型:批量過程模型(batchprocessmodel)和并行過程模型(parallelprocessmodel),如圖3所示。其中,批量過程模型中將多個uut測試任務作為一組,確保該組中的多個uut測試任務同時開始執行且等待處理同時結束。批量過程模型默認情況下不關心中間測試動作項,所有的uut測試動作項在執行過程中是完全獨立且并行的。比較而言,批量過程模型下uut必須等待最慢的uut測試任務完畢后才能算是測試結束,顯然處于閑置狀態的測試時間較長。批量過程模型較多應用于半導體生產測試領域;并行過程模型的應用較為普遍,該模型下各個uut測試任務完全獨立且互不影響。針對單個uut而言,其測試執行是按順序串行處理的,從啟動測試直到所有測試動作執行完畢,之后視情況更換下一個uut繼續進行處理。理想狀態下測試執行過程中不存在競爭、死鎖等問題,可大幅度提高測試效率與測試吞吐率。
綜上所述,無論是批量過程模型,還是并發處理模型,由于并行測試系統中所采用并行測試環境主要是單處理器非實時操作系統(如windows),加上儀表設備、測試接口裝置等臨界資源的約束限制,實際上目前的各種并行測試系統并沒有真正實現“同時執行”多個uut測試任務,而僅僅實現了固定時間間隔內的uut測試任務并發執行處理。
下面描述一下目前已有并行測試系統中的并行測試任務執行方法。
2.2.2已有的并行測試任務執行方法
目前已有的并行測試任務執行方法,主要側重于利用成熟技術與貨架軟硬件資源進行綜合集成,歸納起來可以說是“整體上并發執行、局部串行化順序處理”。下面以應用較為普遍的teststand軟件并行過程模型(parallelprocessmodel)為例加以說明:如圖1所示,整體上,操作用戶首先利用測試任務操作界面依次啟動各個uut測試任務,然后各個uut測試任務獨立并發執行,相互之間無影響,輪流占用處理器時間與儀表設備資源;局部上看,單個uut測試任務按次序調整測試基本信息、執行各個預定測試動作(包括測試狀態設置、信號激勵、信號測量、數據采集、存儲記錄、報表生成…)直到所有測試動作執行完畢后,視用戶操作條件換下一個uut繼續進行處理,如此循環反復直到完成所有uut的批量測試。顯然,從執行流程上看,這種執行方法是“整體并行化異步并發執行、局部串行化順序處理”。
因而,這種并行測試任務執行方法存在不足:各個uut測試任務從啟動到就緒之間存在逐漸增加的不確定時間延遲,無法適用于各個uut測試任務“同時執行”的時間敏感場景需求。隨著uut并行規模的增加,uut測試任務并發數目必然增多,這種不確定的時延現象越發嚴重!
現有的多個uut并行測試任務執行處理技術,由操作用戶通過軟件測試任務操作界面依次啟動各個uut測試任務,然后各個uut測試任務依次就緒并獨立并發執行,輪流占用處理器時間與儀表設備資源完成相關測試動作。該技術存在如下缺點:
1、各個uut測試任務從執行啟動到功能就緒之間存在不確定的時間延遲。由于并行測試運行環境是單處理器非實時操作系統(如windows),技術實現上采用的是多進程或多線程結構,均是通過處理器在進程間或線程間切換來完成處理,這就必然會占用處理器cpu時間與內存資源,因而時間延遲不可避免。uut測試任務的依次啟動處理,本質上是一個創建線程或加載進程、功能就緒初始化的過程。啟動處理過程所占用的cpu時間越長,也就意味著uut測試任務就緒的時間延遲量越大。同時,由于這個啟動處理過程存在著與其它線程或進程之間的處理器資源競爭,各個uut測試任務執行的這種時延間隔必然是不確定的。
2、無法實現各個uut測試任務“同時執行”的需求場景。“同時執行”,意味著各個uut并行測試任務必須在同一時刻或者極短時間間隔內并發執行。uut測試任務從執行啟動到就緒之間所存在的不確定時延,必然導致難以實現“同時執行”。而且,隨著uut測試任務數并發目的增加,這種時間延遲的不確定性越發明顯。因而,現有技術無法適用于多個uut測試任務要求“同時執行”的時間敏感場景需求。
技術實現要素:
針對現有技術中存在的上述技術問題,本發明提出了一種并行測試任務的同步觸發執行方法,設計合理,克服了現有技術的不足,能夠有效解決uut測試任務的執行時間延遲不確定且受uut并行測試數目影響的問題,具有良好的效果。
為了實現上述目的,本發明采用如下技術方案:
一種并行測試任務的同步觸發執行方法,包括如下步驟:
步驟1:設計uut測試任務同步觸發器,提供其屬性參數與功能函數的應用編程接口;
步驟2:設計uut測試任務操作界面,提供測試狀態顯示區域與uut測試過程控制功能按鈕;
步驟3:設計uut測試任務操作界面的測試過程配置按鈕,注冊回調函數為彈出測試過程配置窗口;
步驟4:設計uut測試任務操作界面的測試過程啟動按鈕,注冊回調函數為所有同步觸發器的觸發狀態依次設置為激活狀態;
步驟5:設計uut測試任務操作界面的測試過程停止按鈕,注冊回調函數為停止正在運行中的uut測試任務;
步驟6:設計uut測試任務操作界面的測試過程退出按鈕,注冊回調函數為退出當前人機交互界面;
步驟7:操作用戶通過uut測試任務操作界面進行uut測試過程的控制選項參數調整與設置;
步驟8:操作用戶通過uut測試任務操作界面進行uut測試任務的啟動、停止或退出操作。
優選地,在步驟1中,同步觸發器的屬性參數至少包括控制句柄id、觸發類型、觸發狀態與觸發動作;功能函數至少包括創建觸發器、觸發類型設置、觸發狀態設置、觸發動作注冊與釋放觸發器;
其中,控制句柄id為唯一數值,規定大于0為正常成功狀態,小于0為異常失敗狀態,等于0表示觸發器已進行資源釋放;單個同步觸發器對應一個uut測試任務,且通過該控制句柄id來進行資源申請、參數配置、功能調用與資源釋放;
觸發類型至少包括立即執行和延遲執行,延遲時間可設置,而且時間控制精度與并發任務執行的時間延遲同量級;
觸發狀態至少包括激活與無效兩種;激活狀態下依據觸發類型進行觸發動作執行且不允許進行觸發動作重新注冊;無效狀態下觸發器的觸發動作處于失去執行能力且允許進行觸發動作的注冊;
觸發動作至少允許指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件,觸發動作在觸發激活狀態下立刻響應執行且正常結束后自動變更觸發狀態為無效;
觸發類型缺省設置為立即執行,觸發狀態缺省設置為無效,觸發動作缺省注冊為uut測試任務動作序列。
優選地,在步驟2中,測試狀態顯示區域至少包括uut測試基本信息、uut測試過程狀態與用戶操作記錄;uut測試基本信息至少包括操作用戶、測試時間、測試環境、測試資源以及測試對象的名稱和相關屬性;uut測試過程狀態包括未裝載(unloaded)、就緒(ready)、運行中(running)、暫停(halted)、已完成(finish)與未知(unknown);用戶操作記錄顯示用戶通過uut測試任務操作界面所產生的日志信息與異常錯誤信息;
uut測試過程控制功能按鈕至少包括配置按鈕、啟動按鈕、停止按鈕與退出按鈕;配置按鈕用于輔助用戶對測試過程模型、測試工位并發數目與uut測試任務應用程序進行設置,測試過程模型至少提供順序過程模型、并行過程模型與批量過程模型三種,測試工位并發數目與uut測試任務并發數目保持一致、uut測試任務并發數目與觸發器數目保持一致,uut測試任務應用程序被指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件;啟動按鈕用于輔助用戶來控制uut測試任務在后臺進行自動執行,并在更新各個uut測試任務的測試過程狀態;停止按鈕用于輔助用戶強制終止正在運行中的uut測試任務;退出按鈕用于輔助用戶退出當前的uut測試任務操作界面;功能按鈕的無效屬性的控制關系設置為:進入uut測試任務操作界面時,停止按鈕無效為真,其他按鈕無效為假;啟動按鈕執行后,停止按鈕無效為假,其他按鈕無效為真;停止按鈕執行后,所有按鈕無效為真;單個uut測試任務執行完成且進行uut測試過程狀態顯示時,若所有uut測試過程狀態均不是運行中,則停止按鈕無效為真、其他按鈕無效為假。
優選地,在步驟3中,測試過程配置窗口控制選項至少包括測試過程模型、測試工位并發數目與uut測試任務應用程序;調整完畢確認成功后返回uut測試任務操作界面時,按照控制選項參數進行自動配置,按照測試工位并發數目依次進行觸發器創建與觸發器屬性參數設置,觸發狀態設置為無效、觸發動作注冊為所選uut測試任務應用程序;
其中,測試過程模型至少提供順序過程模型、并行過程模型與批量過程模型三種,缺省為并行過程模型;測試工位并發數目與uut測試任務并發數目對應,限制數值為≥1、小于最大uut并發數目,缺省數值為4;uut測試任務應用程序被指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件。
優選地,在步驟4中,所述注冊回調函數的代碼執行優化為最少時間耗費,當單個觸發器的狀態設置為激活時,其觸發動作立刻被執行到,當所有觸發器批量激活時,觸發動作所指定uut測試任務能夠同時被執行到。
優選地,在步驟5中,具體包括如下步驟:
步驟5.1:依次判斷各個uut測試過程狀態是否在運行中;
若:判斷結果為各個uut測試過程狀態沒有在運行中,則略過當前uut測試過程處理;
或判斷結果為各個uut測試過程狀態在運行中,則設置相應的觸發器激活狀態無效,等待后臺觸發動作所執行的uut測試任務退出,并同步更新測試狀態顯示;
步驟5.2:相應觸發器的觸發動作依據測試過程具體情況對觸發無效狀態進行響應,觸發動作執行結束時,判斷觸發狀態是否為激活,若是則設置觸發狀態為無效;
步驟5.3判斷觸發動作執行返回狀態;
若:判斷結果為觸發動作執行返回狀態正常,則同步更新uut測試過程狀態為已完成;
或判斷結果為觸發動作執行返回狀態不正常,則同步更新uut測試過程狀態為暫停。
優選地,在步驟6中,依次根據各個觸發器判斷觸發狀態是否為無效;
若:判斷結果為觸發狀態為無效,則提示等待;
或判斷結果為觸發狀態為有效,則依次釋放各個觸發器資源以及uut測試任務操作界面相關資源。
優選地,在步驟7中,可調整控制選項參數至少包括測試過程模型、測試工位并發數目、uut測試任務應用程序;測試工位并發數目與觸發器數目對應,uut測試任務應用程序與觸發動作對應;控制選項參數調整完畢后,若測試過程模型為并行過程模型,則按照觸發器數目進行觸發器創建與觸發器屬性參數設置,其中觸發類型設置為立即執行、觸發狀態設置為無效、觸發動作注冊為所選uut測試任務應用程序。
優選地,在步驟8中,具體包括如下步驟:
步驟8.1:響應uut測試任務操作界面的測試過程人機界面交互;若為啟動按鈕執行,則執行步驟8.2;否則,繼續空閑等待;
步驟8.2:將各個uut測試任務觸發器的觸發狀態都設置為激活,更新所有功能按鈕的無效狀態;
步驟8.3:各個uut測試任務觸發器對應的觸發動作按照預先設定進行自動響應執行,各個測試任務功能就緒;
步驟8.4:單個uut測試任務觸發器對應的觸發動作執行處理,即調整uut測試基本信息、執行所注冊觸發動作的uut測試任務應用程序以及通知uut測試任務操作界面進行測試執行狀態顯示;
步驟8.5:響應操作用戶通過uut測試任務操作界面所進行的人工干預;若為停止按鈕操作,則更新所有功能按鈕的無效狀態,然后執行步驟8.7;
步驟8.6:單個uut測試任務的觸發動作執行完畢后,設置當前觸發器的觸發狀態為無效,提示并引導用戶確定是否處理下一個uut測試任務;若處理下一個uut測試任務,則設置當前觸發器的觸發狀態為激活,然后執行步驟8.3;否則,執行步驟8.7;
步驟8.7:更新uut測試過程狀態顯示與用戶操作記錄日志顯示;
步驟8.8:響應uut測試任務操作界面的測試過程人機界面交互;若為啟動按鈕執行,則執行步驟8.2;若為退出按鈕執行,則依次釋放各個觸發器資源以及uut測試任務操作界面相關資源。
本發明所帶來的有益技術效果:
本發明所提出的并行測試任務的同步觸發執行方法,基于同步觸發器搭建各個uut測試任務的測試過程控制機制,利用觸發器屬性參數設置和功能函數調用來完成測試過程控制選項的預先調整與設置,當用戶通過測試任務操作界面來啟動uut測試任務時,可立刻執行所注冊的所有uut測試任務應用程序;本發明具有uut測試任務的執行時間延遲穩定可設且不受uut并行測試數目影響的優點,尤其適用于要求各個uut測試任務“同時執行”的需求場景。
附圖說明
圖1為待測件測試任務執行的流程圖。
圖2為順序測試任務執行示意圖。
圖3為批量過程模型和并行過程模型的示意圖。
圖4為本發明方法的流程框圖。
圖5為本發明方法的動作關系示意圖。
具體實施方式
下面結合附圖以及具體實施方式對本發明作進一步詳細說明:
一種并行測試任務的同步觸發執行方法,其流程如圖4所示,動作關系如圖5所示,針對多個uut測試任務“同時執行”的需求場景,基于同步觸發器搭建各個uut測試任務的測試過程控制機制,利用觸發器屬性參數設置和功能函數調用來完成測試過程控制選項的預先調整與設置。當用戶通過測試任務操作界面來啟動uut測試任務時,可立刻執行所注冊的所有uut測試任務應用程序,進而有效改善uut測試任務并發執行的時延現象。具體包括如下步驟:
步驟100,設計uut測試任務同步觸發器,提供屬性參數與功能函數api(applicationprogramminginterface);
步驟102,設計uut測試任務操作界面,提供測試狀態顯示區域與uut測試過程控制功能按鈕;
步驟104,設計uut測試任務操作界面的測試過程配置按鈕,注冊回調函數為彈出測試過程配置窗口;
步驟106,設計uut測試任務操作界面的測試過程啟動按鈕,注冊回調函數為所有同步觸發器的觸發狀態依次設置為激活狀態;
步驟108,設計uut測試任務操作界面的測試過程停止按鈕,注冊回調函數為停止正在運行中的uut測試任務;
步驟110,設計uut測試任務操作界面的測試過程退出按鈕,注冊回調函數為退出當前人機交互界面;
步驟112,操作用戶通過uut測試任務操作界面進行uut測試過程的控制選項參數調整與設置;
步驟114,操作用戶通過uut測試任務操作界面進行uut測試任務的啟動、停止或退出操作。
在步驟100中,具體包括:
a、利用處理器內部高精度時鐘發生器和操作系統提供的異步定時器或線程池機制來設計同步觸發器,提供屬性參數與功能函數api。其中屬性參數至少包括控制句柄id、觸發類型、觸發狀態與觸發動作,功能函數至少包括創建觸發器、觸發類型設置、觸發狀態設置、觸發動作注冊與釋放觸發器;
b、控制句柄id為唯一數值,約定大于0為正常成功狀態,小于0為異常失敗狀態,等于0表示觸發器已進行資源釋放;單個同步觸發器對應一個uut測試任務,且通過該控制句柄id來進行資源申請、參數配置、功能調用與資源釋放;
c、觸發類型至少包括立即執行和延遲執行,延遲時間可設置,而且時間控制精度與并發任務執行的時間延遲同量級(受處理器時鐘發生器計數時間精度限制);
d、觸發狀態至少包括激活與無效兩種。激活狀態下依據觸發類型進行觸發動作執行且不允許進行觸發動作重新注冊;無效狀態下觸發器的觸發動作處于失去執行能力且允許進行觸發動作的注冊;
e、觸發動作至少允許指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件,觸發動作在觸發激活狀態下立刻響應執行且正常結束后自動變更觸發狀態為無效。要求觸發動作優化設計,既方便觸發點火時快速自動執行,又要允許重新注冊為其他uut測試任務應用程序;
f,觸發類型缺省設置為立即執行,觸發狀態缺省設置為無效,觸發動作缺省注冊為uut測試任務動作序列。
在步驟102中,具體包括:
a、顯示區域至少包括uut測試基本信息顯示、uut測試過程狀態顯示與用戶操作記錄顯示。uut測試基本信息至少包括操作用戶、測試時間、測試環境、測試資源以及測試對象的名稱和相關屬性;uut測試過程狀態包括未裝載(unloaded)、就緒(ready)、運行中(running)、暫停(halted)、已完成(finish)與未知(unknown);用戶操作記錄顯示用戶通過uut測試任務操作界面所產生的日志信息與異常錯誤信息;
b、uut測試過程功能按鈕至少包括配置、啟動、停止與退出。配置按鈕可以輔助用戶對測試過程模型、測試工位并發數目與uut測試任務應用程序進行設置,測試過程模型至少提供順序過程模型、并行過程模型與批量過程模型三種,測試工位并發數目與uut測試任務并發數目對應,uut測試任務應用程序被指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件;啟動按鈕可以輔助用戶來控制uut測試任務在后臺進行自動執行,并在更新各個uut測試任務的測試過程狀態;停止按鈕可以輔助用戶強制終止正在運行中的uut測試任務;退出按鈕可以輔助用戶退出當前的uut測試任務操作界面。功能按鈕的無效屬性設置控制關系設計為:進入uut測試任務操作界面時,停止按鈕無效為真,其他按鈕無效為假;啟動按鈕執行后,停止按鈕無效為假,其他按鈕無效為真;停止按鈕執行后,所有按鈕無效為真;單個uut測試任務執行完成且進行uut測試過程狀態顯示時,若所有uut測試過程狀態均不是運行中(running),則停止按鈕無效為真、其他按鈕無效為假。
在步驟104中,具體包括:測試過程配置窗口控制選項至少包括測試過程模型、測試工位并發數目與uut測試任務應用程序。調整完畢確認成功后返回uut測試任務操作界面時,按照控制選項參數進行自動配置。按照測試工位并發數目依次進行觸發器創建與觸發器屬性參數設置,觸發狀態設置為無效、觸發動作注冊為所選uut測試任務應用程序;
其中,測試過程模型至少提供順序過程模型、并行過程模型與批量過程模型三種,缺省為并行過程模型。測試工位并發數目與uut測試任務并發數目對應,限制數值為大于等于1、小于最大uut并發數目,缺省數值為4。uut測試任務應用程序可指定為當前有效的測試動作序列、可執行測試應用程序或動態庫模式測試應用程序媒體文件。
在步驟106中,具體包括:所注冊回調函數的代碼執行應優化為最少時間耗費,以確保其執行時間耗費與觸發時延相比較可以忽略不計。當單個觸發器的狀態設置為激活時,其觸發動作可以立刻被執行到。當所有觸發器批量激活時,觸發動作所指定uut測試任務則能夠同時被執行到,進而確保通過各個觸發器的觸發動作執行來完成所有uut測試任務的并發處理。
在步驟108中,具體包括如下步驟:
a、依次判斷各個uut測試過程狀態是否為running(運行中)。若否,則略過當前uut測試過程處理;若是,則設置相應的觸發器激活狀態無效、等待后臺觸發動作所執行的uut測試任務進行退出,并同步更新測試狀態顯示;
b、相應觸發器的觸發動作可以依據測試過程具體情況對觸發無效狀態進行響應。觸發動作執行結束時,判斷觸發狀態是否為激活,若是則設置觸發狀態為無效;
c、若觸發動作執行返回狀態為正常,則同步更新uut測試過程狀態為finish(已完成),否則同步更新uut測試過程狀態為halted(暫停)。
在步驟110中,具體包括:
依次根據各個觸發器判斷觸發狀態是否為無效,若是則進行提示等待,若否則進行相關資源的釋放。
在步驟112中,具體包括:
可調整控制選項參數至少包括測試過程模型、測試工位并發數目(對應觸發器數目)與uut測試任務應用程序(對應觸發動作);控制選項參數調整完畢后,若測試過程模型為并行過程模型,則按照觸發器數目進行觸發器創建與觸發器屬性參數設置,其中觸發類型設置為立即執行、觸發狀態設置為無效、觸發動作注冊為所選uut測試任務應用程序。
在步驟114中,具體包括如下步驟:
a、響應uut測試任務操作界面的測試過程人機界面交互。若為啟動按鈕執行,則執行b;否則,繼續空閑等待;
b、將各個uut測試任務觸發器的觸發狀態都設置為激活,更新所有功能按鈕的無效狀態;
c、各個uut測試任務觸發器對應的觸發動作按照預先設定進行自動響應執行,各個測試任務功能就緒;
d、單個uut測試任務觸發器對應的觸發動作執行處理,即調整uut測試基本信息、執行所注冊觸發動作的uut測試任務應用程序、通知uut測試任務操作界面進行測試執行狀態顯示;
e、響應操作用戶通過uut測試任務操作界面所進行的人工干預。若為停止按鈕操作,則更新所有功能按鈕的無效狀態后執行g;
f、單個uut測試任務的觸發動作執行完畢后,設置當前觸發器的觸發狀態為無效,提示并引導用戶確定是否處理下一個uut測試任務。若處理下一個uut測試任務,則設置當前觸發器的觸發狀態為激活、執行c;否則,繼續執行g;
g、更新uut測試過程狀態顯示與用戶操作記錄日志顯示;
h、響應uut測試任務操作界面的測試過程人機界面交互。若為啟動按鈕執行,則執行步驟b;若為退出按鈕執行,則依次釋放各個觸發器資源、釋放uut測試任務操作界面相關資源。
當然,上述說明并非是對本發明的限制,本發明也并不僅限于上述舉例,本技術領域的技術人員在本發明的實質范圍內所做出的變化、改型、添加或替換,也應屬于本發明的保護范圍。