本發(fā)明專利技術(shù)公開了一種異步測試的方法及裝置,涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,為解決現(xiàn)有的web測試方案效率低的問題而發(fā)明專利技術(shù)。本發(fā)明專利技術(shù)的方法包括:搭建異步測試框架;基于所述異步測試框架獲取單元測試用例,對被測試事務進行單元測試;若多個事務同時進行單元測試,則所述多個事務占用同一個線程進行單元測試;基于所述異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行所述壓力測試用例;通過多個線程并行執(zhí)行所述壓力測試用例,以完成不同量級的壓力測試。本發(fā)明專利技術(shù)應用于對web應用的功能和性能測試的過程中。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及互聯(lián)網(wǎng)
,尤其涉及一種異步測試的方法及裝置。
技術(shù)介紹
由于網(wǎng)絡web應用與用戶直接相關(guān),又通常需要承受長時間的大量操作,因此web應用的功能和性能都必須經(jīng)過可靠的驗證。這就要經(jīng)過web應用的全面測試。通常的web測試包含單元測試、壓力測試等。單元測試就是對最小的功能模塊進行測試,壓力測試是測試web服務器能夠承受多大的訪問量。通常在進行web測試時,單元測試和壓力測試是分別進行的,分別由不同的團隊分別編寫對應的測試腳本,操作復雜。另外在進行壓力測試時,通常需要多臺客戶端同時模擬對web服務器的請求才能測出web服務器的負載能力,但實際上每個客戶端并沒有被充分的利用,造成了資源的浪費。綜合上述分析,可以看出現(xiàn)有的web測試方案效率低。
技術(shù)實現(xiàn)思路
鑒于上述問題,提出了本專利技術(shù)以便提供一種克服上述問題或者至少部分地解決上述問題的異步測試的方法及裝置。為解決上述技術(shù)問題,一方面,本專利技術(shù)提供了一種異步測試的方法,包括:搭建異步測試框架;基于所述異步測試框架獲取單元測試用例,對被測試事務進行單元測試;若多個事務同時進行單元測試,則所述多個事務占用同一個線程進行單元測試;基于所述異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行所述壓力測試用例;通過多個線程并行執(zhí)行所述壓力測試用例,以完成不同量級的壓力測試。另一方面,本專利技術(shù)提供了一種異步測試的裝置,包括:搭建單元,用于搭建異步測試框架;第一單元測試單元,用于基于所述異步測試框架獲取單元測試用例,對被測試事務進行單元測試;第二單元測試單元,用于若多個事務同時進行單元測試,則所述多個事務占用同一個線程進行單元測試;第一壓力測試單元,用于基于所述異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行所述壓力測試用例;第二壓力測試單元,用于通過多個線程并行執(zhí)行所述壓力測試用例,以完成不同量級的壓力測試。借由上述技術(shù)方案,本專利技術(shù)提供的異步測試的方法及裝置,能夠通過搭建異步測試框架,然后基于該異步框架獲取單元測試用例進行單元測試,若多個事務同時進行單元測試時,將多個事務占用同一個線程進行單元測試,同時基于該異步測試框架可以獲取壓力測試用例,然后通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行壓力測試用例,并且使用多個線程并行執(zhí)行壓力測試用例來完成不同量級的壓力測試。與現(xiàn)有技術(shù)相比,本專利技術(shù)能夠基于異步測試框架將單元測試與壓力測試統(tǒng)一,并且可以通過循環(huán)的方式實現(xiàn)不同量級的壓力測試,并且使用多線程并行執(zhí)行壓力測試用例,因此可以達到百萬量級的壓力測試指標。該種異步測試框架將單元測試和壓力測試合并,不需要分別為單元測試和壓力測試編輯不同的測試框架腳本,簡化了測試的過程,提高了測試的效率。上述說明僅是本專利技術(shù)技術(shù)方案的概述,為了能夠更清楚了解本專利技術(shù)的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本專利技術(shù)的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本專利技術(shù)的具體實施方式。附圖說明通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本專利技術(shù)的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了本專利技術(shù)實施例提供的一種異步測試的方法流程圖;圖2示出了本專利技術(shù)實施例提供的另一種異步測試的方法流程圖;圖3示出了本專利技術(shù)實施例提供的一種異步測試的裝置的組成框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。為解決現(xiàn)有的web測試方案效率低的問題,本專利技術(shù)實施例提供了一種異步測試的方法,如圖1所示,該方法包括:101、搭建異步測試框架。本實施例中搭建異步測試框架是在客戶端搭建異步測試框架。然后模擬客戶端對服務器進行各種請求或者訪問的行為,進而對服務器的性能等指標進行測試。該異步測試框架可以滿足多種測試的需求,將多種測試進行統(tǒng)一。使測試框架不再區(qū)分待運測試、功能測試、壓力測試、單元測試等對應的不同框架。根據(jù)本實施例提供的異步測試框架可以將多種測試合并在一個測試框架中進行,并且該異步框架的底層的架構(gòu)本身就支持高并發(fā),這種架構(gòu)是后面進行高效單元測試和壓力測試的基礎(chǔ)。102、基于異步測試框架獲取單元測試用例,對被測試事務進行單元測試。本步驟是基于步驟101中的異步測試框架,進行事務的單元測試。具體過程為:從測試用例庫中獲取單元測試用例,然后對該事務進行單元測試。單元測試用例是由編程人員或測試人員根據(jù)不同的事務提前編輯好的程序代碼。需要說明的是單元測試主要是對事務對應的程序中包括的各個完整的功能進行測試,測試程序是否正確且是否可以滿足實際的軟件功能設(shè)計需求。事務可以是數(shù)據(jù)庫會話事務、也可以是網(wǎng)絡會話事務等。另外,需要說明的是單元測試用例是從測試用例庫中獲取的,且是用腳本語言進行編輯的,使用腳本語言編輯比通常的C語言更加快鍵而且修改方便。103、若多個事務同時進行單元測試,則多個事務占用同一個線程進行單元測試。若多個事務需要同時進行單元測試時,多個事務占用同一個線程對被測試事務進行單元測試,并且可以保證高效的執(zhí)行,本步驟是針對多種事務占用同一線程時不能將一個線程的資源占滿的情況,不包括多種事務占用的資源超出一個線程的情況。對于超出一個線程的情況就開啟多個線程,并且多個線程是分別屬于不同進程的。本步驟是強調(diào)一個線程上多個事務可以并行執(zhí)行,因此不關(guān)注多個事務用例超出一個線程資源的情況。104、基于異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行壓力測試用例。壓力測試通常對服務器抗壓能力的測試,具體的是指測試服務器的吞吐量和負載,從而獲取服務器最大的極限壓力指標。比如測試一個網(wǎng)站的服務器對于大數(shù)據(jù)量的接受能力,即在大量的客戶端在同時查詢網(wǎng)站或者同時向網(wǎng)站提交數(shù)據(jù)時,服務器的承載能力,通過不同的數(shù)量級來進行測試得到網(wǎng)站的最大負載量。本實施例中使用的循環(huán)函數(shù)為for循環(huán)函數(shù)。對于通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行壓力測試用例分為兩種情本文檔來自技高網(wǎng)...
【技術(shù)保護點】
一種異步測試的方法,其特征在于,所述方法包括:搭建異步測試框架;基于所述異步測試框架獲取單元測試用例,對被測試事務進行單元測試;若多個事務同時進行單元測試,則所述多個事務占用同一個線程進行單元測試;基于所述異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)多次執(zhí)行所述壓力測試用例;通過多個線程并行執(zhí)行所述壓力測試用例,以完成不同量級的壓力測試。
【技術(shù)特征摘要】
1.一種異步測試的方法,其特征在于,所述方法包括:
搭建異步測試框架;
基于所述異步測試框架獲取單元測試用例,對被測試事務進行單元測
試;
若多個事務同時進行單元測試,則所述多個事務占用同一個線程進行
單元測試;
基于所述異步測試框架獲取壓力測試用例,通過內(nèi)外嵌套的循環(huán)函數(shù)
多次執(zhí)行所述壓力測試用例;
通過多個線程并行執(zhí)行所述壓力測試用例,以完成不同量級的壓力測
試。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多個事務占用同一
個線程進行單元測試,包括:
通過信號機制控制所述多個事務異步使用同一線程,所述信號機制用
于使用信號標識事務的運行狀態(tài)或阻塞狀態(tài)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過多個線程并行
執(zhí)行所述壓力測試用例,包括:
當一個處理器資源被占滿時,開啟另外一個處理器中一個線程。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述異步測試框架的使
用環(huán)境為多核處理器計算機系統(tǒng),且一個處理器開啟一個線程。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述單元測試用例及所
述壓力測試用例使用腳本語言編寫。
6.一種異步測試的裝置,其特征在于,所述裝置包括:
搭建單元,用于搭建異步...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:王院生,
申請(專利權(quán))人:北京奇虎科技有限公司,北京奇安信科技有限公司,
類型:發(fā)明
國別省市:北京;11
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。