• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于虛擬實(shí)驗(yàn)室的壓力測試方法與服務(wù)平臺

      2014-01-31 12:10:26徐小春王禮生董超群
      關(guān)鍵詞:測試環(huán)境測試人員服務(wù)平臺

      徐小春,王禮生,董超群

      XU Xiaochun,WANG Lisheng,DONG Chaoqun

      江南計(jì)算技術(shù)研究所軟件測評中心,江蘇無錫214083

      Software Testing Center,Jiangnan Institute of Computing Technology,Wuxi,Jiangsu 214083,China

      1 引言

      不少信息系統(tǒng)存在的“用戶數(shù)過多無法登錄”、“系統(tǒng)忙無響應(yīng)”、“越用越慢”等問題導(dǎo)致了糟糕的用戶體驗(yàn)。因此在系統(tǒng)上線之前對其進(jìn)行測試時(shí),壓力測試是一項(xiàng)必不可少的工作。大中型的信息系統(tǒng)在設(shè)計(jì)時(shí),一般都會考慮支持的并發(fā)用戶數(shù)、吞吐量、連接數(shù)、持續(xù)運(yùn)行時(shí)間等壓力測試相關(guān)的指標(biāo),如何有效驗(yàn)證各類指標(biāo)的實(shí)現(xiàn)情況是測試人員必須解決的問題。

      在傳統(tǒng)的軟件測試實(shí)驗(yàn)室內(nèi)難以部署復(fù)雜的、異構(gòu)和分布式的壓力測試環(huán)境,要直接在空間有限的實(shí)驗(yàn)室內(nèi)部署與真實(shí)環(huán)境完全一致的測試環(huán)境來開展測試的可能性?。粚τ谀切┬枰M用戶極度擁塞場景的軟件測試,更難在實(shí)驗(yàn)室內(nèi)開展。測試人員只能在非常有限的時(shí)間內(nèi)使用待上線的生產(chǎn)環(huán)境開展工作,測試的充分性得不到保證。

      當(dāng)前云計(jì)算系統(tǒng)的高速建設(shè)給測試工作帶來了新的啟示。云計(jì)算能夠按需提供計(jì)算、存儲和網(wǎng)絡(luò)等壓力測試必須的資源,使用方便且成本比為一個(gè)測試項(xiàng)目單獨(dú)構(gòu)建復(fù)雜測試環(huán)境低,因此可探索使用云計(jì)算的基礎(chǔ)設(shè)施實(shí)施壓力測試的方法。本文闡述利用云計(jì)算的基礎(chǔ)設(shè)施構(gòu)建虛擬測試實(shí)驗(yàn)室實(shí)施壓力測試的方法,將云計(jì)算技術(shù)引入到壓力測試過程中,以解決傳統(tǒng)的測試實(shí)驗(yàn)室構(gòu)建壓力測試環(huán)境困難的問題。

      2 概念

      2.1 Vlab

      Vlab是一個(gè)寬泛的概念,有虛擬測試實(shí)驗(yàn)室、虛擬教學(xué)實(shí)驗(yàn)室、虛擬醫(yī)療實(shí)驗(yàn)室等。本文中的虛擬實(shí)驗(yàn)室是計(jì)算機(jī)領(lǐng)域的Vlab[1],它提供通用的桌面計(jì)算機(jī)、工作所需的網(wǎng)絡(luò)、標(biāo)準(zhǔn)軟件配置如操作系統(tǒng)、數(shù)據(jù)庫和測試工具等,并且保證計(jì)算機(jī)系統(tǒng)安全。工作人員不接觸實(shí)驗(yàn)室的實(shí)際物理設(shè)備,而是通過RDP、SSH或VNC客戶端訪問遠(yuǎn)程的桌面機(jī)或服務(wù)器的虛擬機(jī)(Virtual Machine,VM)。

      利用云計(jì)算基礎(chǔ)設(shè)施構(gòu)建用于測試的Vlab,允許任何人在任何時(shí)刻按需訪問與物理環(huán)境類似的虛擬環(huán)境,無需像使用物理機(jī)那樣長時(shí)間地等待安裝配置。Vlab集中管理高度虛擬化的基礎(chǔ)設(shè)施,動(dòng)態(tài)地部署測試資源,確保滿足測試項(xiàng)目的需求[2]。從另外一個(gè)角度看,其管理的對象是測試云,按照服務(wù)等級協(xié)議選擇測試參數(shù)、配置測試環(huán)境、跟蹤測試進(jìn)展并檢查測試結(jié)果[3]。

      Vlab使用云計(jì)算基礎(chǔ)設(shè)施構(gòu)建,虛擬計(jì)算機(jī)、網(wǎng)絡(luò)和存儲的功能表現(xiàn)與真實(shí)物理設(shè)備的表現(xiàn)相似,因此在實(shí)踐中用得較多的是功能、安全性和兼容性等方面的測試。如何將Vlab應(yīng)用于壓力測試則是本文研究的重點(diǎn)。

      2.2 壓力測試特征、方法和工具

      壓力測試是通過逐步增加系統(tǒng)負(fù)載,測試系統(tǒng)性能的變化,并最終確定在什么負(fù)載條件下系統(tǒng)性能處于失效狀態(tài),并以此來獲得系統(tǒng)性能提供的最大服務(wù)級別的測試[4]。通俗地講,壓力測試是一定要在規(guī)定的負(fù)載下測試到系統(tǒng)發(fā)生故障為止。對當(dāng)今的信息系統(tǒng)尤其是網(wǎng)絡(luò)應(yīng)用服務(wù)系統(tǒng)的壓力測試一般需:

      (1)測試最大的并發(fā)用戶數(shù)、在線用戶數(shù)或連接數(shù)等指標(biāo);

      (2)測試能處理的最大數(shù)據(jù)量,如吞吐率、帶寬或頁面數(shù)等指標(biāo);

      (3)測試事務(wù)處理能力相關(guān)的指標(biāo)例如響應(yīng)時(shí)間和每秒處理的事務(wù)數(shù);

      (4)測試在不同位置產(chǎn)生的負(fù)載對系統(tǒng)的影響;

      (5)需進(jìn)行持續(xù)一段規(guī)定的時(shí)間,而且連續(xù)不能中斷的測試。

      壓力測試常常被歸為性能測試的一種類型,一般與性能測試和調(diào)優(yōu)工作結(jié)合在一起進(jìn)行。測試通過與否需要依據(jù)系統(tǒng)需求作出相應(yīng)的判斷。

      壓力測試一般通過自動(dòng)化的方法完成。首先完成壓力測試腳本創(chuàng)建和調(diào)試,然后配置好壓力測試的場景,提交壓力測試平臺執(zhí)行。多數(shù)壓力測試平臺中,控制器、負(fù)載發(fā)生器和分析器承擔(dān)著壓力測試執(zhí)行的主要工作。控制器將腳本傳遞給負(fù)載發(fā)生器,啟動(dòng)并監(jiān)控多個(gè)負(fù)載發(fā)生器的執(zhí)行;負(fù)載發(fā)生器是施加壓力的重要工具,按照指定用戶數(shù)執(zhí)行腳本,發(fā)起對目標(biāo)系統(tǒng)的壓力測試;分析負(fù)載發(fā)生器執(zhí)行的結(jié)果數(shù)據(jù),產(chǎn)生測試報(bào)告。

      壓力測試的工具比較多,典型的工具有LoadRunner、RPT、SilkPerformer和Jmeter等[5],這些工具的共同特點(diǎn)是支持錄制或者手工編寫壓力測試的腳本,支持測試場景的配置,并且能控制多機(jī)上的負(fù)載發(fā)生器模擬一定數(shù)量的虛擬用戶(Virtual User,VU)生成高強(qiáng)度的壓力,對目標(biāo)系統(tǒng)進(jìn)行充分的測試。

      壓力測試的這些特點(diǎn)要求壓力測試要有足夠的資源投入。傳統(tǒng)的壓力測試方法是通過在一定數(shù)量的物理機(jī)上部署負(fù)載發(fā)生器,生成VU,訪問被測系統(tǒng)。這種方法的缺點(diǎn)是需要部署指定數(shù)量的計(jì)算機(jī),工作量和成本較大,例如要測試支持10萬并發(fā)用戶的大型系統(tǒng),若每臺計(jì)算機(jī)支持創(chuàng)建250個(gè)VU,則需要配置400臺計(jì)算機(jī),在一般的實(shí)驗(yàn)室中難以實(shí)現(xiàn)。

      基于云計(jì)算基礎(chǔ)設(shè)施構(gòu)建Vlab為解決上述問題提供了一個(gè)新的途徑[6]。利用支持千臺VM的測試云,在Vlab中以模板為基礎(chǔ)創(chuàng)建一定數(shù)量負(fù)載發(fā)生器,并且指定其分布于不同地點(diǎn)的資源池,快速部署所需VM群,工作量和成本都有效降低,且能實(shí)現(xiàn)多地點(diǎn)的并發(fā)訪問,與真實(shí)的使用環(huán)境相似,從而保證測試充分性。若能以標(biāo)準(zhǔn)的測試流程向用戶提供服務(wù),則能實(shí)現(xiàn)“測試即服務(wù)”的功能[7]。

      3 壓力測試服務(wù)

      一般的壓力測試過程(以下記作P1)較復(fù)雜,步驟比較多。在測試計(jì)劃已經(jīng)確定的情況下,需要選擇合適的測試工具,(1)設(shè)計(jì)測試腳本;(2)向設(shè)備管理員申請測試資源,如計(jì)算機(jī)、網(wǎng)絡(luò)和存儲;(3)根據(jù)VU規(guī)模部署單機(jī)獨(dú)立測試環(huán)境或多機(jī)聯(lián)合測試環(huán)境,在其中安裝指定的操作系統(tǒng)和測試工具;(4)測試控制器與負(fù)載發(fā)生器的連通性;(5)設(shè)定測試場景及參數(shù);(6)執(zhí)行測試;(7)執(zhí)行完導(dǎo)出測試結(jié)果數(shù)據(jù),向設(shè)備管理員歸還測試資源;(8)分析測試結(jié)果。在這種模式下,測試人員必須參與所有的步驟。

      在基于Vlab的環(huán)境下,壓力測試過程可以設(shè)計(jì)得更加簡單易用,在壓力測試服務(wù)平臺中以服務(wù)的形式向測試人員提供專業(yè)的壓力測試服務(wù),其測試過程將(以下記作P2)步驟簡化為3步。如圖1所示。

      P2包括:(1)設(shè)計(jì)測試腳本;(2)向壓力測試服務(wù)平臺申請壓力測試,申請時(shí)配置測試場景及參數(shù),上傳已設(shè)計(jì)好的測試腳本,壓力測試服務(wù)平臺在接受到申請后在Vlab中自動(dòng)部署測試環(huán)境并開始測試執(zhí)行;(3)分析測試結(jié)果。

      P2的步驟(1)和步驟(3)與P1的步驟(1)和步驟(8)相同,而步驟(2)的測試執(zhí)行由壓力測試服務(wù)平臺后臺進(jìn)行,無需測試人員參與。壓力測試服務(wù)平臺根據(jù)測試人員申請時(shí)所設(shè)定的參數(shù)計(jì)算所需的VM數(shù),從Vlab的資源池中自動(dòng)選擇資源,基于預(yù)置的控制器模板和負(fù)載發(fā)生器模板分配計(jì)算機(jī)、網(wǎng)絡(luò)和存儲,創(chuàng)建控制器和負(fù)載發(fā)生器的VM,啟動(dòng)并執(zhí)行測試,集中測試結(jié)果數(shù)據(jù),將結(jié)果反饋給測試人員,最后自動(dòng)釋放所有的測試資源。

      在壓力測試服務(wù)平臺的支持下,測試人員所關(guān)注的測試資源部署、測試工具安裝、測試環(huán)境的配置等工作量較大的工作交由了系統(tǒng)自動(dòng)完成,測試人員可以將更多精力投入在腳本、場景和結(jié)果分析等工作上。

      本文提供了一個(gè)基于Vlab的壓力測試服務(wù)平臺的基礎(chǔ)架構(gòu)模型,供測試人員在設(shè)計(jì)壓力測試平臺時(shí)參考。

      圖1 壓力測試過程

      4 壓力測試服務(wù)平臺的架構(gòu)及構(gòu)建策略

      4.1 架構(gòu)

      云計(jì)算基礎(chǔ)設(shè)施服務(wù)能提供用于測試的VM組成測試環(huán)境,但是基于VM的軟件測試環(huán)境往往只關(guān)注單個(gè)VM上的技術(shù),缺乏對多VM組成的分布式測試環(huán)境的考慮,忽略了VM之間的內(nèi)在聯(lián)系[8]。此外,由于缺乏對虛擬測試環(huán)境的整體設(shè)計(jì)、管理、監(jiān)控等功能的支持,傳統(tǒng)的由VM建立的測試系統(tǒng)無法體現(xiàn)壓力測試環(huán)境的特點(diǎn)。系統(tǒng)架構(gòu)設(shè)計(jì)應(yīng)根據(jù)壓力測試的特點(diǎn),考慮以下幾方面的需求:

      (1)壓力測試服務(wù)的管理。服務(wù)管理包括服務(wù)的申請、處理和終止。測試人員能夠通過瀏覽器申請測試服務(wù),服務(wù)提交后Vlab后臺處理該服務(wù),測試執(zhí)行完成后服務(wù)自動(dòng)終止。測試人員能夠監(jiān)控后臺處理過程中服務(wù)的狀態(tài)。

      (2)Vlab需支持按測試項(xiàng)目構(gòu)建測試環(huán)境。分布式系統(tǒng)一般由客戶端、應(yīng)用服務(wù)器、數(shù)據(jù)服務(wù)器等不同用途的計(jì)算資源構(gòu)成,在構(gòu)建項(xiàng)目的壓力測試環(huán)境時(shí)必須分別部署項(xiàng)目對應(yīng)的資源。為一個(gè)被測軟件系統(tǒng)測試而建立的所有測試資源納入一個(gè)測試項(xiàng)目的統(tǒng)一管理。

      (3)VM、網(wǎng)絡(luò)和項(xiàng)目的模板化。將安裝了不同操作系統(tǒng)、數(shù)據(jù)庫或測試工具的VM模板化,將網(wǎng)絡(luò)參數(shù)如IP地址模式、掩碼、網(wǎng)關(guān)配置等模板化,新項(xiàng)目創(chuàng)建時(shí)選擇所需的模板,部署完成后就不需要再安裝相應(yīng)的軟件。將項(xiàng)目模板化,類似的項(xiàng)目實(shí)例化該模板,快速部署生成即配即用的環(huán)境,節(jié)省用于重復(fù)配置的時(shí)間。

      (4)提供必要的管理功能。這些功能包括①與測試項(xiàng)目相關(guān)的用戶、用戶組和權(quán)限管理;②VM和網(wǎng)絡(luò)模板管理;③活動(dòng)日志、資源使用、已部署VM的監(jiān)視;④資源池中主機(jī)、數(shù)據(jù)存儲庫和網(wǎng)絡(luò)管理等。

      能夠滿足以上需求的典型的壓力測試服務(wù)平臺架構(gòu)如圖2所示。

      圖2所示的壓力測試服務(wù)平臺由云計(jì)算基礎(chǔ)設(shè)施、Vlab和壓力測試服務(wù)組成。云計(jì)算基礎(chǔ)設(shè)施為Vlab提供基本的計(jì)算、網(wǎng)絡(luò)和存儲服務(wù);Vlab處理來自壓力測試服務(wù)層的各類請求,調(diào)用云計(jì)算基礎(chǔ)設(shè)施的服務(wù)接口,完成資源的分配和釋放;壓力測試服務(wù)層負(fù)責(zé)將壓力測試過程封裝成服務(wù),提供面向測試人員的工作界面。

      (1)壓力測試服務(wù):實(shí)現(xiàn)圖1所述的基于Vlab的測試過程。測試人員在瀏覽器中完成服務(wù)的申請、測試參數(shù)和場景的配置、測試腳本的上傳等工作,服務(wù)申請?zhí)峤缓笥蓧毫y試服務(wù)平臺自動(dòng)地分配所需的軟硬件資源、執(zhí)行測試腳本、反饋測試結(jié)果并釋放資源,后臺工作完成后,測試人員查看并分析測試結(jié)果。壓力測試服務(wù)通過調(diào)用Vlab提供的SOAP/REST API對項(xiàng)目、VM和模板等進(jìn)行管理和使用[9]。

      (2)Vlab:是壓力測試服務(wù)平臺設(shè)計(jì)的關(guān)鍵,也是壓力測試服務(wù)和云計(jì)算基礎(chǔ)設(shè)施之間的“橋梁”,處理來自壓力測試服務(wù)層的各類請求。Vlab提供管理員功能部件和測試員功能部件。管理員功能部件至少應(yīng)包括VM模板管理、網(wǎng)絡(luò)模板管理、用戶/用戶組管理、權(quán)限管理、存儲庫管理、資源池管理、測試工具和腳本管理功能,才能滿足Vlab的配置管理需求;測試員功能部件一般包括測試項(xiàng)目創(chuàng)建、測試配置計(jì)劃、VM部署、VM開關(guān)停與快照、網(wǎng)絡(luò)管理、測試工具及腳本選擇器、資源監(jiān)控的功能,滿足一個(gè)測試項(xiàng)目的使用需求[10]。Vlab通過調(diào)用云計(jì)算基礎(chǔ)設(shè)施服務(wù)提供的SOAP/REST API對基礎(chǔ)設(shè)施資源等進(jìn)行管理和使用。

      (3)云計(jì)算基礎(chǔ)設(shè)施:一般由服務(wù)器集群、存儲服務(wù)器和高速網(wǎng)絡(luò)組成測試云。服務(wù)器一般配置高性能多核CPU、大內(nèi)存、高速網(wǎng)卡,并且安裝虛擬化軟件和代理工具。虛擬化層之下的圍欄驅(qū)動(dòng)實(shí)現(xiàn)了對多VM的隔離,使得不同的測試模板可以重復(fù)生成和同時(shí)部署而不會在網(wǎng)絡(luò)上引起IP地址和MAC地址的沖突。多臺服務(wù)器同時(shí)工作,保持負(fù)載均衡,使用共享存儲,形成服務(wù)器集群,以獲得比較高的性能。存儲服務(wù)器為測試工作提供存儲VM文件、測試工具、測試用例庫和系統(tǒng)軟件鏡像的服務(wù)[11]。測試云為上層的Vlab服務(wù)提供SOAP/REST API,包括VM管理、網(wǎng)絡(luò)管理、存儲管理等的應(yīng)用編程接口,開發(fā)人員按照接口規(guī)范實(shí)現(xiàn)Vlab服務(wù)。

      圖2 壓力測試服務(wù)平臺的架構(gòu)示意圖

      4.2 平臺構(gòu)建策略

      壓力測試服務(wù)平臺的構(gòu)建首先要確定測試云的獲取方式。測試云可自行構(gòu)建或者利用已有的商用計(jì)算云,例如基于云的CTaaS系統(tǒng)即利用Amazon EC2作為其基礎(chǔ)設(shè)施[12]。自行構(gòu)建測試云需要根據(jù)測試需求配置相應(yīng)數(shù)量的高性能服務(wù)器、網(wǎng)絡(luò)設(shè)備和存儲設(shè)備,而且需要一套功能完善的基礎(chǔ)設(shè)施管理軟件;租用已有的商用計(jì)算云省去了建造和維護(hù)基礎(chǔ)設(shè)施的過程,能夠縮短工程周期,但是對需要與互聯(lián)網(wǎng)物理隔離的企業(yè)不適用。測試云須為Vlab的設(shè)計(jì)提供一套功能全面的API,否則無法在Vlab中實(shí)現(xiàn)測試項(xiàng)目的VM管理、網(wǎng)絡(luò)管理和存儲管理等功能項(xiàng)。

      其次需要決定是完全自主設(shè)計(jì)還是基于現(xiàn)有的COTS工具開發(fā)Vlab。完全自主設(shè)計(jì)按照需求設(shè)計(jì)系統(tǒng)的配置項(xiàng),實(shí)現(xiàn)系統(tǒng)所有功能,需要一個(gè)較長的開發(fā)周期;基于現(xiàn)有的COTS工具提供的接口進(jìn)行開發(fā),不僅能節(jié)省時(shí)間,而且可以得到較好技術(shù)支持?,F(xiàn)有虛擬實(shí)驗(yàn)室方面的COTS工具的基本功能完善,能與云計(jì)算基礎(chǔ)設(shè)施服務(wù)集成,并且提供進(jìn)一步開發(fā)的編程接口,擴(kuò)展測試方面的應(yīng)用。有代表性的工具是Vmware vCloud Director、SkytapCloud、SurgientVirtual Automation Platform和Microsoft Visual Studio Lab Management[13]。

      最后是需要根據(jù)壓力測試服務(wù)的具體需求確定所需實(shí)現(xiàn)的服務(wù)功能集。因目前還沒有成熟的壓力測試服務(wù)構(gòu)建工具,需要自行設(shè)計(jì)。若要實(shí)現(xiàn)圖2所述的所有功能,實(shí)現(xiàn)較高程度的自動(dòng)化,則工作量較大。設(shè)計(jì)者可根據(jù)測試需求,進(jìn)行適當(dāng)剪裁。

      5 實(shí)驗(yàn)與分析

      5.1 實(shí)驗(yàn)環(huán)境

      為驗(yàn)證第4章所述之架構(gòu)實(shí)現(xiàn)的可行性,本文利用現(xiàn)有的COTS工具并結(jié)合自主開發(fā)構(gòu)建了一個(gè)小規(guī)模的壓力測試服務(wù)平臺實(shí)驗(yàn)環(huán)境,如圖3所示。

      云計(jì)算基礎(chǔ)設(shè)施由5臺雙CPU(每CPU四核,主頻2.4 GHz)服務(wù)器、1臺4 TB盤陣、1臺交換機(jī)組成,安裝Vmware的ESX Server操作系統(tǒng)。為了對ESX Server進(jìn)行管理,配置了一臺vCenter Server服務(wù)器。

      Vlab使用單獨(dú)的服務(wù)器,其中安裝vCloud Director,將vCenter Server所管理的所有ESX Server均納入到vCloud Director的資源池。在Vlab中創(chuàng)建預(yù)置了壓力測試工具(本文以LoadRunner為例)的VM模板,包括控制器模板和負(fù)載發(fā)生器模板。Vlab根據(jù)模板部署負(fù)載發(fā)生器VM,之后在測試執(zhí)行時(shí)產(chǎn)生所需數(shù)量的VU對被測系統(tǒng)施加壓力。

      壓力測試服務(wù)亦使用單獨(dú)的服務(wù)器,其中安裝IIS服務(wù),并部署自行設(shè)計(jì)的壓力測試服務(wù)應(yīng)用。該應(yīng)用調(diào)用Vlab的REST API,提供服務(wù)申請、參數(shù)和場景配置、腳本上傳、查看結(jié)果的用戶界面,并能自動(dòng)部署負(fù)載發(fā)生器、測試連通性、在控制器中啟動(dòng)測試,執(zhí)行完后反饋測試結(jié)果,最后自動(dòng)釋放所自動(dòng)部署的資源。

      圖3 壓力測試服務(wù)平臺實(shí)驗(yàn)環(huán)境

      5.2 測試與分析

      為了考察測試平臺的有效性,本文在小規(guī)模的壓力測試服務(wù)平臺實(shí)驗(yàn)環(huán)境下與在一般壓力測試平臺下都進(jìn)行了實(shí)驗(yàn),并對實(shí)驗(yàn)結(jié)果進(jìn)行了分析。

      5.2.1 測試過程

      本文選擇某信息系統(tǒng)的網(wǎng)站作為測試對象,主要測試大量并發(fā)用戶對該網(wǎng)站首頁的訪問時(shí)各項(xiàng)指標(biāo),包括響應(yīng)時(shí)間、點(diǎn)擊率、吞吐率等數(shù)據(jù),目的是能力驗(yàn)證,驗(yàn)證其能否支持1 000個(gè)并發(fā)用戶。

      一般壓力測試平臺使用5臺微機(jī),主頻3.2 GHz,內(nèi)存1 GB,都安裝LoadRunner,其中一個(gè)是控制器,其余4個(gè)作為負(fù)載發(fā)生器,基于硬件配置、操作系統(tǒng)連接數(shù)限制、網(wǎng)站首頁復(fù)雜性和許可證等多因素的考慮,設(shè)置每個(gè)負(fù)載發(fā)生器產(chǎn)生的VU數(shù)為250。小規(guī)模的壓力測試服務(wù)平臺在后臺部署該項(xiàng)目的測試資源時(shí),亦創(chuàng)建配置相當(dāng)?shù)腣M。兩種方法構(gòu)建的測試環(huán)境類似。

      在一般壓力測試平臺下,按照P1實(shí)施測試,包括資源部署、連通性測試和導(dǎo)出數(shù)據(jù)等工作都需要人工完成,只有并發(fā)執(zhí)行是由計(jì)算機(jī)自動(dòng)完成。而在基于Vlab的壓力測試服務(wù)平臺下,按照P2實(shí)施測試,設(shè)計(jì)好腳本之后,測試人員申請壓力測試服務(wù),指定并發(fā)用戶數(shù)量、場景調(diào)度策略[14]和位置等信息,上傳測試腳本,提交壓力測試服務(wù)平臺測試。后臺執(zhí)行時(shí),從模板自動(dòng)部署(1 000/250)=4個(gè)負(fù)載發(fā)生器和1個(gè)控制器VM,其余4個(gè)作為負(fù)載發(fā)生器。負(fù)載發(fā)生器的部署位置根據(jù)申請服務(wù)時(shí)所配置的值部署。例如若位置值配置為1,則將4個(gè)負(fù)載發(fā)生器部署在一臺服務(wù)器上;若位置值配置為4,即模擬在4個(gè)地點(diǎn)產(chǎn)生負(fù)載,則在4臺服務(wù)器上各部署一個(gè)負(fù)載發(fā)生器。本次實(shí)驗(yàn)中,為了保持與一般壓力測試平臺的相似性,采用后一種配置。

      5.2.2 開銷分析

      本次實(shí)驗(yàn)中,對于P1和P2,設(shè)計(jì)測試腳本和分析測試結(jié)果的工作內(nèi)容相同,所需時(shí)間基本相當(dāng);對于P1,步驟(2)~(7)中除步驟(6)是自動(dòng)執(zhí)行可準(zhǔn)確測量時(shí)間為147 s外,其余步驟均為人工完成,執(zhí)行時(shí)間只能估計(jì)。按照壓力測試經(jīng)驗(yàn)估計(jì),在熟練的情況下,步驟(2)約10 min,步驟(3)約4 h,步驟(4)約2 min,步驟(5)約5 min,步驟(7)約10 min,步驟(2)~(7)總時(shí)間約4 h 29 min。

      在小規(guī)模的壓力測試服務(wù)平臺上執(zhí)行時(shí),對于P2,步驟②內(nèi)所有活動(dòng)包括部署軟硬件資源、連通性測試、測試執(zhí)行等是全自動(dòng)執(zhí)行,本次實(shí)驗(yàn)中步驟②執(zhí)行的總時(shí)間為12 min 28 s。

      由此可見,基于Vlab的壓力測試服務(wù)平臺能將測試資源部署自動(dòng)化并與測試執(zhí)行銜接,大幅度節(jié)省測試工作所需的時(shí)間。

      5.2.3 有效性分析

      本次實(shí)驗(yàn)中,為了分析在壓力測試服務(wù)平臺下測試的有效性,對在一般壓力測試平臺和基于Vlab的壓力測試服務(wù)平臺下的測試曲線進(jìn)行了對比,包括運(yùn)行VU數(shù)、響應(yīng)時(shí)間、點(diǎn)擊率和吞吐量的曲線。

      一般壓力測試平臺下的測試曲線見圖4。

      基于Vlab的壓力測試服務(wù)平臺下的測試曲線見圖5。

      對圖4和圖5進(jìn)行對比分析發(fā)現(xiàn),兩個(gè)平臺下運(yùn)行VU數(shù)、響應(yīng)時(shí)間、點(diǎn)擊率和吞吐量的測試曲線存在一些差別,但線型和趨勢基本一致。例如運(yùn)行VU數(shù)的曲線,兩者都是在前30 s VU數(shù)按一定數(shù)量線性增加,之后80 s VU數(shù)處于1 000,最后40 s,大量的VU完成測試,VU數(shù)急速減少直至為0。

      因此,使用基于Vlab的壓力測試服務(wù)平臺與使用一般的壓力測試平臺進(jìn)行測試的結(jié)果基本相同,可以保證測試結(jié)果的有效性。

      5.2.4 評價(jià)

      本文對典型的場景包括用戶登錄、關(guān)鍵字檢索、數(shù)據(jù)項(xiàng)查詢、添加數(shù)據(jù)項(xiàng)等亦進(jìn)行了測試,使用基于Vlab的壓力測試服務(wù)平臺能大幅降低測試開銷,同時(shí)其測試曲線亦與一般壓力測試平臺一致。該平臺作為一種采用了虛擬化技術(shù)的自動(dòng)化測試服務(wù)平臺,壓力測試項(xiàng)目能夠高效實(shí)施。在需測試的VU數(shù)量越多時(shí),該服務(wù)平臺越具有優(yōu)勢。該平臺的缺點(diǎn)是僅適用于面向多用戶的網(wǎng)絡(luò)應(yīng)用系統(tǒng)的壓力測試,具有一定的局限性。

      圖4 一般壓力測試平臺下的測試曲線

      圖5 基于Vlab的壓力測試服務(wù)平臺下的測試曲線

      6 結(jié)束語

      在云計(jì)算背景下,相對于采用一般的壓力測試方法實(shí)施壓力測試,基于Vlab壓力測試方法更易于使用,且效率更高。雖然構(gòu)建一個(gè)基于Vlab的專業(yè)壓力測試服務(wù)平臺需要一定的投入,但是利用它可以將測試資源部署和測試執(zhí)行有效對接,實(shí)現(xiàn)測試自動(dòng)化,并且支持多項(xiàng)目大規(guī)模的壓力測試。而在允許連接互聯(lián)網(wǎng)的條件下,可利用不同位置的商用測試云,構(gòu)建更大規(guī)模的壓力測試服務(wù)平臺,模擬真實(shí)的場景,對目標(biāo)系統(tǒng)進(jìn)行更充分的測試。

      [1] Burd S D,Seazzu A F.Virtual computing laboratories:a case study with comparisons to physical computing laboratories[J].Journal of Information Technology Education,2009,8:55-78.

      [2] Lanowitz T,Dronzek L.Virtual lab management[R].2010:1-26.

      [3] Bai Xiaoying,Li Muyang,Huang Xiaofei,et al.Vee@Cloud:the virtual test lab on the cloud[C]//Proc of the 8th International Workshop on Automation of Software Test,2013:15-18.

      [4] 吳為根.基于Web的壓力測試[D].上海:復(fù)旦大學(xué),2006:1-2.

      [5] 段念.軟件性能測試過程詳解與案例剖析[M].北京:清華大學(xué)出版社,2012:60-75.

      [6] Gao Jerry,Bai Xiaoying,Tsai Wei-Tek.Cloud testing-issues,challenges,needs and practice[J].Software Engineering,2011,1(1):9-23.

      [7] Yu Lian,Tsai Wei-Tek,Chen Xiangji,et al.Testing as a service over cloud[C]//Proc of the 5th IEEE International Symposium on Service Oriented System Engineering,2010:181-188.

      [8] 龔愛斐,張文靜.基于虛擬化架構(gòu)的軟件開發(fā)與測試環(huán)境自動(dòng)化[J].自動(dòng)化與信息工程,2008,29(2):4-6.

      [9] Candea G,Bucur S,Zamfir C.Automated software testing as a service[C]//Proc of the 1st ACM Symposium on Cloud Computing.New York:ACM Press,2010:155-160.

      [10] Xie Weicheng,Yang Xia,Li Fugan.A virtual laboratory platform and simulation software based on Web[C]//Proc of the 10th International Conference on Control,Automation,Robotics and Vision,2008:1650-1654.

      [11] Armbrust M,F(xiàn)ox A,Griffith R,et al.A view of cloud computing[J].Communications of the ACM,2010,53:50-58.

      [12] Gao Jerry,Manjula K,Roopa P,et al.A cloud-based TaaS infrastructure with tools for SaaS validation,performance and scalability evaluation[C]//Proc of the 4th IEEE International Conference on Cloud Computing Technology and Science,2012:464-471.

      [13] Kim W.Cloud computing adoption[J].International Journal of Web and Grid Services,2011,7:225-245.

      [14] Mercury Interactive Ltd.Controller user guide[M].[S.l.]:HP Inc,2009:149-183.

      猜你喜歡
      測試環(huán)境測試人員服務(wù)平臺
      密碼服務(wù)平臺
      移動(dòng)應(yīng)用眾包測試人員信譽(yù)度復(fù)合計(jì)算模型研究
      打造一體化汽車服務(wù)平臺
      全數(shù)字仿真測試環(huán)境在航天軟件測試中的應(yīng)用研究
      論基于云的電子政務(wù)服務(wù)平臺構(gòu)建
      雷達(dá)航跡處理測試環(huán)境構(gòu)建方法研究
      科技視界(2019年10期)2019-09-02 03:22:27
      網(wǎng)絡(luò)設(shè)備自動(dòng)化測試設(shè)計(jì)與實(shí)現(xiàn)
      基于云計(jì)算的民航公共信息服務(wù)平臺
      高校分析測試中心測試隊(duì)伍建設(shè)方案初探
      山東化工(2018年20期)2018-04-02 16:30:53
      淺析軟件測試中的心理學(xué)應(yīng)用
      县级市| 辽阳县| 黄石市| 太谷县| 周至县| 惠水县| 瓦房店市| 鄂托克旗| 河北区| 梁山县| 琼中| 镇沅| 成武县| 麻栗坡县| 西昌市| 松江区| 博客| 兴化市| 黔江区| 南漳县| 东源县| 邹城市| 潞城市| 汤阴县| 东丰县| 弋阳县| 资兴市| 芒康县| 正镶白旗| 海门市| 宁化县| 宁晋县| 仪陇县| 澄城县| 大田县| 宽甸| 绥化市| 潼关县| 白银市| 苍山县| 东港市|