




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于虛擬化架構(gòu)的軟件開發(fā)與測試環(huán)境自動化龔愛斐1,張文靜21. 重慶郵電大學(xué)移動通信重點實驗室,重慶 (4000652. 北京郵電大學(xué)通信網(wǎng)絡(luò)綜合技術(shù)研究所,北京 (100876E-mail:gongaifei摘要:基于虛擬化架構(gòu)的軟件開發(fā)與測試自動化環(huán)境是一個新的概念。通過架設(shè)基于Hipervisor 層的虛擬化服務(wù)器,并輔以軟件開發(fā)測試自動化工具VMware Lab Manager進(jìn)行管理、優(yōu)化,提出了一種新的軟件開發(fā)測試自動化方案,闡述了該方案相對于傳統(tǒng)的軟件測試環(huán)境搭建的優(yōu)越性。并進(jìn)行環(huán)境搭建和實施實驗論證了該方案在配置和部署開發(fā)測試環(huán)境的靈活性和良好的可用性。關(guān)鍵詞:虛擬機(jī);虛擬化;
2、軟件開發(fā)測試環(huán)境;自動化中圖分類號: TP311 文獻(xiàn)標(biāo)識碼:A0 引言軟件開發(fā)與測試環(huán)境的搭建是整個軟件開發(fā)流程中一個重要環(huán)節(jié),不同版本的操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)器以及應(yīng)用服務(wù)再加上不同的系統(tǒng)架構(gòu)的組合,使得要構(gòu)建的軟件測試環(huán)境種類繁多,大部分的軟件開發(fā)環(huán)境具有可重用性,但往往不同的軟件開發(fā)與測試環(huán)境需要交替進(jìn)行,而且隨著軟件運行環(huán)境的多樣性、配置各種相關(guān)參數(shù)的復(fù)雜性以及測試軟件的兼容性等各方面的需求增多,構(gòu)建軟件開發(fā)測試環(huán)境的工作變得愈加復(fù)雜和頻繁。因此有必要引入自動化的方法來對軟件開發(fā)測試環(huán)境的搭建方案進(jìn)行改進(jìn)?;谔摂M機(jī)技術(shù)的封裝性和隔離性等優(yōu)點,可以創(chuàng)建具有復(fù)用性的軟件開發(fā)環(huán)境庫1
3、,這對提高軟件開發(fā)測試效率以及靈活性是一種更有效的方法。1 開發(fā)、測試虛擬機(jī)及其集合的概念虛擬機(jī)(Virtual Machine是利用虛擬機(jī)監(jiān)視器(Virtual Machine Monitor,簡稱VMM作為一個軟件抽象層(Hipervisor插入硬件層與軟件層之間2,可以為應(yīng)用提供獨立的運行環(huán)境,屏蔽硬件平臺的動態(tài)性、分布性以及異構(gòu)性,將單個的物理硬件平臺虛擬成多個虛擬機(jī),使得不同的操作系統(tǒng)可以同時在其上運行,支持同一硬件之本課題得到863計劃引導(dǎo)項目(課題名稱:TD-SCDMA 手機(jī)關(guān)鍵技術(shù)的研究與應(yīng)用,課題編號:2004AA001390的資助。上的虛擬機(jī)之間共享和復(fù)用硬件資源,以及共享
4、相同的內(nèi)核運行代碼,并且為每個開發(fā)人員和用戶提供獨立、隔離的使用環(huán)境。虛擬機(jī)與真實的計算機(jī)類似,擁有自己的CPU、內(nèi)存、硬盤、軟驅(qū)、光驅(qū)、網(wǎng)卡等,可以安裝Windows、linux等各種版本的操作系統(tǒng)(視軟件抽象層VMM的架構(gòu)不同而稍有區(qū)別。在操作系統(tǒng)之上安裝相關(guān)的開發(fā)測試工具,并配置好系統(tǒng)參數(shù)就形成了開發(fā)測試虛擬機(jī)。在實際開發(fā)測試過程中往往需要多臺虛擬機(jī)組成的聯(lián)合環(huán)境進(jìn)行系統(tǒng)性的開發(fā)測試,而與具體的軟件開發(fā)測試相關(guān)的多臺虛擬機(jī)環(huán)境,就形成了一個集合。在實施基于虛擬化架構(gòu)的軟件開發(fā)和測試自動化環(huán)境搭建過程中,我們往往面對的是一組虛擬機(jī)的集合所構(gòu)建的環(huán)境。由于硬件平臺的升級、維護(hù)等情況會影響軟件
5、開發(fā)測試的持續(xù)穩(wěn)定進(jìn)行,因此屏蔽硬件資源的動態(tài)變化以及增強(qiáng)開發(fā)測試環(huán)境部署的靈活性就成為實現(xiàn)軟件開發(fā)測試環(huán)境自動化中的重要問題。通過VMM虛擬的虛擬機(jī)硬件平臺具有通用性。以往當(dāng)新的硬件或者操作系統(tǒng)發(fā)布時,一些不兼容這些新的硬件和操作系統(tǒng)的應(yīng)用軟件往往會制約硬件平臺的升級,而虛擬機(jī)技術(shù)允許在新的硬件平臺上構(gòu)建的不同的虛擬機(jī)硬件,同時支持新老版本的軟件。目前,硬件平臺和操作系統(tǒng)對虛擬機(jī)的支持已非常普遍。因此,虛擬機(jī)的執(zhí)行效率和穩(wěn)定性在底層環(huán)境的得到了保證。2 基于虛擬化架構(gòu)的軟件開發(fā)測試環(huán)境2.1 虛擬化架構(gòu)種類的選擇在虛擬機(jī)的發(fā)展過程中,對應(yīng)于不同的應(yīng)用需求出現(xiàn)了多種虛擬機(jī),可以按照虛擬化的規(guī)模
6、、指令集、宿主環(huán)境等方面的多種標(biāo)準(zhǔn)對虛擬化架構(gòu)進(jìn)行分類2,本文研究的開發(fā)測試環(huán)境主要考慮虛擬機(jī)的性能和環(huán)境部署的靈活性等方面的內(nèi)容,因此從虛擬機(jī)的宿主環(huán)境的選擇來考慮虛擬化架構(gòu)。按照虛擬機(jī)的宿主環(huán)境可以將虛擬機(jī)分為寄生虛擬機(jī)和經(jīng)典虛擬機(jī)。宿主環(huán)境是虛擬機(jī)的運行支撐環(huán)境,寄生虛擬機(jī)是指宿主環(huán)境是操作系統(tǒng)的虛擬機(jī),如VMWare、Virtual PC,這種情況中,VMM是位于操作系統(tǒng)層以上的。而經(jīng)典虛擬機(jī)的宿主環(huán)境是硬件平臺本身,即VMM 是存在于物理硬件層與虛擬機(jī)之間的,如VMWare面向企業(yè)推出的VMWare ESX Server 等。通常我們所熟知的是寄生虛擬機(jī),并且使用較多,但經(jīng)典虛擬機(jī)可
7、以繞過操作系統(tǒng)直接訪問硬件,因此在性能上具有更大的優(yōu)勢?;谶@點,我們選擇經(jīng)典虛擬機(jī)作為本文所述開發(fā)測試環(huán)境的虛擬化架構(gòu)的基礎(chǔ)。2.2 虛擬機(jī)的關(guān)鍵特性虛擬機(jī)技術(shù)通過解除硬件和軟件資源的體系結(jié)構(gòu)、用戶感知的行為與其物理實現(xiàn)之間的耦合,去解決計算機(jī)系統(tǒng)的安全、性能和可靠性等問題3。根據(jù)虛擬機(jī)的應(yīng)用分析,我們認(rèn)為虛擬機(jī)具有以下關(guān)鍵特性:1硬件獨立性:虛擬機(jī)可以轉(zhuǎn)移到其他物理服務(wù)器上不加修改地運行。2封裝性:虛擬機(jī)中操作系統(tǒng)、軟件及其運行環(huán)境都被封裝在一個獨立的虛擬機(jī)硬盤文件中。虛擬機(jī)的安裝、備份、復(fù)制、分發(fā)都可以通過對該虛擬硬盤文件進(jìn)行操作,減小軟件開發(fā)測試環(huán)境分發(fā)和配置的難度,提高了部署的靈活性
8、。3隔離性:多臺虛擬機(jī)可以在同一物理主機(jī)上互不干擾地同時運行,即共享底層硬件資源,又可以各自安裝不同版本的操作系統(tǒng)與軟件。并且一個虛擬機(jī)出現(xiàn)故障不會影響其他虛擬機(jī)的正常運行。4易管理性:虛擬機(jī)硬件的添加、修改、刪除以及開機(jī)、關(guān)機(jī)、休眠等都有特定的編程接口。通過將這些編程接口封裝成遠(yuǎn)程服務(wù),可以實現(xiàn)硬件資源的集中管理和遠(yuǎn)程控制,從而形成一體化的軟件開發(fā)測試環(huán)境。2.3 開發(fā)測試環(huán)境的自動化基于虛擬機(jī)建立的軟件開發(fā)環(huán)境往往只關(guān)注單個虛擬機(jī)的上的技術(shù),缺乏對多臺虛擬機(jī)組成的聯(lián)合開發(fā)環(huán)境及其如何實施自動化的研究。此外,由于缺乏對虛擬開發(fā)測試環(huán)境的設(shè)計、管理、監(jiān)控等功能的支持,傳統(tǒng)的由虛擬機(jī)建立的開發(fā)測
9、試系統(tǒng)無法體現(xiàn)聯(lián)合虛擬開發(fā)環(huán)境的特點。而多臺虛擬機(jī)之間依據(jù)開發(fā)環(huán)境所含有的內(nèi)在聯(lián)系綁定在一起更符合實際的軟件開發(fā)測試環(huán)境。1開發(fā)測試環(huán)境的模板化。軟件開發(fā)環(huán)境與操作系統(tǒng)的選擇,參數(shù)的配置,相關(guān)數(shù)據(jù)庫、應(yīng)用軟件的安裝等相關(guān)聯(lián)。一般的軟件測試環(huán)境都是專用的測試環(huán)境,測試腳本、測試用例的選擇以及測試環(huán)境接口都與被測軟件密切相關(guān)。當(dāng)測試不同的軟件時,需要針對特定的測試對象構(gòu)建專用的測試環(huán)境、配置系統(tǒng)參數(shù)等等。而且一些可重用的測試腳本在更改測試環(huán)境參數(shù)后無法在新的測試環(huán)境中得到有效的利用,因此如果能把開發(fā)測試環(huán)境封裝成一個模板,在需要的時候快速實例化該模板,生成即配即用的環(huán)境5,對于聯(lián)合開發(fā)和測試將節(jié)省
10、用于重復(fù)配置測試環(huán)境的時間。2聯(lián)合開發(fā)測試。一般的軟件開發(fā)測試往往是由幾種開發(fā)測試環(huán)境組成的,如客戶端、服務(wù)器端、數(shù)據(jù)庫服務(wù)器等。而某種軟件的測試往往同時跟一種以上的測試環(huán)境有關(guān),需要聯(lián)合幾種環(huán)境進(jìn)行開發(fā)和測試?;谔摂M機(jī)的封裝性和隔離型,可以將多個開發(fā)環(huán)境組成虛擬機(jī)的集合,并依據(jù)該集合內(nèi)多種虛擬機(jī)環(huán)境之間的關(guān)聯(lián)性,對這個集合進(jìn)行模板化和實例化的操作。3 虛擬化軟件開發(fā)測試環(huán)境的體系結(jié)構(gòu) 圖1 虛擬化開發(fā)測試環(huán)境體系結(jié)構(gòu)如圖1所示,虛擬化軟件開發(fā)測試環(huán)境體系結(jié)構(gòu)中核心部分為:Lab Manager服務(wù)器、被管理主機(jī)以及存儲服務(wù)器。1Lab Manager服務(wù)器:為整個測試環(huán)境提供Web與SOA
11、P接口。Lab Manager服務(wù)器對被管服務(wù)器資源池進(jìn)行配置的管理和部署工作。開發(fā)和測試人員可以通過IE瀏覽器遠(yuǎn)程登陸Lab Manager服務(wù)器所提供的管理頁面或通過相應(yīng)的軟件工具調(diào)用Lab Manager服務(wù)器提供的SOAP API接口4對虛擬機(jī)集合進(jìn)行管理和使用。Lab Manager正是利用了虛擬機(jī)的相關(guān)管理編程接口對被管服務(wù)器中的虛擬機(jī)進(jìn)行各種操作??梢酝瑫r對多臺被管服務(wù)器進(jìn)行開發(fā)測試環(huán)境的配置和管理。2被管服務(wù)器:安裝了虛擬化軟件層(如VMware ESX Server等和管理代理軟件的高性能服務(wù)器。實際中往往選取高性能服務(wù)器進(jìn)行開發(fā)測試環(huán)境所需的虛擬機(jī)的安裝和配置。被管服務(wù)器可
12、以是多臺同時工作形成服務(wù)器群集。虛擬化層之下的圍欄驅(qū)動實現(xiàn)了對虛擬機(jī)集合的隔離,使得不同的開發(fā)測試環(huán)境可以重復(fù)生成和同時部署而不會在網(wǎng)絡(luò)上引起IP地址、MAC地址或者SID的沖突。3存儲服務(wù)器:用于存儲封裝虛擬機(jī)的虛擬硬盤文件以及開發(fā)測試人員常用的光盤鏡像文件等。當(dāng)實例化一個虛擬機(jī)環(huán)境模板時,虛擬機(jī)調(diào)用的是被管服務(wù)器的硬件資源,但對于虛擬機(jī)環(huán)境的讀寫操作最終會對存儲服務(wù)器中的虛擬機(jī)硬盤文件產(chǎn)生作用。4 虛擬化開發(fā)測試自動化環(huán)境的搭建及實驗如圖2所示,虛擬化開發(fā)測試自動化環(huán)境的系統(tǒng)拓?fù)鋱D的關(guān)鍵節(jié)點為Lab Manager服務(wù)器。被管服務(wù)器是安裝了VMware ESX Server虛擬化層的高性能
13、服務(wù)器。圖2 虛擬化開發(fā)測試自動化環(huán)境系統(tǒng)拓?fù)鋱D通過Lab Manager服務(wù)器中基于虛擬機(jī)編程接口提供的系統(tǒng)管理功能可以實現(xiàn)以下功能:1創(chuàng)建單臺虛擬機(jī)模板,并在其中安裝需要的操作系統(tǒng);2將不同的虛擬機(jī)模板組合成的開發(fā)測試環(huán)境導(dǎo)入配置集,形成虛擬機(jī)的集合,進(jìn)行統(tǒng)一管理、部署、監(jiān)控;3對于隸屬于不同項目的開發(fā)測試人員進(jìn)行相應(yīng)權(quán)限的分配,以及開發(fā)環(huán)境的共享和獨占的設(shè)置;4實時捕獲運行中的虛擬機(jī)集合的狀態(tài),并保存到狀態(tài)庫,并交給后續(xù)流程的開發(fā)測試人員使用。后續(xù)的開發(fā)測試人員可以利用保存的狀態(tài)文件立即部署開發(fā)測試環(huán)境。5對虛擬機(jī)狀態(tài)可以實現(xiàn)增量復(fù)制和完全復(fù)制。增量復(fù)制可以有效減少新的虛擬機(jī)實例占用的硬
14、盤空間;而完全復(fù)制可以對虛擬機(jī)封裝文件進(jìn)行完整備份。 (NFS等通過對虛擬化開發(fā)測試自動化環(huán)境中虛擬機(jī)模板的創(chuàng)建和虛擬機(jī)集合的配置、部署、啟動、實時捕獲聯(lián)合開發(fā)測試環(huán)境中虛擬機(jī)的狀態(tài)等功能的測試6,得到如表1所示的實驗結(jié)果。實驗所用的環(huán)境為:被管理服務(wù)器為2臺HP dl380兩路服務(wù)器,Lab Manager服務(wù)器是安裝了Windows 2003 Server系統(tǒng)的普通PC機(jī),其中HP dl380服務(wù)器作為虛擬機(jī)創(chuàng)建和運行的環(huán)境。實驗結(jié)果中記錄了虛擬機(jī)模板的創(chuàng)建、操作系統(tǒng)的安裝、虛擬機(jī)復(fù)制、開發(fā)測試虛擬機(jī)集合的配置、環(huán)境部署時間、啟動時間等。該實驗中創(chuàng)建了3種虛擬機(jī)模板,分別安裝了WinXP、
15、Win 2003 Server、Linux RHEL4操作系統(tǒng),并安裝了相應(yīng)的開發(fā)測試軟件。每臺虛擬機(jī)分配的磁盤空間為5G,從表1的實驗結(jié)果可以看出,配置起始虛擬機(jī)模板的時間與一般的物理機(jī)配置時間類似。如果將這些虛擬機(jī)模板實例化,即生成可以用于實際開發(fā)測試的虛擬機(jī),所需時間僅為8-12s,而針對實時運行的虛擬機(jī)狀態(tài)的捕獲時間則與同時被捕獲的虛擬機(jī)數(shù)量相關(guān),捕獲后的狀態(tài)可以存儲到狀態(tài)庫中成為開發(fā)測試環(huán)境的鏡像拷貝,在需要的時候可以立即實例化狀態(tài)鏡像進(jìn)行作業(yè)。模板的實例化與虛擬機(jī)的狀態(tài)的捕獲過程是無需人工參與的。因此模板的建立是比較耗時的一個關(guān)鍵步驟,當(dāng)擁有配置好的虛擬機(jī)的模板后再進(jìn)行開發(fā)測試環(huán)境
16、虛擬機(jī)實例化時將會節(jié)省大量重復(fù)性勞動的時間,甚至可從一個模板實例化出2臺以上的可運行的虛擬機(jī)??梢钥闯隼米詣踊h(huán)境可以大大減輕開發(fā)測試人員的工作強(qiáng)度和減少重復(fù)性勞動時間。表 1 虛擬化開發(fā)測試環(huán)境創(chuàng)建實驗5 結(jié)論本文首先從軟件開發(fā)測試環(huán)境的復(fù)用及自動化分發(fā)出發(fā),引入了開發(fā)、測試虛擬機(jī)及其集合的概念,通過對虛擬機(jī)技術(shù)選擇的分析,以及虛擬機(jī)關(guān)鍵特性的總結(jié),分析了利用虛擬化架構(gòu)建立軟件開發(fā)測試自動化環(huán)境的可能性。闡述了基于虛擬化架構(gòu)開發(fā)測試自動化環(huán)境的體系結(jié)構(gòu)核心模塊組成,及該環(huán)境可以為軟件開發(fā)測試人員提供硬件資源共享和開發(fā)環(huán)境集中管理與共享等功能,并實現(xiàn)開發(fā)測試環(huán)境自動化地復(fù)制分發(fā)。最后通過基于
17、VM Lab Manager、ESX Server等工具搭建的虛擬化開發(fā)測試自動化環(huán)境配置及部署實驗,分析了該自動化環(huán)境的優(yōu)越性。參考文獻(xiàn)1Magnusson P S,The virtual test labJ.IEEE Computer,2005, 38(5:95-97.2Smith J E,Nair R,The architecture of virtualmachinesJ.IEEE Computer,2005,38(5:32-38.3Figueiredo R,Dinda P.A,Fortes J.Resourcevirtualization renaissance J. Compute
18、r, 2005,38(5:28-31.4Ji Hu Cordel,D Meinel,Virtual machine managementfor Tele-Lab IT-security serverC/ Pro of 10thIEEE Symposium on Computers andCommunications ,2005 :448 -453.5Eickelmann N S,Richardson D J,An evaluation ofsoftware test environment architecturesC/Pro of the18th International Conferen
19、ce on SoftwareEngineering,1996:353 - 364.6Jang,Jiyong Han,Saeyoung Kim,JinseokPark,Sungyong Bae,Seungjo Woo,Young Choon.APerformance Evaluation Methodology in VirtualEnvironmentsC/Proc of the 7th IEEE InternationalConference on Computer and InformationTechnology,2007:351-358.Type of instance Size(MB
20、 InstallTime(min DeployTime(sBootTime(sCaptureTime(sOne VM Template(fresh 5000 39 5 52 N/AOne VM Instance(based on Template 16 N/A 8 40 113One Configuration with 3 VMs(based on Template15000 N/A 12 55 288Automation Environment for Software Developing and TestingBased on Virtualization ArchitectureGo
21、ng Aifei1,Zhang Wenjing21.Key Laboratory of Mobile Communications Technology,Chongqing University of Posts andTelecommunications,Chongqing (4000652.Institute of Telecommunication and Network Technology,Beijing University of Posts andTelecommunications,Beijing(100876AbstractIt is a new concept that a environment for software d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時保安合同范本
- 人才引進(jìn)聘用合同范本
- 2025年西藏貨運從業(yè)資格證考試模擬考試題目答案
- 專業(yè)購銷合同范本
- 個人雇傭老師合同范本
- 加工木料供貨合同范本
- 辦公區(qū)花卉租賃合同范本
- 冰淇淋原材料采購合同范本
- 儀器外借合同范本
- 公交駕校培訓(xùn)合同范本
- 北師大版數(shù)學(xué)八年級上冊1.1探索勾股定理 同步練習(xí)【基礎(chǔ)版】(附答案解析)
- 新人教版二年級數(shù)學(xué)下冊期末考試卷及答案【1套】
- 《會計信息系統(tǒng)應(yīng)用》-課件 王新惠 模塊二 供應(yīng)鏈管理系統(tǒng)
- 美容院會員積分營銷方案
- 水利水電工程金屬結(jié)構(gòu)制作與安裝安全技術(shù)規(guī)程
- DL5000-火力發(fā)電廠設(shè)計技術(shù)規(guī)程
- 羊水穿刺的委托書
- 2024年新疆生產(chǎn)建設(shè)兵團(tuán)興新職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
- (高清版)JTGT M72-01-2017 公路隧道養(yǎng)護(hù)工程預(yù)算定額
- DZ∕T 0130.6-2006 地質(zhì)礦產(chǎn)實驗室測試質(zhì)量管理規(guī)范 第6部分:水樣分析(正式版)
- 摩托車科目一題庫-共400題(附答案)
評論
0/150
提交評論