本發(fā)明涉及界面測試技術(shù),尤指一種實現(xiàn)構(gòu)建測試對象的方法、裝置及業(yè)務(wù)配置測試的裝置。
背景技術(shù):
網(wǎng)管上的業(yè)務(wù)配置通常包含配置、上載及頁面展示三個部分;其中,配置(包括下載)是指在網(wǎng)管客戶端圖形用戶界面(GUI)界面針對一個業(yè)務(wù)配置好相應(yīng)的參數(shù)并保存。數(shù)據(jù)進入服務(wù)端,通過服務(wù)端把數(shù)據(jù)下發(fā)到設(shè)備上去,如果成功則進行數(shù)據(jù)入庫。上載是指:讀取入庫的數(shù)據(jù),在設(shè)備上將數(shù)據(jù)進行配置后,進行持久化處理。界面展示是指:根據(jù)數(shù)據(jù)持久化處理,在客戶端GUI界面上進行界面展示。
目前,針對業(yè)務(wù)配置的測試主要是采用QTP(Mercury公司開發(fā)的一種自動測試工具)等工具進行,業(yè)務(wù)配置的測試依賴于網(wǎng)管運行環(huán)境,且只適合在界面相對穩(wěn)定的情況下使用,而在界面變化較大的情況下,需要測試人員根據(jù)界面變化進行腳本修改,測試過程的維護工作量相當大,測試效率低。
從另外一個角度,網(wǎng)管上業(yè)務(wù)配置的配置模塊開發(fā)都有著相同的流程,所以網(wǎng)管通過自己的框架來體現(xiàn)這種雷同,開發(fā)人員按照這種框架提供必要的數(shù)據(jù)就能完成一個配置模塊的開發(fā)。這種開發(fā)模式下開發(fā)人員提供的數(shù)據(jù)都,由于框架在配置模塊開發(fā)中參與了配置模塊的處理,因此無法直接串聯(lián)在一起進行直接測試;因此針對配置模塊的測試實際上變成了單元測試。
要想實現(xiàn)對配置模塊的端到端測試,需要花費大量的時間用于測試對象的構(gòu)建。其中一種方法是采用MOCK技術(shù)(MOCK技術(shù)就是在測試過程中,對于某些不容易構(gòu)造或者不容易獲取的對象,用一個虛擬的對象來創(chuàng)建以便測試的測試方法)進行測試對象的構(gòu)建,現(xiàn)有的開源MOCK技術(shù)存在功能缺失,使得構(gòu)建測試對象過程復(fù)雜,尤其在構(gòu)建測試對象時,現(xiàn)有方法不支持自動的深度MOCK,例如、MOCK測試對象不支持依據(jù)返回測試類類型來定 義行為,不支持模擬和被MOCK對象具有相同CLASS類型的對象,不支持equals()和hashcode()方法的模擬,不能區(qū)別對待同樣是String類型的IP地址、MAC地址、掩碼、反掩碼和普通的String成員、不支持MOCK對默認值的修改。由于不支持自動的深度MOCK,業(yè)務(wù)配置的測試可能出現(xiàn)無法運行的問題,例如現(xiàn)有的IP地址不能區(qū)分普通的String成員,就會導(dǎo)致測試框架無法運行。
綜上,現(xiàn)有的采用MOCK技術(shù)進行測試對象構(gòu)建的方法,需要花費大量的時間,效率低下;另外,現(xiàn)有的MOCK技術(shù),不支持自動的深度MOCK容易影響測試框架無法運行。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種實現(xiàn)構(gòu)建測試對象的方法、裝置及業(yè)務(wù)配置測試的裝置,能夠快速的實現(xiàn)測試對象的構(gòu)建。
為了達到本發(fā)明目的,本發(fā)明提供了一種實現(xiàn)構(gòu)建測試對象的方法,包括:
根據(jù)預(yù)先設(shè)置的默認值策略,對業(yè)務(wù)配置測試的各個配置模塊所包含的測試類進行賦值;
通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象。
進一步地,預(yù)先設(shè)置的默認值策略包括:
根據(jù)測試類的類型不同,為各測試類分別賦值相應(yīng)的默認值;和/或,
根據(jù)測試類的方法名不同,為各測試類賦值相應(yīng)的默認值;
所述測試類包括常規(guī)的測試類和新建的測試類。
進一步地,該方法還包括:
基于注釋Annotation技術(shù),對所述測試類的類型進行反射,使所述構(gòu)建的測試對象支持集合和地圖MAP成員。
進一步地,該方法還包括:
基于Annotation技術(shù),對業(yè)務(wù)配置測試的網(wǎng)絡(luò)之間互連的協(xié)議IP地址、掩碼或反掩碼、媒體訪問控制MAC類型賦值默認值。
進一步地,構(gòu)建完測試對象后,該方法還包括:
從測試庫中為各個配置模塊分別配置與其測試相匹配的子目錄的Java歸檔文件JAR包,和測試涉及的JAR包的依賴關(guān)系;
通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本順向轉(zhuǎn)換和逆向轉(zhuǎn)換運行測試框架進行測試。
進一步地,依賴關(guān)系配置完成后,該方法還包括,根據(jù)所述測試庫的位置,配置運行所述測試框架的環(huán)境變量。
進一步地,配置所述依賴關(guān)系之前,該方法還包括:
根據(jù)所述業(yè)務(wù)配置的種類不同,區(qū)分收集所述測試庫中不同種類業(yè)務(wù)配置測試的JAR包;
各種類業(yè)務(wù)配置測試的JAR包根據(jù)配置模塊種類的不同,分別建立與各種類配置模塊相匹配的JAR包的子目錄,和測試涉及的JAR包的映射關(guān)系,以用于所述依賴關(guān)系的配置。
進一步地,該方法還包括:
對所述JAR包以預(yù)先設(shè)定的用戶關(guān)鍵字進行二次封裝;
通過預(yù)先設(shè)定的用戶關(guān)鍵字進行所述依賴關(guān)系的配置,以根據(jù)用戶關(guān)鍵字配置的所述依賴關(guān)系編輯構(gòu)建的測試對象的所述測試文本。
進一步地,構(gòu)建的測試對象為PO類,所述順向轉(zhuǎn)換為:
將構(gòu)建的持久化對象PO類,根據(jù)轉(zhuǎn)換為網(wǎng)管客戶端和服務(wù)端的通訊接口F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將測試對象轉(zhuǎn)換為F口類;基于轉(zhuǎn)換為網(wǎng)管和設(shè)備的通訊接口QX口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為QX口類;
所述逆向轉(zhuǎn)換為:
將轉(zhuǎn)換完成的所述QX口類基于轉(zhuǎn)換為F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為F口類;將轉(zhuǎn)換完成的F口類,根據(jù)轉(zhuǎn)換為PO口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為PO口類;
所述關(guān)鍵字為JAR包的庫關(guān)鍵字或用戶關(guān)鍵字。
另一方面,本申請還提供一種實現(xiàn)構(gòu)建測試對象的裝置,包括:第一賦值單元和構(gòu)建單元;其中,
第一賦值單元,用于根據(jù)預(yù)先設(shè)置的默認值策略,對各個配置模塊所包含的測試類進行賦值;
構(gòu)建單元,用于通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象。
進一步地,第一賦值單元具體用于,根據(jù)預(yù)先設(shè)置的,
根據(jù)測試類的類型不同,為各測試類分別賦值相應(yīng)的默認值;和/或,根據(jù)測試類的方法名不同,為各測試類賦值相應(yīng)的默認值的默認值策略,對各個配置模塊所包含的測試類進行賦值。
進一步地,該裝置還包括反射單元,用于基于注釋Annotation技術(shù),對所述測試類的類型進行反射,使所述構(gòu)建的測試對象支持集合和地圖MAP成員。
進一步地,該裝置還包括第二賦值單元,用于基于Annotation技術(shù),對業(yè)務(wù)配置測試的網(wǎng)絡(luò)之間互連的協(xié)議IP地址、掩碼或反掩碼、媒體訪問控制MAC類型賦值默認值。
再一方面,本申請還提供一種實現(xiàn)業(yè)務(wù)配置測試的裝置,包括:第一賦值單元、構(gòu)建單元、配置依賴關(guān)系單元及測試單元;其中,
第一賦值單元,用于根據(jù)預(yù)先設(shè)置的默認值策略,對各個配置模塊所包含的測試類進行賦值;
構(gòu)建單元,用于通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象;
配置依賴關(guān)系單元,用于為各個配置模塊分別從測試庫中配置與其測試相匹配的子目錄的Java歸檔文件JAR包,和測試涉及的JAR包的依賴關(guān)系;
測試單元,用于通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本順向轉(zhuǎn)換和逆向轉(zhuǎn)換運行測試框架進行測試。
進一步地,該裝置還包括權(quán)利要求11~13所述的構(gòu)建測試對象的裝置。
進一步地,該裝置還包括區(qū)分單元,用于根據(jù)所述業(yè)務(wù)配置的種類不同,區(qū)分收集所述測試庫中不同種類業(yè)務(wù)配置測試的JAR包;
各種類業(yè)務(wù)配置測試的JAR包根據(jù)配置模塊種類的不同,分別建立與各種類配置模塊相匹配的JAR包的子目錄,和測試涉及的JAR包的映射關(guān)系,以用于所述依賴關(guān)系的配置。
進一步地,該裝置還包括二次封裝單元,用于對所述JAR包以預(yù)先設(shè)定的用戶關(guān)鍵字進行二次封裝;
所述配置依賴關(guān)系單元還用于,為各個配置模塊分別從測試庫中根據(jù)用戶關(guān)鍵字配置與其測試相匹配的子目錄的Java歸檔文件JAR包,和測試涉及的JAR包的依賴關(guān)系。
進一步地,構(gòu)建的測試對象為PO類,所述測試單元,用于通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本,
將構(gòu)建的PO持久化對象類,根據(jù)轉(zhuǎn)換為網(wǎng)管客戶端和服務(wù)端的通訊接口F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將測試對象轉(zhuǎn)換為F口類;基于轉(zhuǎn)換為網(wǎng)管和設(shè)備的通訊接口QX口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為QX口類;
將轉(zhuǎn)換完成的所述QX口類基于轉(zhuǎn)換為F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為F口類;將轉(zhuǎn)換完成的F口類,根據(jù)轉(zhuǎn)換為PO口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為PO口類運行測試框架進行測試,
所述關(guān)鍵字為JAR包的庫關(guān)鍵字或用戶關(guān)鍵字。
與現(xiàn)有技術(shù)相比,本申請技術(shù)方案包括:根據(jù)預(yù)先設(shè)置的默認值策略,對業(yè)務(wù)配置測試的各個配置模塊所包含的測試類進行賦值;通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象。本發(fā)明方法通過預(yù)先設(shè)置的默認值策略對配置模塊包含的測試類進行賦值,實現(xiàn)了測試對象的快速構(gòu)建。
進一步地,通過注釋技術(shù),使測試對象支持集合和地圖MAP成員,支持IP地址、掩碼/反掩碼、MAC類型賦值默認值,實現(xiàn)了測試的自動深度MOCK。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1為本發(fā)明實現(xiàn)構(gòu)建測試對象的方法的流程圖;
圖2為本發(fā)明實現(xiàn)構(gòu)建測試對象的裝置的結(jié)構(gòu)程圖;
圖3為本發(fā)明實現(xiàn)業(yè)務(wù)配置測試的裝置的結(jié)構(gòu)程圖;
圖4為本發(fā)明第一實施例的方法流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
圖1為本發(fā)明實現(xiàn)構(gòu)建測試對象的方法的流程圖,如圖1所示,包括:
步驟100、根據(jù)預(yù)先設(shè)置的默認值策略,對各個配置模塊所包含的測試類進行賦值;
本步驟中,預(yù)先設(shè)置的默認值策略包括:
根據(jù)測試類的類型不同,為各測試類分別賦值相應(yīng)的默認值;和/或,
根據(jù)測試類的方法名不同,為各測試類賦值相應(yīng)的默認值;
需要說明的是,通過預(yù)先設(shè)置的默認值策略,根據(jù)測試類的類型不同進行默認值賦值和通過測試類方法名的不同為各測試類賦值,使MOCK測試對象支持依據(jù)返回測試類類型來定義行為。默認值測量為預(yù)先設(shè)定的數(shù)值,因此支持MOCK對默認值的修改。另外,這里測試類包含常規(guī)的測試類,和技術(shù)應(yīng)用過程中新增的測試類。
步驟101、通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象。
需要說明的是,通過賦值的測試類進行測試對象的構(gòu)建,為快速構(gòu)建測試對象提供了基礎(chǔ)。
本發(fā)明方法還包括:
基于注釋(Annotation)技術(shù),對測試類的類型進行反射,使構(gòu)建的測試對象支持集合和地圖MAP成員。
通過對測試類的類型進行反射,是業(yè)務(wù)配置的測試支持模擬和被MOCK對象具有相同CLASS類型的對象;進一步的,解決了原有的MOCK方式不支持equals()和hashcode()方法的模擬的問題。
本發(fā)明方法還包括:
基于Annotation技術(shù),對業(yè)務(wù)配置測試的網(wǎng)絡(luò)之間互連的協(xié)議IP地址、掩碼或反掩碼、媒體訪問控制MAC類型賦值默認值。
需要說明的是,通過對IP地址、MAC地址、掩碼、反掩碼的賦值處理,使IP地址、MAC地址、掩碼、反掩碼按照設(shè)定的字符串類型進行賦值后,可以和普通的String成員進行區(qū)分。
構(gòu)建完測試對象后,本發(fā)明方法還包括:為各個配置模塊分別從測試庫中配置與其測試相匹配的子目錄的Java歸檔文件(JAR)包,和測試涉及的JAR包的依賴關(guān)系;
通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本順向轉(zhuǎn)換和逆向轉(zhuǎn)換運行測試框架進行測試。
需要說明的是,在通過MOCK技術(shù)構(gòu)建測試對象之后,通過配置依賴關(guān)系進行構(gòu)建測試對象的測試文本,只需要進行關(guān)鍵字進行端對端的測試驅(qū)動。與現(xiàn)有的采用MOCK技術(shù)進行測試對象構(gòu)建的方法,節(jié)省了構(gòu)建測試對象上耗費的時間,提高了測試效率。
本步驟中,構(gòu)建的測試對象為PO類,順向轉(zhuǎn)換為:
將構(gòu)建的持久化對象類(PO),根據(jù)轉(zhuǎn)換為網(wǎng)管客戶端和服務(wù)端的通訊接口(F口)類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將測試對象轉(zhuǎn)換為F口類;基于轉(zhuǎn)換為網(wǎng)管和設(shè)備的通訊接口(QX口)類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為QX口類;
逆向轉(zhuǎn)換為:
將轉(zhuǎn)換完成的QX口類基于轉(zhuǎn)換為F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的 JAR包,轉(zhuǎn)換為F口類;將轉(zhuǎn)換完成的F口類,根據(jù)轉(zhuǎn)換為PO口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為PO口類;
本發(fā)明方法之前還包括:
根據(jù)業(yè)務(wù)配置的種類不同,區(qū)分收集測試庫中不同種類業(yè)務(wù)配置測試的JAR包;
各種類業(yè)務(wù)配置測試的JAR包根據(jù)配置模塊種類的不同,分別建立與各種類配置模塊相匹配的JAR包的子目錄,和測試涉及的JAR包的映射關(guān)系,以用于依賴關(guān)系的配置。
本發(fā)明方法還包括:
對JAR包以預(yù)先設(shè)定的用戶關(guān)鍵字進行二次封裝;
通過預(yù)先設(shè)定的用戶關(guān)鍵字進行依賴關(guān)系的配置,以根據(jù)用戶關(guān)鍵字配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本。
在順向轉(zhuǎn)換和逆向轉(zhuǎn)換過程中,調(diào)用JAR包的關(guān)鍵字可以是JAR包的庫關(guān)鍵字或二次封裝的用戶關(guān)鍵字。具體采用關(guān)鍵字的種類主要依據(jù)是否進行了二次封裝,以及技術(shù)人員對庫關(guān)鍵字和用戶關(guān)鍵字的使用習慣,一般的用戶關(guān)鍵字是技術(shù)人員根據(jù)使用習慣定義的關(guān)鍵字,方便基于和編輯測試文本使用。
依賴關(guān)系配置完成后,本發(fā)明方法還包括,根據(jù)測試庫的位置,配置運行測試框架的環(huán)境變量。
需要說明的是,處理根據(jù)測試庫的位置設(shè)置環(huán)境變量外,運行測試框架還包含有其他相關(guān)參數(shù)的設(shè)置,屬于本領(lǐng)域技術(shù)人員的公知常識。本發(fā)明通過配置依賴關(guān)系,和基于依賴關(guān)系進行構(gòu)建的測試對象的測試文本的編輯,測試過程不依賴與網(wǎng)管的運行環(huán)境。由于不依賴運行環(huán)境進行業(yè)務(wù)配置測試,降低了業(yè)務(wù)配置測試對測試系統(tǒng)的性能要求。使測試的硬件要求大大降低。
本發(fā)明方法通過預(yù)先設(shè)置的默認值策略對配置模塊包含的測試類進行賦值,實現(xiàn)了測試對象的快速構(gòu)建。進一步地,通過注釋技術(shù),使測試對象支持集合和地圖MAP成員,支持IP地址、掩碼/反掩碼、MAC類型賦值默認值,實現(xiàn)了測試的自動深度MOCK。只需要進行關(guān)鍵字進行端對端的測試驅(qū) 動。與現(xiàn)有的測試對象構(gòu)建的方法相比,大大節(jié)省了構(gòu)建測試對象上耗費的時間,提高了測試效率。通過配置與測試庫中JAR包的依賴關(guān)系和基于依賴關(guān)系進行構(gòu)建的測試對象的測試文本的編輯,測試過程不依賴與網(wǎng)管的運行環(huán)境。降低了業(yè)務(wù)配置的硬件要求,使業(yè)務(wù)配置測試更加容易實現(xiàn)。
圖2為本發(fā)明實現(xiàn)構(gòu)建測試對象的裝置的結(jié)構(gòu)程圖,如圖2所示,包括:第一賦值單元和構(gòu)建單元;其中,
第一賦值單元,用于根據(jù)預(yù)先設(shè)置的默認值策略,對各個配置模塊所包含的測試類進行賦值;
第一賦值單元具體用于,根據(jù)預(yù)先設(shè)置的,
根據(jù)測試類的類型不同,為各測試類分別賦值相應(yīng)的默認值;和/或,根據(jù)測試類的方法名不同,為各測試類賦值相應(yīng)的默認值的默認值策略,對各個配置模塊所包含的測試類進行賦值。
構(gòu)建單元,用于通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象。
本發(fā)明裝置還包括反射單元,用于基于注釋(Annotation)技術(shù),對測試類的類型進行反射,使構(gòu)建的測試對象支持集合和地圖MAP成員。
本發(fā)明裝置還包括第二賦值單元,用于基于Annotation技術(shù),對業(yè)務(wù)配置測試的網(wǎng)絡(luò)之間互連的協(xié)議IP地址、掩碼或反掩碼、媒體訪問控制MAC類型賦值默認值。
圖3為本發(fā)明實現(xiàn)業(yè)務(wù)配置測試的裝置的結(jié)構(gòu)程圖,如圖3所示,包括:第一賦值單元、構(gòu)建單元、配置依賴關(guān)系單元及測試單元;其中,
第一賦值單元,用于根據(jù)預(yù)先設(shè)置的默認值策略,對各個配置模塊所包含的測試類進行賦值;
第一賦值單元具體用于,
根據(jù)預(yù)先設(shè)置的,
根據(jù)測試類的類型不同,為各測試類分別賦值相應(yīng)的默認值;和/或,
根據(jù)測試類的方法名不同,為各測試類賦值相應(yīng)的默認值的默認值策略, 對各個配置模塊所包含的測試類進行賦值;
測試類包括常規(guī)的測試類和新建的測試類。
構(gòu)建單元,用于通過MOCK方法,依據(jù)各配置模塊相應(yīng)的賦值的測試類構(gòu)建測試對象;
配置依賴關(guān)系單元,用于為各個配置模塊分別從測試庫中配置與其測試相匹配的子目錄的Java歸檔文件(JAR)包,和測試涉及的JAR包的依賴關(guān)系;
測試單元,用于通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本順向轉(zhuǎn)換和逆向轉(zhuǎn)換運行測試框架進行測試。
本發(fā)明裝置還包括反射單元,用于基于注釋Annotation技術(shù),對測試類的類型進行反射,使構(gòu)建的測試對象支持集合和地圖MAP成員。
本發(fā)明裝置還包括第二賦值單元,用于基于Annotation技術(shù),對業(yè)務(wù)配置測試的網(wǎng)絡(luò)之間互連的協(xié)議IP地址、掩碼或反掩碼、媒體訪問控制MAC類型賦值默認值。
本發(fā)明裝置還包括區(qū)分單元,用于根據(jù)業(yè)務(wù)配置的種類不同,區(qū)分收集測試庫中不同種類業(yè)務(wù)配置測試的JAR包;
各種類業(yè)務(wù)配置測試的JAR包根據(jù)配置模塊種類的不同,分別建立與各種類配置模塊相匹配的JAR包的子目錄,和測試涉及的JAR包的映射關(guān)系,以用于依賴關(guān)系的配置。
本發(fā)明裝置還包括二次封裝單元,用于對JAR包以預(yù)先設(shè)定的用戶關(guān)鍵字進行二次封裝;
配置依賴關(guān)系單元還用于,為各個配置模塊分別從測試庫中根據(jù)用戶關(guān)鍵字配置與其測試相匹配的子目錄的Java歸檔文件JAR包,和測試涉及的JAR包的依賴關(guān)系。
構(gòu)建的測試對象為PO類,測試單元具體用于,通過各配置模塊配置的依賴關(guān)系編輯構(gòu)建的測試對象的測試文本,通過編輯的測試文本,
將構(gòu)建的PO持久化對象類,根據(jù)轉(zhuǎn)換為網(wǎng)管客戶端和服務(wù)端的通訊接口F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將測試對象轉(zhuǎn)換為F口類; 基于轉(zhuǎn)換為網(wǎng)管和設(shè)備的通訊接口QX口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為QX口類;
將轉(zhuǎn)換完成的QX口類基于轉(zhuǎn)換為F口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為F口類;將轉(zhuǎn)換完成的F口類,根據(jù)轉(zhuǎn)換為PO口類的JAR包的關(guān)鍵字調(diào)用相應(yīng)的JAR包,轉(zhuǎn)換為PO口類運行測試框架進行測試,
關(guān)鍵字為JAR包的庫關(guān)鍵字或用戶關(guān)鍵字。
以下通過具體實施例對本發(fā)明方法進行清楚詳細的說明,實施例僅用于陳述本發(fā)明,并不用于限制本發(fā)明方法的保護范圍。
實施例1
在實施本實施例之前,本實施例對測試庫中的JAR包按照業(yè)務(wù)配置的類型,各配置模塊的種類等分別進行的目錄和子目錄下JAR包的整理。對JAR包進行了二次封裝,通過二次封裝的用戶關(guān)鍵字進行測試文本的編輯。
通過默認值測量對配置模塊的測試類進行了賦值,依據(jù)測試類的賦值進行測試對象的構(gòu)建,基于構(gòu)建的測試對象及編輯的測試文本進行了業(yè)務(wù)配置測試,圖4為本發(fā)明第一實施例的方法流程圖,如圖4所示,包括:
步驟400、通過默認值測量對配置模塊的測試類進行賦值,依據(jù)測試類的賦值構(gòu)建測試對象。這里假設(shè)測試類的類型為A,根據(jù)技術(shù)人員設(shè)定的默認值測試,對類型為A的測試類進行賦值,構(gòu)建的測試對象為項目1(obj1)。
測試人員根據(jù)測試庫的收集整理,二次封裝對JAR包的處理,測試框架的環(huán)境變量的設(shè)置,在測試框架中運行構(gòu)建的測試對象,具體包括順向轉(zhuǎn)換和逆向轉(zhuǎn)換;其中,順向轉(zhuǎn)換包括步驟401和步驟402,逆向轉(zhuǎn)換包括步驟403和步驟404;具體的,
步驟401、通過編輯的測試文本,調(diào)用將構(gòu)建的測試對象轉(zhuǎn)換為F口類的JAR包,將構(gòu)建的測試對象轉(zhuǎn)換為F口類;這里,構(gòu)建的測試對象為PO口類,假設(shè)取名為obj1,假設(shè)生成的F口類取名為Fobj1;具體的,
轉(zhuǎn)換為F口類的JAR包通過用戶關(guān)鍵字進行調(diào)用,如果二次封裝并未對該JAR包進行二次封裝時,則采用庫關(guān)鍵字進行調(diào)用,當然測試文件在編輯時,也采用庫關(guān)鍵字進行編輯。
步驟402、調(diào)用將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為QX口類的JAR包,將F口類轉(zhuǎn)換為QX口類;
逆向轉(zhuǎn)換包括:
步驟403、調(diào)用將轉(zhuǎn)換完成的QX口類轉(zhuǎn)換為F口類的JAR包,將QX口類轉(zhuǎn)換為F口類;這里,為了和之前順向轉(zhuǎn)換生成的F口類進行區(qū)分,假設(shè)生成的逆向轉(zhuǎn)換生成的F口類取名為Fobj2;
步驟404、調(diào)用將轉(zhuǎn)換完成的F口類轉(zhuǎn)換為PO口類的JAR包,將F口類轉(zhuǎn)換為PO口類;假設(shè)逆向轉(zhuǎn)換生成的PO口類取名為obj2。
通過obj1和obj2比較確定業(yè)務(wù)配置測試是否成功,如果obj1和obj2內(nèi)容一致,則業(yè)務(wù)配置成功,如果不一致,則測試失敗,通過對比測試日志,比對包含本發(fā)明默認值策略賦值的參數(shù)及其他常規(guī)參數(shù)在運行過程中的變化,可以確定測試出現(xiàn)錯誤的位置,具體對測試日志進行分析的方法,屬于本領(lǐng)域技術(shù)人員的慣用技術(shù)手段,在此不再贅述。
雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式及細節(jié)上進行任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準。