專利名稱:一種rfid構(gòu)件動態(tài)測試系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于RFID應(yīng)用集成構(gòu)件庫的構(gòu)件測試領(lǐng)域,具體涉及一種RFID構(gòu)件動態(tài)測試系統(tǒng)及方法。
背景技術(shù):
當(dāng)前,RFID構(gòu)件的測試方法主要有單元測試方法和集成測試方法,但無論是單元測試方法還是集成測試方法,一般都是針對RFID構(gòu)件的功能或是性能進(jìn)行驗(yàn)證,測試人員首先編寫特定的測試用例,對構(gòu)件中待測試的RFID應(yīng)用集成模塊輸入特定參數(shù),再驗(yàn)證待測試模塊的輸出結(jié)果是否滿足邏輯上或是性能上的要求,以此來判定構(gòu)件是否合格,是否滿足構(gòu)件設(shè)計(jì)的要求。傳統(tǒng)的可重構(gòu)RFID中間件桌面開發(fā)環(huán)境中的構(gòu)件測試模塊所進(jìn)行的測試就屬于此類測試。這種測試方法是靜態(tài)的、過程驅(qū)動的,不能對RFID構(gòu)件運(yùn)行時(shí)產(chǎn)生的變化進(jìn)行測試,難以對RFID構(gòu)件的動態(tài)性和運(yùn)行時(shí)的正確性做出正確的評估。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的是提供一種面向RFID應(yīng)用集成的、動態(tài)的、 事件驅(qū)動的,能夠測試RFID構(gòu)件對其運(yùn)行時(shí)環(huán)境改變反映的正確性的RFID構(gòu)件動態(tài)測試系統(tǒng)及方法。為實(shí)現(xiàn)上述目的,本發(fā)明的一種技術(shù)方案為 一種RFID構(gòu)件動態(tài)測試方法,包括以下步驟
A.將與一個(gè)或多個(gè)測試用例對應(yīng)的測試情景輸入到測試構(gòu)件執(zhí)行器中執(zhí)行;
B.構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器實(shí)時(shí)監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù),生成滿足測試用例觸發(fā)的觸發(fā)條件;
C.當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,判斷該變化是否滿足測試情景中所對應(yīng)的測試用例觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束;
D.測試情景執(zhí)行器收到通知后,執(zhí)行該測試用例,測試結(jié)果監(jiān)聽器及時(shí)監(jiān)聽測試用例的執(zhí)行情況,并實(shí)時(shí)輸出測試結(jié)果;
E.將該測試用例加入到已經(jīng)執(zhí)行器中,并將該測試用例從正在執(zhí)行器中移除。測試情景封裝構(gòu)件運(yùn)行時(shí)事件的變化用于模擬構(gòu)件動態(tài)測試情景,觸發(fā)條件中包含有構(gòu)件運(yùn)行時(shí)環(huán)境中構(gòu)件和服務(wù)的參數(shù)以及RFID閱讀器和RFID中間件的狀態(tài)參數(shù),隨著測試情景的執(zhí)行,構(gòu)件測試框架的運(yùn)行時(shí)環(huán)境將發(fā)生變化,當(dāng)所發(fā)生的變化滿足測試用例的觸發(fā)條件時(shí),該測試用例將得到執(zhí)行。所述觸發(fā)條件包含三類觸發(fā)條件構(gòu)件級觸發(fā)條件、服務(wù)級觸發(fā)條件、RFID觸發(fā)條件。構(gòu)件級觸發(fā)條件中包含有構(gòu)件的編號、構(gòu)件的版本和構(gòu)件所處的狀態(tài),構(gòu)件所處的狀態(tài)包括構(gòu)件加載失敗、構(gòu)件加載成功、構(gòu)件依賴解析注入成功、構(gòu)件依賴解析注入失敗、構(gòu)件正在執(zhí)行啟動邏輯、構(gòu)件啟動邏輯執(zhí)行完成、構(gòu)件正在執(zhí)行停止邏輯、構(gòu)件停止邏輯執(zhí)行完成、構(gòu)件更新和構(gòu)件已經(jīng)啟動。當(dāng)構(gòu)件處于上述其中一個(gè)狀態(tài)時(shí)構(gòu)件級觸發(fā)條件得到滿足,觸發(fā)所對應(yīng)的測試用例執(zhí)行。服務(wù)級觸發(fā)條件中包含有服務(wù)的類名、服務(wù)屬性過濾器,以及服務(wù)目前的狀態(tài),服務(wù)目前的狀態(tài)包括服務(wù)注冊成功、服務(wù)注銷成功、服務(wù)修改、服務(wù)正在注冊、服務(wù)正在注銷,當(dāng)服務(wù)處于上述其中的一個(gè)服務(wù)目前狀態(tài)服務(wù)級觸發(fā)條件得到滿足,觸發(fā)所對應(yīng)的測試用例執(zhí)行。RFID觸發(fā)條件中包含有RFID閱讀器以及RFID中間件目前的狀態(tài),所述RFID閱讀器以及RFID中間件目前的狀態(tài)包括添加RFID閱讀器、修改RFID閱讀器、刪除RFID閱讀器、刷新所有RFID閱讀器、啟動RFID中間件、停止RFID中間件、退出RFID中間件,當(dāng)RFID 閱讀器或RFID中間件處于上述其中一個(gè)狀態(tài)時(shí),RFID觸發(fā)條件得到滿足,觸發(fā)所對應(yīng)的測試用例執(zhí)行。作為一種優(yōu)選方案,測試情景與測試用例為多對多的關(guān)系,一個(gè)測試情景對應(yīng)一個(gè)或多個(gè)測試用例,一個(gè)測試用例對應(yīng)一個(gè)或多個(gè)測試情景,每個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件。測試情景包含有以下內(nèi)容測試情景序列號、測試情景名稱、測試情景描述、測試用例集,測試情景執(zhí)行邏輯。測試用例包含有以下內(nèi)容測試用例序號、測試用例名稱、測試用例描述、測試用例的觸發(fā)條件、測試用例允許的異常情況、是否強(qiáng)制執(zhí)行的測試用例、測試用例的執(zhí)行頻率,測試用例的執(zhí)行邏輯。其中,是否強(qiáng)制執(zhí)行的測試用例指的是在測試情景中是否必須執(zhí)行該測試用例,如果某個(gè)測試情景產(chǎn)生的觸發(fā)條件未能覆蓋到該測試情景所包含的強(qiáng)制測試用例,則此強(qiáng)制執(zhí)行的測試用例的測試結(jié)果為測試失敗。作為進(jìn)一步的優(yōu)選方案,所述測試用例包括只執(zhí)行一次的測試用例和只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例。作為進(jìn)一步的優(yōu)選方案,所述步驟C的具體步驟為當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器進(jìn)行如下判斷
Cl.提取測試情景所對應(yīng)的一個(gè)測試用例;
C2.檢測提取出來的測試用例,判斷該測試用例是否位于正在執(zhí)行器里,若是,則執(zhí)行步驟C3,若不是則執(zhí)行步驟C4 ;
C3.判斷是否已經(jīng)檢測完該測試情景所對應(yīng)的所有測試用例,若是則結(jié)束,若不是則提取下一個(gè)測試用例并執(zhí)行步驟C2 ;
C4.判斷該測試用例是否位于已經(jīng)執(zhí)行器內(nèi),若是則進(jìn)入步驟C5,若不是則進(jìn)入步驟
C6 ;
C5.判斷該測試用例是否是只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例,若是, 則執(zhí)行步驟C6,若不是則結(jié)束;
C6.判斷構(gòu)件或服務(wù)發(fā)生的變化是否滿足該測試用例的觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束。作為再進(jìn)一步的優(yōu)選方案,執(zhí)行步驟D后還進(jìn)行如下步驟將該測試用例加入到已經(jīng)執(zhí)行器中,并將該測試用例從正在執(zhí)行器中移除。作為另一種優(yōu)選方案,還包括執(zhí)行添加需要測試構(gòu)件的步驟
5a.測試構(gòu)件尋找器實(shí)時(shí)尋找當(dāng)前運(yùn)行時(shí)環(huán)境中是否存在需要測試構(gòu)件,若是,則通知測試構(gòu)件注冊器,若不是則重復(fù)該步驟;
b.測試構(gòu)件注冊器收到測試構(gòu)件尋找器的通知后,將需要測試構(gòu)件加入到測試構(gòu)件存儲器中,并通知測試構(gòu)件處理器處理;
c.測試構(gòu)件處理器收到通知后,測試構(gòu)件處理器將該需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中進(jìn)行測試。作為更進(jìn)一步的優(yōu)選方案,所述步驟a具體為
al.測試構(gòu)件尋找器中設(shè)置有標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器,標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件的狀態(tài),當(dāng)有構(gòu)件的狀態(tài)發(fā)生變化時(shí),標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器判斷該變化構(gòu)件的狀態(tài)是否為啟動,若是,則進(jìn)入步驟a2,否則重復(fù)該步驟;
a2.判斷該狀態(tài)發(fā)生變化的構(gòu)件是否為測試構(gòu)件,若是,則將通知測試構(gòu)件注冊器,否則返回到步驟al。本發(fā)明的另一種技術(shù)方案為 一種RFID構(gòu)件動態(tài)測試系統(tǒng),包括
存儲有測試用例并執(zhí)行輸入的測試情景的測試構(gòu)件執(zhí)行器,所述測試情景對應(yīng)一個(gè)或多個(gè)測試用例;
用于監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù)的構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器,所述構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器中生成有滿足測試用例觸發(fā)的觸發(fā)條件,一個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件;
存儲正在執(zhí)行的測試用例的正在執(zhí)行器; 存儲已經(jīng)執(zhí)行完的測試用例的已經(jīng)執(zhí)行器;
用于監(jiān)聽測試用例的執(zhí)行情況并實(shí)時(shí)輸出測試結(jié)果的測試結(jié)果監(jiān)聽器; 測試構(gòu)件執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接,正在執(zhí)行器和已經(jīng)執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接。作為另一種優(yōu)選方案,還包括用于尋找需要測試構(gòu)件的測試構(gòu)件尋找器、用于注冊需要測試構(gòu)件的測試構(gòu)件注冊器和用于將需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中的測試構(gòu)件處理器,測試構(gòu)件尋找器與測試構(gòu)件注冊器連接,測試構(gòu)件注冊器與測試構(gòu)件處理器連接,測試構(gòu)件處理器與測試構(gòu)件執(zhí)行器連接。作為進(jìn)一步的優(yōu)選方案,所述測試構(gòu)件尋找器中設(shè)置有用于監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件狀態(tài)變化的標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器,所述標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器與測試構(gòu)件注冊器連接。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果
本發(fā)明是面向RFID應(yīng)用集成的、動態(tài)的、事件驅(qū)動的,能夠?qū)FID構(gòu)件運(yùn)行時(shí)的數(shù)據(jù)和信息進(jìn)行采集、分析,并根據(jù)分析結(jié)果對整個(gè)基于構(gòu)件的RFID應(yīng)用系統(tǒng)的動態(tài)性及運(yùn)行時(shí)的正確性給出評估。
圖IA和IB為本發(fā)明中一種RFID構(gòu)件動態(tài)測試方法的流程框圖; 圖2為本發(fā)明中一種RFID構(gòu)件動態(tài)測試系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)行詳細(xì)的描述。如圖IA和IB所示,本發(fā)明的一種RFID構(gòu)件動態(tài)測試方法,包括如下步驟
a.測試構(gòu)件尋找器實(shí)時(shí)尋找當(dāng)前運(yùn)行時(shí)環(huán)境中是否存在需要測試構(gòu)件,若是,則通知測試構(gòu)件注冊器,若不是則重復(fù)該步驟;
al.測試構(gòu)件尋找器中設(shè)置有標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器,標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件的狀態(tài),當(dāng)有構(gòu)件的狀態(tài)發(fā)生變化時(shí),標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器判斷該變化構(gòu)件的狀態(tài)是否為啟動,若是,則進(jìn)入步驟a2,否則重復(fù)該步驟;
a2.判斷該狀態(tài)發(fā)生變化的構(gòu)件是否為測試構(gòu)件,若是,則將通知測試構(gòu)件注冊器,否則返回到步驟al ;
b.測試構(gòu)件注冊器收到測試構(gòu)件尋找器的通知后,將需要測試構(gòu)件加入到測試構(gòu)件存儲器中,并通知測試構(gòu)件處理器處理;
c.測試構(gòu)件處理器收到通知后,測試構(gòu)件處理器將該需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中進(jìn)行測試。A.將與一個(gè)或多個(gè)測試用例對應(yīng)的測試情景輸入到測試構(gòu)件執(zhí)行器中執(zhí)行;
B.構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器實(shí)時(shí)監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù),生成滿足測試用例觸發(fā)的觸發(fā)條件;
C.當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,判斷該變化是否滿足測試情景中所對應(yīng)的測試用例觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束;
步驟C的具體步驟為當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器進(jìn)行如下判斷 Cl.提取測試情景所對應(yīng)的一個(gè)測試用例;
C2.檢測提取出來的測試用例,判斷該測試用例是否位于正在執(zhí)行器里,若是,則執(zhí)行步驟C3,若不是則執(zhí)行步驟C4 ;
C3.判斷是否已經(jīng)檢測完該測試情景所對應(yīng)的所有測試用例,若是則結(jié)束,若不是則提取下一個(gè)測試用例并執(zhí)行步驟C2 ;
C4.判斷該測試用例是否位于已經(jīng)執(zhí)行器內(nèi),若是則進(jìn)入步驟C5,若不是則進(jìn)入步驟
C6;
C5.判斷該測試用例是否是只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例,若是, 則執(zhí)行步驟C6,若不是則結(jié)束;
C6.判斷構(gòu)件或服務(wù)發(fā)生的變化是否滿足該測試用例的觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束;
D.測試情景執(zhí)行器收到通知后,執(zhí)行該測試用例,測試結(jié)果監(jiān)聽器及時(shí)監(jiān)聽測試用例的執(zhí)行情況,并實(shí)時(shí)輸出測試結(jié)果;
E.將該測試用例加入到已經(jīng)執(zhí)行器中,并將該測試用例從正在執(zhí)行器中移除。其中,測試情景與測試用例為多對多的關(guān)系,一個(gè)測試情景對應(yīng)一個(gè)或多個(gè)測試用例,一個(gè)測試用例對應(yīng)一個(gè)或多個(gè)測試情景,每個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件。測試用例包括只執(zhí)行一次的測試用例和只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例。如圖2所示,一種RFID構(gòu)件動態(tài)測試系統(tǒng),包括
測試構(gòu)件執(zhí)行器存儲有測試用例并執(zhí)行輸入測試情景,測試情景對應(yīng)一個(gè)或多個(gè)測試用例;
構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器用于監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù)的,構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器中生成有滿足測試用例觸發(fā)的觸發(fā)條件,一個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件;
正在執(zhí)行器存儲正在執(zhí)行的測試用例; 已經(jīng)執(zhí)行器存儲已經(jīng)執(zhí)行完的測試用例;
測試結(jié)果監(jiān)聽器用于監(jiān)聽測試用例的執(zhí)行情況并實(shí)時(shí)輸出測試結(jié)果; 測試構(gòu)件執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接,正在執(zhí)行器和已經(jīng)執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接。系統(tǒng)還包括
測試構(gòu)件尋找器用于尋找需要測試構(gòu)件
標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器設(shè)置在測試構(gòu)件尋找器中,用于監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件狀態(tài)變化;
測試構(gòu)件注冊器用于注冊需要測試構(gòu)件;
測試構(gòu)件處理器用于將需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中; 測試構(gòu)件尋找器、標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器與測試構(gòu)件注冊器連接,測試構(gòu)件注冊器與測試構(gòu)件處理器連接,測試構(gòu)件處理器與測試構(gòu)件執(zhí)行器連接。
權(quán)利要求
1.一種RFID構(gòu)件動態(tài)測試方法,其特征在于,包括以下步驟A.將與一個(gè)或多個(gè)測試用例對應(yīng)的測試情景輸入到測試構(gòu)件執(zhí)行器中執(zhí)行;B.構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器實(shí)時(shí)監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù),生成滿足測試用例觸發(fā)的觸發(fā)條件;C.當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,判斷該變化是否滿足測試情景中所對應(yīng)的測試用例觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束;D.測試情景執(zhí)行器收到通知后,執(zhí)行該測試用例,測試結(jié)果監(jiān)聽器及時(shí)監(jiān)聽測試用例的執(zhí)行情況,并實(shí)時(shí)輸出測試結(jié)果;E.將該測試用例加入到已經(jīng)執(zhí)行器中,并將該測試用例從正在執(zhí)行器中移除。
2.根據(jù)權(quán)利要求1所述的RFID構(gòu)件動態(tài)測試方法,其特征在于,測試情景與測試用例為多對多的關(guān)系,一個(gè)測試情景對應(yīng)一個(gè)或多個(gè)測試用例,一個(gè)測試用例對應(yīng)一個(gè)或多個(gè)測試情景,每個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件。
3.根據(jù)權(quán)利要求2所述的RFID構(gòu)件動態(tài)測試方法,其特征在于,所述測試用例包括只執(zhí)行一次的測試用例和只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例。
4.根據(jù)權(quán)利要求3所述的RFID構(gòu)件動態(tài)測試方法,其特征在于,所述步驟C的具體步驟為當(dāng)測試情景執(zhí)行時(shí)構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器進(jìn)行如下判斷Cl.提取測試情景所對應(yīng)的一個(gè)測試用例;C2.檢測提取出來的測試用例,判斷該測試用例是否位于正在執(zhí)行器里,若是,則執(zhí)行步驟C3,若不是則執(zhí)行步驟C4 ;C3.判斷是否已經(jīng)檢測完該測試情景所對應(yīng)的所有測試用例,若是則結(jié)束,若不是則提取下一個(gè)測試用例并執(zhí)行步驟C2 ;C4.判斷該測試用例是否位于已經(jīng)執(zhí)行器內(nèi),若是則進(jìn)入步驟C5,若不是則進(jìn)入步驟C6 ;C5.判斷該測試用例是否是只要所對應(yīng)的觸發(fā)條件滿足就反復(fù)執(zhí)行的測試用例,若是, 則執(zhí)行步驟C6,若不是則結(jié)束;C6.判斷構(gòu)件或服務(wù)發(fā)生的變化是否滿足該測試用例的觸發(fā)條件,若滿足,則構(gòu)件監(jiān)控器或服務(wù)監(jiān)控器通知測試情景執(zhí)行器執(zhí)行該測試用例,并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,若不滿足則結(jié)束。
5.根據(jù)權(quán)利要求1所述的RFID構(gòu)件動態(tài)測試方法,其特征在于,還包括執(zhí)行添加需要測試構(gòu)件的步驟a.測試構(gòu)件尋找器實(shí)時(shí)尋找當(dāng)前運(yùn)行時(shí)環(huán)境中是否存在需要測試構(gòu)件,若是,則通知測試構(gòu)件注冊器,若不是則重復(fù)該步驟;b.測試構(gòu)件注冊器收到測試構(gòu)件尋找器的通知后,將需要測試構(gòu)件加入到測試構(gòu)件存儲器中,并通知測試構(gòu)件處理器處理;c.測試構(gòu)件處理器收到通知后,測試構(gòu)件處理器將該需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中進(jìn)行測試。
6.根據(jù)權(quán)利要求5所述的RFID構(gòu)件動態(tài)測試方法,其特征在于,所述步驟a具體為al.測試構(gòu)件尋找器中設(shè)置有標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器,標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件的狀態(tài),當(dāng)有構(gòu)件的狀態(tài)發(fā)生變化時(shí),標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器判斷該變化構(gòu)件的狀態(tài)是否為啟動,若是,則進(jìn)入步驟a2,否則重復(fù)該步驟;a2.判斷該狀態(tài)發(fā)生變化的構(gòu)件是否為測試構(gòu)件,若是,則將通知測試構(gòu)件注冊器,否則返回到步驟al。
7.一種RFID構(gòu)件動態(tài)測試系統(tǒng),其特征在于,包括存儲有測試用例并執(zhí)行輸入測試情景的測試構(gòu)件執(zhí)行器,所述測試情景對應(yīng)一個(gè)或多個(gè)測試用例;用于監(jiān)控系統(tǒng)運(yùn)行時(shí)環(huán)境中各項(xiàng)運(yùn)行時(shí)參數(shù)的構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器,所述構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器中生成有滿足測試用例觸發(fā)的觸發(fā)條件,一個(gè)測試用例對應(yīng)一個(gè)觸發(fā)條件;存儲正在執(zhí)行的測試用例的正在執(zhí)行器;存儲已經(jīng)執(zhí)行完的測試用例的已經(jīng)執(zhí)行器;用于監(jiān)聽測試用例的執(zhí)行情況并實(shí)時(shí)輸出測試結(jié)果的測試結(jié)果監(jiān)聽器;測試構(gòu)件執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接,正在執(zhí)行器和已經(jīng)執(zhí)行器分別與構(gòu)件監(jiān)控器、服務(wù)監(jiān)控器和測試結(jié)果監(jiān)聽器連接。
8.根據(jù)權(quán)利要求9所述的RFID構(gòu)件動態(tài)測試系統(tǒng),其特征在于,還包括用于尋找需要測試構(gòu)件的測試構(gòu)件尋找器、用于注冊需要測試構(gòu)件的測試構(gòu)件注冊器和用于將需要測試構(gòu)件的測試情景輸入到測試構(gòu)件執(zhí)行器中的測試構(gòu)件處理器,測試構(gòu)件尋找器與測試構(gòu)件注冊器連接,測試構(gòu)件注冊器與測試構(gòu)件處理器連接,測試構(gòu)件處理器與測試構(gòu)件執(zhí)行器連接。
9.根據(jù)權(quán)利要求8所述的RFID構(gòu)件動態(tài)測試系統(tǒng),其特征在于,所述測試構(gòu)件尋找器中設(shè)置有用于監(jiān)聽系統(tǒng)當(dāng)前運(yùn)行時(shí)環(huán)境中構(gòu)件狀態(tài)變化的標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器,所述標(biāo)準(zhǔn)構(gòu)件監(jiān)聽器與測試構(gòu)件注冊器連接。
全文摘要
本發(fā)明屬于RFID應(yīng)用集成構(gòu)件庫的構(gòu)件測試領(lǐng)域,具體涉及一種RFID構(gòu)件動態(tài)測試系統(tǒng)及方法。方法包括步驟A.測試構(gòu)件執(zhí)行器執(zhí)行測試情景;B.構(gòu)件監(jiān)控器和服務(wù)監(jiān)控器生成觸發(fā)條件;C.當(dāng)監(jiān)測到構(gòu)件或服務(wù)發(fā)生變化,判斷該變化是否滿足測試情景中所對應(yīng)的測試用例觸發(fā)條件,若滿足,則通知測試情景執(zhí)行器執(zhí)行該測試用例并將該測試用例加入到正在執(zhí)行器內(nèi),然后進(jìn)入步驟D,否則結(jié)束;D.測試情景執(zhí)行器執(zhí)行該測試用例,測試結(jié)果監(jiān)聽器監(jiān)聽執(zhí)行情況并輸出測試結(jié)果;E.將該測試用例加入已經(jīng)執(zhí)行器中并從正在執(zhí)行器中移除。本發(fā)明是面向RFID應(yīng)用集成的、動態(tài)的、事件驅(qū)動的,能測試RFID構(gòu)件對其運(yùn)行時(shí)環(huán)境改變反映的正確性。
文檔編號G06F11/36GK102279794SQ201110230469
公開日2011年12月14日 申請日期2011年8月12日 優(yōu)先權(quán)日2011年8月12日
發(fā)明者劉發(fā)貴, 楊陽, 申維 申請人:華南理工大學(xué)