




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于虛擬化架構的軟件開發與測試環境自動化龔愛斐1,張文靜21. 重慶郵電大學移動通信重點實驗室,重慶 (4000652. 北京郵電大學通信網絡綜合技術研究所,北京 (100876E-mail:gongaifei摘要:基于虛擬化架構的軟件開發與測試自動化環境是一個新的概念。通過架設基于Hipervisor 層的虛擬化服務器,并輔以軟件開發測試自動化工具VMware Lab Manager進行管理、優化,提出了一種新的軟件開發測試自動化方案,闡述了該方案相對于傳統的軟件測試環境搭建的優越性。并進行環境搭建和實施實驗論證了該方案在配置和部署開發測試環境的靈活性和良好的可用性。關鍵詞:虛擬機;虛擬化;
2、軟件開發測試環境;自動化中圖分類號: TP311 文獻標識碼:A0 引言軟件開發與測試環境的搭建是整個軟件開發流程中一個重要環節,不同版本的操作系統、數據庫、網絡服務器以及應用服務再加上不同的系統架構的組合,使得要構建的軟件測試環境種類繁多,大部分的軟件開發環境具有可重用性,但往往不同的軟件開發與測試環境需要交替進行,而且隨著軟件運行環境的多樣性、配置各種相關參數的復雜性以及測試軟件的兼容性等各方面的需求增多,構建軟件開發測試環境的工作變得愈加復雜和頻繁。因此有必要引入自動化的方法來對軟件開發測試環境的搭建方案進行改進。基于虛擬機技術的封裝性和隔離性等優點,可以創建具有復用性的軟件開發環境庫1
3、,這對提高軟件開發測試效率以及靈活性是一種更有效的方法。1 開發、測試虛擬機及其集合的概念虛擬機(Virtual Machine是利用虛擬機監視器(Virtual Machine Monitor,簡稱VMM作為一個軟件抽象層(Hipervisor插入硬件層與軟件層之間2,可以為應用提供獨立的運行環境,屏蔽硬件平臺的動態性、分布性以及異構性,將單個的物理硬件平臺虛擬成多個虛擬機,使得不同的操作系統可以同時在其上運行,支持同一硬件之本課題得到863計劃引導項目(課題名稱:TD-SCDMA 手機關鍵技術的研究與應用,課題編號:2004AA001390的資助。上的虛擬機之間共享和復用硬件資源,以及共享
4、相同的內核運行代碼,并且為每個開發人員和用戶提供獨立、隔離的使用環境。虛擬機與真實的計算機類似,擁有自己的CPU、內存、硬盤、軟驅、光驅、網卡等,可以安裝Windows、linux等各種版本的操作系統(視軟件抽象層VMM的架構不同而稍有區別。在操作系統之上安裝相關的開發測試工具,并配置好系統參數就形成了開發測試虛擬機。在實際開發測試過程中往往需要多臺虛擬機組成的聯合環境進行系統性的開發測試,而與具體的軟件開發測試相關的多臺虛擬機環境,就形成了一個集合。在實施基于虛擬化架構的軟件開發和測試自動化環境搭建過程中,我們往往面對的是一組虛擬機的集合所構建的環境。由于硬件平臺的升級、維護等情況會影響軟件
5、開發測試的持續穩定進行,因此屏蔽硬件資源的動態變化以及增強開發測試環境部署的靈活性就成為實現軟件開發測試環境自動化中的重要問題。通過VMM虛擬的虛擬機硬件平臺具有通用性。以往當新的硬件或者操作系統發布時,一些不兼容這些新的硬件和操作系統的應用軟件往往會制約硬件平臺的升級,而虛擬機技術允許在新的硬件平臺上構建的不同的虛擬機硬件,同時支持新老版本的軟件。目前,硬件平臺和操作系統對虛擬機的支持已非常普遍。因此,虛擬機的執行效率和穩定性在底層環境的得到了保證。2 基于虛擬化架構的軟件開發測試環境2.1 虛擬化架構種類的選擇在虛擬機的發展過程中,對應于不同的應用需求出現了多種虛擬機,可以按照虛擬化的規模
6、、指令集、宿主環境等方面的多種標準對虛擬化架構進行分類2,本文研究的開發測試環境主要考慮虛擬機的性能和環境部署的靈活性等方面的內容,因此從虛擬機的宿主環境的選擇來考慮虛擬化架構。按照虛擬機的宿主環境可以將虛擬機分為寄生虛擬機和經典虛擬機。宿主環境是虛擬機的運行支撐環境,寄生虛擬機是指宿主環境是操作系統的虛擬機,如VMWare、Virtual PC,這種情況中,VMM是位于操作系統層以上的。而經典虛擬機的宿主環境是硬件平臺本身,即VMM 是存在于物理硬件層與虛擬機之間的,如VMWare面向企業推出的VMWare ESX Server 等。通常我們所熟知的是寄生虛擬機,并且使用較多,但經典虛擬機可
7、以繞過操作系統直接訪問硬件,因此在性能上具有更大的優勢。基于這點,我們選擇經典虛擬機作為本文所述開發測試環境的虛擬化架構的基礎。2.2 虛擬機的關鍵特性虛擬機技術通過解除硬件和軟件資源的體系結構、用戶感知的行為與其物理實現之間的耦合,去解決計算機系統的安全、性能和可靠性等問題3。根據虛擬機的應用分析,我們認為虛擬機具有以下關鍵特性:1硬件獨立性:虛擬機可以轉移到其他物理服務器上不加修改地運行。2封裝性:虛擬機中操作系統、軟件及其運行環境都被封裝在一個獨立的虛擬機硬盤文件中。虛擬機的安裝、備份、復制、分發都可以通過對該虛擬硬盤文件進行操作,減小軟件開發測試環境分發和配置的難度,提高了部署的靈活性
8、。3隔離性:多臺虛擬機可以在同一物理主機上互不干擾地同時運行,即共享底層硬件資源,又可以各自安裝不同版本的操作系統與軟件。并且一個虛擬機出現故障不會影響其他虛擬機的正常運行。4易管理性:虛擬機硬件的添加、修改、刪除以及開機、關機、休眠等都有特定的編程接口。通過將這些編程接口封裝成遠程服務,可以實現硬件資源的集中管理和遠程控制,從而形成一體化的軟件開發測試環境。2.3 開發測試環境的自動化基于虛擬機建立的軟件開發環境往往只關注單個虛擬機的上的技術,缺乏對多臺虛擬機組成的聯合開發環境及其如何實施自動化的研究。此外,由于缺乏對虛擬開發測試環境的設計、管理、監控等功能的支持,傳統的由虛擬機建立的開發測
9、試系統無法體現聯合虛擬開發環境的特點。而多臺虛擬機之間依據開發環境所含有的內在聯系綁定在一起更符合實際的軟件開發測試環境。1開發測試環境的模板化。軟件開發環境與操作系統的選擇,參數的配置,相關數據庫、應用軟件的安裝等相關聯。一般的軟件測試環境都是專用的測試環境,測試腳本、測試用例的選擇以及測試環境接口都與被測軟件密切相關。當測試不同的軟件時,需要針對特定的測試對象構建專用的測試環境、配置系統參數等等。而且一些可重用的測試腳本在更改測試環境參數后無法在新的測試環境中得到有效的利用,因此如果能把開發測試環境封裝成一個模板,在需要的時候快速實例化該模板,生成即配即用的環境5,對于聯合開發和測試將節省
10、用于重復配置測試環境的時間。2聯合開發測試。一般的軟件開發測試往往是由幾種開發測試環境組成的,如客戶端、服務器端、數據庫服務器等。而某種軟件的測試往往同時跟一種以上的測試環境有關,需要聯合幾種環境進行開發和測試。基于虛擬機的封裝性和隔離型,可以將多個開發環境組成虛擬機的集合,并依據該集合內多種虛擬機環境之間的關聯性,對這個集合進行模板化和實例化的操作。3 虛擬化軟件開發測試環境的體系結構 圖1 虛擬化開發測試環境體系結構如圖1所示,虛擬化軟件開發測試環境體系結構中核心部分為:Lab Manager服務器、被管理主機以及存儲服務器。1Lab Manager服務器:為整個測試環境提供Web與SOA
11、P接口。Lab Manager服務器對被管服務器資源池進行配置的管理和部署工作。開發和測試人員可以通過IE瀏覽器遠程登陸Lab Manager服務器所提供的管理頁面或通過相應的軟件工具調用Lab Manager服務器提供的SOAP API接口4對虛擬機集合進行管理和使用。Lab Manager正是利用了虛擬機的相關管理編程接口對被管服務器中的虛擬機進行各種操作。可以同時對多臺被管服務器進行開發測試環境的配置和管理。2被管服務器:安裝了虛擬化軟件層(如VMware ESX Server等和管理代理軟件的高性能服務器。實際中往往選取高性能服務器進行開發測試環境所需的虛擬機的安裝和配置。被管服務器可
12、以是多臺同時工作形成服務器群集。虛擬化層之下的圍欄驅動實現了對虛擬機集合的隔離,使得不同的開發測試環境可以重復生成和同時部署而不會在網絡上引起IP地址、MAC地址或者SID的沖突。3存儲服務器:用于存儲封裝虛擬機的虛擬硬盤文件以及開發測試人員常用的光盤鏡像文件等。當實例化一個虛擬機環境模板時,虛擬機調用的是被管服務器的硬件資源,但對于虛擬機環境的讀寫操作最終會對存儲服務器中的虛擬機硬盤文件產生作用。4 虛擬化開發測試自動化環境的搭建及實驗如圖2所示,虛擬化開發測試自動化環境的系統拓撲圖的關鍵節點為Lab Manager服務器。被管服務器是安裝了VMware ESX Server虛擬化層的高性能
13、服務器。圖2 虛擬化開發測試自動化環境系統拓撲圖通過Lab Manager服務器中基于虛擬機編程接口提供的系統管理功能可以實現以下功能:1創建單臺虛擬機模板,并在其中安裝需要的操作系統;2將不同的虛擬機模板組合成的開發測試環境導入配置集,形成虛擬機的集合,進行統一管理、部署、監控;3對于隸屬于不同項目的開發測試人員進行相應權限的分配,以及開發環境的共享和獨占的設置;4實時捕獲運行中的虛擬機集合的狀態,并保存到狀態庫,并交給后續流程的開發測試人員使用。后續的開發測試人員可以利用保存的狀態文件立即部署開發測試環境。5對虛擬機狀態可以實現增量復制和完全復制。增量復制可以有效減少新的虛擬機實例占用的硬
14、盤空間;而完全復制可以對虛擬機封裝文件進行完整備份。 (NFS等通過對虛擬化開發測試自動化環境中虛擬機模板的創建和虛擬機集合的配置、部署、啟動、實時捕獲聯合開發測試環境中虛擬機的狀態等功能的測試6,得到如表1所示的實驗結果。實驗所用的環境為:被管理服務器為2臺HP dl380兩路服務器,Lab Manager服務器是安裝了Windows 2003 Server系統的普通PC機,其中HP dl380服務器作為虛擬機創建和運行的環境。實驗結果中記錄了虛擬機模板的創建、操作系統的安裝、虛擬機復制、開發測試虛擬機集合的配置、環境部署時間、啟動時間等。該實驗中創建了3種虛擬機模板,分別安裝了WinXP、
15、Win 2003 Server、Linux RHEL4操作系統,并安裝了相應的開發測試軟件。每臺虛擬機分配的磁盤空間為5G,從表1的實驗結果可以看出,配置起始虛擬機模板的時間與一般的物理機配置時間類似。如果將這些虛擬機模板實例化,即生成可以用于實際開發測試的虛擬機,所需時間僅為8-12s,而針對實時運行的虛擬機狀態的捕獲時間則與同時被捕獲的虛擬機數量相關,捕獲后的狀態可以存儲到狀態庫中成為開發測試環境的鏡像拷貝,在需要的時候可以立即實例化狀態鏡像進行作業。模板的實例化與虛擬機的狀態的捕獲過程是無需人工參與的。因此模板的建立是比較耗時的一個關鍵步驟,當擁有配置好的虛擬機的模板后再進行開發測試環境
16、虛擬機實例化時將會節省大量重復性勞動的時間,甚至可從一個模板實例化出2臺以上的可運行的虛擬機。可以看出利用自動化環境可以大大減輕開發測試人員的工作強度和減少重復性勞動時間。表 1 虛擬化開發測試環境創建實驗5 結論本文首先從軟件開發測試環境的復用及自動化分發出發,引入了開發、測試虛擬機及其集合的概念,通過對虛擬機技術選擇的分析,以及虛擬機關鍵特性的總結,分析了利用虛擬化架構建立軟件開發測試自動化環境的可能性。闡述了基于虛擬化架構開發測試自動化環境的體系結構核心模塊組成,及該環境可以為軟件開發測試人員提供硬件資源共享和開發環境集中管理與共享等功能,并實現開發測試環境自動化地復制分發。最后通過基于
17、VM Lab Manager、ESX Server等工具搭建的虛擬化開發測試自動化環境配置及部署實驗,分析了該自動化環境的優越性。參考文獻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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國微型真空泵行業市場調查研究及投資前景展望報告
- 2025年 湛江市雷州市教育系統招聘教師考試試題附答案
- 2025年中國充氣混凝土行業市場發展監測及投資前景展望報告
- 2025年中國固體顆粒物料炒鍋行業市場調查研究及發展戰略規劃報告
- 2025年中國塑鋼窗行業市場發展監測及投資戰略規劃研究報告
- 中國工業氯化銨行業調查報告
- 2025年中國鹵味休閑食品市場競爭格局及投資戰略規劃報告
- 中國橡膠線機頭行業市場發展前景及發展趨勢與投資戰略研究報告(2024-2030)
- 中國渦輪式粉碎機行業市場前景預測及投資戰略研究報告
- 中國汽車空氣彈簧行業市場全景評估及發展戰略規劃報告
- 2024版壓力容器設計審核機考題庫-多選3-2
- 2025年國防教育課件
- 貴州國企招聘2024貴州貴安發展集團有限公司招聘68人筆試參考題庫附帶答案詳解
- 園林行業職業道德
- 副校長筆試題庫及答案
- 2025年湖北恩施州檢察機關招聘雇員制檢察輔助人員40人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 陜西省濱河2025屆中考生物模擬預測題含解析
- 招標代理招標服務實施方案
- 《煤礦事故分析與預防》課件
- 幼兒園園長,教師輪訓工作制度及流程
- 2025下半年江蘇南京市浦口區衛健委所屬部分事業單位招聘人員24人高頻重點提升(共500題)附帶答案詳解
評論
0/150
提交評論