本申請涉及系統(tǒng)回歸測試技術(shù)領(lǐng)域,尤其是涉及一種系統(tǒng)回歸測試的方法、裝置及系統(tǒng)。
背景技術(shù):
在系統(tǒng)回歸測試中,常用到錄制回放技術(shù),所謂的錄制回放就是先由人工完成一遍需要測試的流程,同時由計算機記錄下這個流程期間客戶端和服務(wù)器端之間的通信信息,這些信息通常是一些協(xié)議和數(shù)據(jù),并形成特定的腳本程序(script)。然后在系統(tǒng)的統(tǒng)一管理下同時生成多個虛擬用戶,并運行該腳本,監(jiān)控硬件和軟件平臺的性能,提供分析報告或相關(guān)資料。這樣,通過幾臺機器就可以模擬出成百上千的用戶對應(yīng)用系統(tǒng)進行負(fù)載能力的測試。
在錄制回放技術(shù)中,以驗證環(huán)境可分為線上環(huán)境以及線下環(huán)境,由于數(shù)據(jù)庫、緩存、集群、硬件設(shè)備等原因,線下環(huán)境一般無法做到與線上完全一致,而且由于用戶行為的多樣性,在線下環(huán)境通常也無法完整的模擬用戶的所有真實行為;因此對比較復(fù)雜的業(yè)務(wù)及系統(tǒng)可能出現(xiàn)在線下環(huán)境難以驗證的問題。而與線下環(huán)境不同,線上環(huán)境則不存在這些問題。
然而,目前線上的錄制回放方案也有其不足。以比較常見的是鏡像引流方案為例,該方案在具體實現(xiàn)時在整體部署上都需要修改:需引入負(fù)載均衡處的路由配置或引入專用負(fù)載均衡設(shè)備,并修改數(shù)據(jù)庫的部署;除此之外,還需要在應(yīng)用系統(tǒng)上進行改造,以支持對鏡像流量的特殊處理,從而避免影響真實業(yè)務(wù)處理。由此可見,目前線上的錄制回放方案對需對原有系統(tǒng)進行較大改動(即對原有系統(tǒng)入侵較大)。
技術(shù)實現(xiàn)要素:
本申請實施例的目的在于提供一種系統(tǒng)回歸測試的方法、裝置及系統(tǒng),以達到在實現(xiàn)線上的系統(tǒng)回歸測試的同時降低對原有系統(tǒng)的入侵。
為達到上述目的,一方面,本申請實施例提供了一種系統(tǒng)回歸測試的方法,包括以下步驟:
錄制服務(wù)器根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù),并將其轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)后存入數(shù)據(jù)庫;
回放服務(wù)器讀取所述數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)后進行回放處理,獲得回歸測試結(jié)果并將其輸出。
另一方面,本申請實施例提供了另一種系統(tǒng)回歸測試的方法,包括以下步驟:
根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù);
將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù);
將所述預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫。
另一方面,本申請實施例提供了另一種系統(tǒng)回歸測試的方法,包括以下步驟:
讀取數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù);
將所述原格式數(shù)據(jù)進行回放處理,獲得回歸測試結(jié)果;
輸出所述回歸測試結(jié)果。
再一方面,本申請實施例還提供了一種系統(tǒng)回歸測試的系統(tǒng),包括:
錄制服務(wù)器,用于根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù),并將其轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)后存入數(shù)據(jù)庫;
回放服務(wù)器,用于讀取所述數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)后進行回放處理,獲得回歸測試結(jié)果并將其輸出。
再一方面,本申請實施例還提供了一種錄制服務(wù)器,包括:
數(shù)據(jù)獲取模塊,用于根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù);
格式轉(zhuǎn)換模塊,用于將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù);
數(shù)據(jù)存儲模塊,用于將所述預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫。
再一方面,本申請實施例還提供了一種回放服務(wù)器,包括:
格式還原模塊,用于讀取數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù);
回放處理模塊,用于將所述原格式數(shù)據(jù)進行回放處理,獲得回歸測試結(jié)果;
結(jié)果輸出模塊,用于輸出所述回歸測試結(jié)果。
本申請的實施例的系統(tǒng)回歸測試的方案中,錄制服務(wù)器通過預(yù)定義的配置信息攔截用戶流量,并將其進行格式轉(zhuǎn)換后保存下來,在另一臺指定設(shè)備上做回放處理,從而實現(xiàn)了線上的系統(tǒng)回歸測試。由于對應(yīng)用系統(tǒng)來說只需要引入錄制服務(wù)器和相關(guān)配置即可,整體部署不需要做大的修改,因此其對應(yīng)用系統(tǒng)的侵入較小。
附圖說明
此處所說明的附圖用來提供對本申請實施例的進一步理解,構(gòu)成本申請實施例的一部分,并不構(gòu)成對本申請實施例的限定。在附圖中:
圖1為本申請一實施例的系統(tǒng)回歸測試的方法的流程圖;
圖2為本申請另一實施例的系統(tǒng)回歸測試的方法的流程圖;
圖3為本申請另一實施例的系統(tǒng)回歸測試的方法的流程圖;
圖4為本申請一實施例的系統(tǒng)回歸測試的系統(tǒng)的結(jié)構(gòu)框圖;
圖5為本申請一實施例的錄制服務(wù)器的結(jié)構(gòu)框圖;
圖6為本申請一實施例的回放服務(wù)器的結(jié)構(gòu)框圖。
具體實施方式
為使本申請實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面結(jié)合實施例和附圖,對本申請實施例做進一步詳細(xì)說明。在此,本申請實施例的示意性實施例及其說明用于解釋本申請實施例,但并不作為對本申請實施例的限定。
下面結(jié)合附圖,對本申請實施例的具體實施方式作進一步的詳細(xì)說明。
參考圖1所示,參考圖1所示,本申請實例的系統(tǒng)回歸測試的方法包括以下步驟:
步驟s101、錄制服務(wù)器根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù),并將其轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)后存入數(shù)據(jù)庫。
本申請實施例中,將攔截的數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)的目的在于將錄制的動態(tài)數(shù)據(jù)轉(zhuǎn)化為靜態(tài)信息以便于保存,所述預(yù)定格式數(shù)據(jù)為適于所述數(shù)據(jù)庫存儲的格式。
本申請實施例中,所述錄制服務(wù)器可以為配置于所述應(yīng)用服務(wù)器上的攔截器,所述預(yù)定義的配置信息可以為預(yù)先配置好的配置文件。配置文件配置的內(nèi)容可以包括線上錄制的設(shè)備的ip標(biāo)識、線上錄制時長、哪些接口需要線上錄制等等,相關(guān)配置文件可通過管理系統(tǒng)推送到攔截器上,攔截器開始生效。當(dāng)有用戶通過客戶端向應(yīng)用服務(wù)器發(fā)送業(yè)務(wù)請求時,攔截器會截獲到該業(yè)務(wù)請求,同樣,當(dāng)應(yīng)用服務(wù)器根據(jù)該業(yè)務(wù)請求返回響應(yīng)數(shù)據(jù)時,攔截器也會截獲到該響應(yīng)數(shù)據(jù)。
步驟s102、回放服務(wù)器讀取所述數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)后進行回放處理,獲得回歸測試結(jié)果并將其輸出。
本申請實施例中,將預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù)目的在于將存儲的靜態(tài)信息還原為對應(yīng)的動態(tài)數(shù)據(jù)以便于回放處理。在具體實現(xiàn),回放服務(wù)器的回放處理可以是基于回放指令觸發(fā)的。
本申請的實施例的系統(tǒng)回歸測試的方法可以應(yīng)用于應(yīng)用系統(tǒng)的開發(fā)階段,也可以應(yīng)用于應(yīng)用系統(tǒng)發(fā)布階段,以驗證或檢驗系統(tǒng)性能。其中,所述應(yīng)用系統(tǒng)發(fā)布包括藍綠發(fā)布。
下面以藍綠發(fā)布為例,來說明本申請實例的系統(tǒng)回歸測試的方法的具體應(yīng)用。在藍綠發(fā)布前一般要進行相關(guān)配置,在此過程中,可以進行錄制方面的配置。具體的藍綠發(fā)布過程如下:
步驟1、把綠色集群的狀態(tài)改為備用,并從從負(fù)載均衡服務(wù)器里刪除綠色集群的地址,這樣,綠色集群就不會接收到來自用戶的業(yè)務(wù)請求了。也就說,業(yè)務(wù)全部引流到藍色集群里,綠色集群不再有用戶流量。在本步驟中,錄制服務(wù)器根據(jù)預(yù)定義的配置信息進行錄制并將錄制的數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)后存入數(shù)據(jù)庫。
步驟2、對綠色集群進行系統(tǒng)更新,部署新代碼,直至綠色集群啟動成功。
步驟3、在綠色集群啟動成功后,回放服務(wù)器從所述數(shù)據(jù)庫內(nèi)讀取預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)后進行回放處理,獲得回歸測試結(jié)果并將其輸出,從而驗證綠色集群系統(tǒng)性能是否正常。
步驟4、將綠色集群和藍色集群角色互換,并重復(fù)上述步驟1-3,最終完成藍綠發(fā)布。
本申請的實施例的系統(tǒng)回歸測試的方法中,錄制服務(wù)器通過預(yù)定義的配置信息攔截用戶流量,并將其進行格式轉(zhuǎn)換后保存下來,在另一臺指定設(shè)備上做回放處理,從而實現(xiàn)了線上的系統(tǒng)回歸測試。由于對應(yīng)用系統(tǒng)來說只需要引入錄制服務(wù)器和相關(guān)配置即可,整體部署不需要做大的修改,因此其對應(yīng)用系統(tǒng)的侵入較小。
參考圖2所示,本申請實施例的一種系統(tǒng)回歸測試的方法包括以下步驟:
步驟s201、根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)。
在本申請實施例中,各個步驟的執(zhí)行主體可以為錄制服務(wù)器,所述錄制服務(wù)器例如可以為配置于所述應(yīng)用服務(wù)器上的攔截器,所述預(yù)定義的配置信息可以為預(yù)先配置好的配置文件。配置文件配置的內(nèi)容可以包括線上錄制的設(shè)備的ip標(biāo)識、線上錄制時長、哪些接口需要線上錄制等等。當(dāng)有用戶通過客戶端向應(yīng)用服務(wù)器發(fā)送業(yè)務(wù)請求時,攔截器會截獲到該業(yè)務(wù)請求,同樣,當(dāng)應(yīng)用服務(wù)器根據(jù)該業(yè)務(wù)請求返回響應(yīng)數(shù)據(jù)時,攔截器也會截獲到該響應(yīng)數(shù)據(jù)。
步驟s202、將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)。
本申請實施例中,將攔截的數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)的目的在于將錄制的動態(tài)數(shù)據(jù)轉(zhuǎn)化為靜態(tài)信息以便于保存,所述預(yù)定格式數(shù)據(jù)為適于所述數(shù)據(jù)庫存儲的格式。
步驟s203、將所述預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫。
在另一實施例中,在所述將業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)之前,還可以包括:
將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)中進行安全脫敏處理。由于部分用戶數(shù)據(jù)是敏感數(shù)據(jù),如用戶電話號碼,銀行卡號等,從安全設(shè)計的角度,這些數(shù)據(jù)不應(yīng)該直接存入數(shù)據(jù)庫,以實現(xiàn)敏感數(shù)據(jù)的可靠保護。
在另一實施例中,所述將業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù),例如可以為:通過序裂化的方式將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式。
在另一實施例中,所述將預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫,例如可以為:啟動異步操作或多線程將所述將預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫,這樣可以避免影響應(yīng)用系統(tǒng)的性能。
參考圖3所示,本申請實施例的一種系統(tǒng)回歸測試的方法包括以下步驟:
步驟s301、讀取數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)。本申請實施例中,各個步驟的執(zhí)行主體可以為回放服務(wù)器,其中將預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù)目的在于將存儲的靜態(tài)信息還原為對應(yīng)的動態(tài)數(shù)據(jù)以便于回放處理。在具體實現(xiàn),回放服務(wù)器的回放處理可以是基于回放指令觸發(fā)的。
步驟s302、將所述原格式數(shù)據(jù)進行回放處理,獲得回歸測試結(jié)果。其中,回放處理例如可以采用mock測試的方式。而回放處理后可得到回放結(jié)果,將該回放結(jié)果與之前的錄制結(jié)果進行對比,可生成報告,這個報告即為應(yīng)用系統(tǒng)的回歸測試結(jié)果。
步驟s303、輸出所述回歸測試結(jié)果。
在另一實施例中,所述將預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù),例如可以包括:通過反序列化的方式將所述預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù)。比如原格式數(shù)據(jù)為jvm(avavirtualmachine,java虛擬機)對象數(shù)據(jù),其通過序列化后變成了靜態(tài)信息存儲到數(shù)據(jù)庫中,而通過反序列化則可以將這些靜態(tài)信息還原成jvm中的對象。
雖然上文各個方法實施例描述的過程流程包括以特定順序出現(xiàn)的多個操作,但是,應(yīng)當(dāng)清楚了解,這些過程可以包括更多或更少的操作,這些操作可以順序執(zhí)行或并行執(zhí)行(例如使用并行處理器或多線程環(huán)境)。
參考圖4所示,本申請實施例的系統(tǒng)回歸測試的系統(tǒng)包括:
錄制服務(wù)器41,用于根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù),并將其轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)后存入數(shù)據(jù)庫。
本申請實施例中,將攔截的數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)的目的在于將錄制的動態(tài)數(shù)據(jù)轉(zhuǎn)化為靜態(tài)信息以便于保存,所述預(yù)定格式數(shù)據(jù)為適于所述數(shù)據(jù)庫存儲的格式。
本申請實施例中,所述錄制服務(wù)器41可以為配置于所述應(yīng)用服務(wù)器上的攔截器,所述預(yù)定義的配置信息可以為預(yù)先配置好的配置文件。配置文件配置的內(nèi)容可以包括線上錄制的設(shè)備的ip標(biāo)識、線上錄制時長、哪些接口需要線上錄制等等,相關(guān)配置文件可通過管理系統(tǒng)推送到攔截器上,攔截器開始生效。當(dāng)有用戶通過客戶端向應(yīng)用服務(wù)器發(fā)送業(yè)務(wù)請求時,攔截器會截獲到該業(yè)務(wù)請求,同樣,當(dāng)應(yīng)用服務(wù)器根據(jù)該業(yè)務(wù)請求返回響應(yīng)數(shù)據(jù)時,攔截器也會截獲到該響應(yīng)數(shù)據(jù)。
回放服務(wù)器42,用于讀取所述數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)后進行回放處理,獲得回歸測試結(jié)果并將其輸出。
本申請實施例中,將預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù)目的在于將存儲的靜態(tài)信息還原為對應(yīng)的動態(tài)數(shù)據(jù)以便于回放處理。在具體實現(xiàn),回放服務(wù)器42的回放處理可以是基于回放指令觸發(fā)的。
本申請的實施例的系統(tǒng)回歸測試的系統(tǒng)可以應(yīng)用于應(yīng)用系統(tǒng)的開發(fā)階段,也可以應(yīng)用于應(yīng)用系統(tǒng)發(fā)布階段,以驗證或檢驗系統(tǒng)性能。其中,所述應(yīng)用系統(tǒng)發(fā)布包括藍綠發(fā)布。至于其在應(yīng)用系統(tǒng)發(fā)布階段的應(yīng)用具體可以參見上文第一個方法實施例,在此不再贅述。
本申請的實施例的系統(tǒng)回歸測試的系統(tǒng)中,錄制服務(wù)器41通過預(yù)定義的配置信息攔截用戶流量,并將其進行格式轉(zhuǎn)換后保存下來,在另一臺指定設(shè)備(即回放服務(wù)器42)上做回放處理,從而實現(xiàn)了線上的系統(tǒng)回歸測試。由于對應(yīng)用系統(tǒng)來說只需要引入錄制服務(wù)器41和相關(guān)配置即可,整體部署不需要做大的修改,因此其對應(yīng)用系統(tǒng)的侵入較小。
結(jié)合圖5所示,本申請的實施例的系統(tǒng)回歸測試的系統(tǒng)的錄制服務(wù)器41,具體包括:
數(shù)據(jù)獲取模塊411,用于根據(jù)預(yù)定義的配置信息獲取客戶端向應(yīng)用服務(wù)器發(fā)送的業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)。
格式轉(zhuǎn)換模塊412,用于將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)。本申請實施例中,將攔截的數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)的目的在于將錄制的動態(tài)數(shù)據(jù)轉(zhuǎn)化為靜態(tài)信息以便于保存,所述預(yù)定格式數(shù)據(jù)為適于所述數(shù)據(jù)庫存儲的格式。
數(shù)據(jù)存儲模塊413,用于將所述預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫。
在另一實施例中,所述的錄制服務(wù)器41還可以包括:
安全脫敏模塊,用于在所述格式轉(zhuǎn)換模塊412將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù)之前,將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)中進行安全脫敏處理。由于部分用戶數(shù)據(jù)是敏感數(shù)據(jù),如用戶電話號碼,銀行卡號等,從安全設(shè)計的角度,這些數(shù)據(jù)不應(yīng)該直接存入數(shù)據(jù)庫,以實現(xiàn)敏感數(shù)據(jù)的可靠保護。
在另一實施例中,所述格式轉(zhuǎn)換模塊412將所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式數(shù)據(jù),例如可以為:通過序裂化的方式將 所述業(yè)務(wù)請求及所述應(yīng)用服務(wù)器針對該業(yè)務(wù)請求返回的響應(yīng)數(shù)據(jù)轉(zhuǎn)換成預(yù)定格式。
在另一實施例中,所述數(shù)據(jù)存儲模塊413將所述預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫,例如可以為:啟動異步操作或多線程將所述將預(yù)定格式數(shù)據(jù)存入數(shù)據(jù)庫,這樣可以避免影響應(yīng)用系統(tǒng)的性能。
結(jié)合圖6所示,本申請的實施例的系統(tǒng)回歸測試的系統(tǒng)的回放服務(wù)器51包括:
格式還原模塊511,用于讀取數(shù)據(jù)庫內(nèi)存儲的預(yù)定格式數(shù)據(jù)并將其還原成原格式數(shù)據(jù)。
回放處理模塊512,用于將所述原格式數(shù)據(jù)進行回放處理,獲得回歸測試結(jié)果。其中,回放處理例如可以采用mock測試的方式。而回放處理后可得到回放結(jié)果,將該回放結(jié)果與之前的錄制結(jié)果進行對比,可生成報告,這個報告即為應(yīng)用系統(tǒng)的回歸測試結(jié)果。
結(jié)果輸出模塊513,用于輸出所述回歸測試結(jié)果。在另一實施例中,所述將預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù),例如可以包括:通過反序列化的方式將所述預(yù)定格式數(shù)據(jù)還原成原格式數(shù)據(jù)。比如原格式數(shù)據(jù)為jvm對象數(shù)據(jù),其通過序列化后變成了靜態(tài)信息存儲到數(shù)據(jù)庫中,而通過反序列化則可以將這些靜態(tài)信息還原成jvm中的對象。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
在20世紀(jì)90年代,對于一個技術(shù)的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關(guān)等電路結(jié)構(gòu)的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術(shù)的發(fā)展,當(dāng)今的很多方法流程的改進已經(jīng)可以視為硬件電路結(jié)構(gòu)的直接改進。設(shè)計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應(yīng)的硬件電路結(jié)構(gòu)。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門 陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設(shè)計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設(shè)計和制作專用的集成電路芯片2。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog2。本領(lǐng)域技術(shù)人員也應(yīng)該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當(dāng)?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關(guān)、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。
本領(lǐng)域技術(shù)人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結(jié)構(gòu)。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機 軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
本申請可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)pc、小型計算機、大型計算機、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
雖然通過實施例描繪了本申請,本領(lǐng)域普通技術(shù)人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本申請的精神。