



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、虛擬化技術(shù)在軟件測試中之利弊解析發(fā)布時間: 2009-8-06 16:14 作者: 未知 來源: 網(wǎng)絡(luò)轉(zhuǎn)載也許正是VMware公司的工作站(Workstation)產(chǎn)品,讓虛擬化技術(shù)走上了迅速成名的道路。該產(chǎn)品允許各個用戶可以運行多個操作系統(tǒng)、操作系統(tǒng)版本或?qū)嵗愃贫鄠€應(yīng)用程序窗口),而不是只有每次運行一個操作系統(tǒng)的多重啟動環(huán)境。但在許多公司,虛擬化技術(shù)卻是這樣出現(xiàn)的:開發(fā)人員首先悄悄使用這項技術(shù)來進行測試和開發(fā),然后再把虛擬化工具介紹給IT主管。盡管如今虛擬化在推動許多生產(chǎn)環(huán)境,比如服務(wù)器和桌面基礎(chǔ)架構(gòu),并充當(dāng)一種資源提供工具,虛擬化也被
2、越來越多的軟件開發(fā)人員所使用。首先,他們使用虛擬化工具,便于提供用于開發(fā)和測試的一系列目標(biāo)環(huán)境(比如不同的操作系統(tǒng)、操作系統(tǒng)版本和瀏覽器),并且便于迅速而輕松地提供/重新提供配置實例。下面介紹如今的一些開發(fā)人員在如何使用虛擬化、為什么使用虛擬化,以及他們對目前的虛擬化技術(shù)存著什么樣的問題。提供多種測試環(huán)境高級軟件架構(gòu)師Mark Friedman效力于微軟的開發(fā)部門,該部門有3000多名員工在開發(fā)Visual Studio和.NET框架。Friedman本人主要開發(fā)隨微軟Visual Studio Team System這套開發(fā)工具交付的性能工具。Friedman還是計算機測量組織(Comput
3、er Measurement Group)的董事,他說:"我所在部門大約三分之二的人從事開發(fā)和測試工作這些開發(fā)和測試人員大多數(shù)在使用系統(tǒng)虛擬化(通過微軟的Hyper-V技術(shù)),作為他們主要的生產(chǎn)力工具之一。"虛擬化技術(shù)的一個主要優(yōu)勢在于,它能夠分離不穩(wěn)定的環(huán)境,這是任何開發(fā)人員都希望在應(yīng)用程序設(shè)計的早期階段所具備的功能。Friedman表示,隨著微軟工具的不斷開發(fā),測試早期版本可能會使開發(fā)人員的整個計算環(huán)境不穩(wěn)定。他說:"這是無法改變的本質(zhì)。除了最簡單的桌面應(yīng)用程序外,幾乎任何應(yīng)用程序都會導(dǎo)致系統(tǒng)崩潰。我經(jīng)常告訴我的開發(fā)人員,如果他們沒有經(jīng)常導(dǎo)致系統(tǒng)崩潰,說明他們
4、的嘗試還不夠積極。我們喜歡虛擬化技術(shù),因為它能節(jié)省時間,讓我們的開發(fā)人員可以花更多時間用在有挑戰(zhàn)性的工作上,而不是用在準(zhǔn)備測試環(huán)境那些單調(diào)而極其耗費時間的方面上。"與其他虛擬化工具一樣,微軟的Hyper-V可以讓用戶對系統(tǒng)"拍取快照",保留"最近一個已知的完好版本"。Friedman說:"我們創(chuàng)建了回滾機制(rollback),那樣我們在幾分鐘之內(nèi)就能把系統(tǒng)恢復(fù)到之前的那個完好狀態(tài)。另一種方法就是,不得不重新創(chuàng)建系統(tǒng)鏡像或者重新構(gòu)建環(huán)境,但這需要好幾個小時。而虛擬化技術(shù)大大節(jié)省了時間。"Friedman的小組還在質(zhì)量保證(Q
5、A)測試當(dāng)中全面利用了虛擬化技術(shù)和虛擬機鏡像。他說:"一旦通過了開發(fā)人員的單元測試,我們就會談?wù)摐y試矩陣比如在什么版本的操作系統(tǒng)上運行測試矩陣。然后,我們需要針對32位版本或64位版本進行測試。使用虛擬機鏡像是維持一系列測試環(huán)境的最快速、最省錢、最靈活的一種方法。在我們的質(zhì)量保證實驗室,我們一直在這么做;我們進行了許多自動化測試,以便把這些鏡像作為虛擬機來保存,并且用測試套件對它們進行測試。這種方法很實用;我們節(jié)省了許多時間,多得讓人難以置信。"拍取快照、然后在幾分鐘之內(nèi)恢復(fù)工作鏡像的功能特別重要,不必為重建系統(tǒng)等上數(shù)小時。Friedman說:"你在查找軟件錯誤時
6、,僅僅為了重現(xiàn)軟件錯誤,常常得花上一兩天時間來建立環(huán)境,所以你一次又一次地花時間來重建系統(tǒng)這浪費了時間;從而導(dǎo)致工作效率降低。"比方說,某個軟件錯誤導(dǎo)致系統(tǒng)崩潰時,開發(fā)人員就得回過頭去,找出系統(tǒng)崩潰的那個地方。Friedman說:"人們最初設(shè)置的斷點常常離進程太遠(yuǎn),于是系統(tǒng)再次崩潰。因為開發(fā)人員在一天內(nèi)很容易導(dǎo)致系統(tǒng)崩潰好幾次,趁開發(fā)人員對問題很清楚的時候,能夠迅速恢復(fù),然后重新運行調(diào)試過程,這大有幫助。如果你在調(diào)試一個復(fù)雜的軟件錯誤,能保持在這種狀態(tài)下再好不過了。"開發(fā)人員表示,虛擬化技術(shù)非常有助于迭代測試。Adam Moskowitz是生產(chǎn)及銷售一系列節(jié)能型計
7、算機的SiCortex公司的高級軟件工程師,他說:"我們有許多測試系統(tǒng)供我們的開發(fā)人員使用每個測試系統(tǒng)都需要各自的x86控制系統(tǒng)。我們使用虛擬化技術(shù)來創(chuàng)建虛擬機,然后虛擬機連接到外部集群板,而不是購置許多PC,哪怕是最便宜的PC。"SiCortex的開發(fā)部門使用免費版本的VMware Server,運行在功能較強大的機架服務(wù)器上(配備雙核或四核x86處理器、4GB內(nèi)存和300GB硬盤),這些服務(wù)器可以運行四至八個充當(dāng)控制系統(tǒng)的虛擬機。Moskowitz說:"因為控制系統(tǒng)上的負(fù)載非常小,這種辦法的效果非常好,資本開支也比較低。我們大約25名工程師中有一半以上的人在使
8、用這些虛擬化系統(tǒng)。"Moskowitz表示,控制系統(tǒng)虛擬化的一個主要好處就是易于測試。他說:"想要一個實驗系統(tǒng)?你只要克隆一個標(biāo)準(zhǔn)的虛擬機,就可以使用了。虛擬化工具有價值的另一個原因就是易于配置;開發(fā)人員只要用最新軟件構(gòu)建一個虛擬機只要構(gòu)建一次;以后你想要多少個虛擬機,就可以克隆多少個。"Mike Brescia在一家記錄及恢復(fù)實時環(huán)境數(shù)據(jù)的公司工作;他說:"除了把系統(tǒng)作為虛擬設(shè)備來提供外,我們公司的開發(fā)人員還使用虛擬化技術(shù),在比較少的硬件設(shè)備上搭建不同的測試環(huán)境,比如Windows和Linux環(huán)境。"Brescia表示,克隆一個干凈的計算機系
9、統(tǒng)用于測試要比拷貝磁盤鏡像、使用 Clonezilla克隆工具簡單得多。他補充說:"運行虛擬機不需要拆掉、清除整個系統(tǒng);我們只需要小心,別往主機機器上裝入過多的資源。"設(shè)計和營銷公司Eli Kirk的高級Web開發(fā)人員Connor Boyack表示,該公司的15名Web開發(fā)人員必須兼顧許多Web瀏覽器和操作系統(tǒng)的需要。Boyack在Mac OS X Leopard操作系統(tǒng)上使用Parallels版本4,并且運行各自安裝了Windows XP、OpenSUSE 11和Windows 7測試版等操作系統(tǒng)的虛擬機。Boyack說:"創(chuàng)建實用、而且外觀一致的網(wǎng)站需要進行大
10、量的瀏覽器測試;這樣一來,虛擬化技術(shù)必不可少。虛擬化技術(shù)讓我可以使用多個操作系統(tǒng)和多個瀏覽器,讓它們可以無縫合作(前提是Windows XP運行要順暢)。"SmartLogic Solutions公司的開發(fā)人員Nick Gauthier也認(rèn)為,能夠同時測試許多不同場景、確保有一致的用戶體驗,這是一大優(yōu)勢。"另一個優(yōu)勢就是,如果用戶有抱怨,可以啟動某個特定的版本和瀏覽器。我們再沒有必要說哦,我不運行這個瀏覽器,我用的是Linux操作系統(tǒng);現(xiàn)在我們可以說稍等片刻;我發(fā)現(xiàn)問題了,我馬上解決。"Eric Floer是開發(fā)及銷售遠(yuǎn)程備份設(shè)備的新興公司3X Systems的首
11、席技術(shù)官,他說:"我們使用虛擬化技術(shù)測試平臺上的軟件以及我們支持的應(yīng)用程序(以便保證質(zhì)量);如果客戶出現(xiàn)了問題需要支持,還可以用來重現(xiàn)客戶環(huán)境。虛擬化讓我們可以迅速構(gòu)建及拆掉環(huán)境,而且只要使用數(shù)量極少的物理硬件就可以做到。"對一家小規(guī)模的新興公司而言,這種使用極少資本開支就能測試許多平臺和環(huán)境的能力非常重要。另外,"虛擬化技術(shù)大大提高了我們產(chǎn)品的質(zhì)量和可靠性,"Floehr補充說。Aamoggemon軟件公司致力于為手持計算機開發(fā)程序,原先為Palm OS開發(fā)程序,現(xiàn)在還為Symbian OS Series 60和PocketPC開發(fā)程序。開發(fā)人員Tam
12、 Hanna說:"現(xiàn)在我使用虛擬化有好多原因;主要原因是,基于Cygwin/Elipse的開發(fā)系統(tǒng)很流行(針對J2ME的Eclipse、Palm的 PODS和諾基亞的Carbide)。把這些開發(fā)系統(tǒng)全部安裝在一臺機器上會導(dǎo)致它們都出問題。所以,我需要使用虛擬化技術(shù),以便能夠完成我的工作。此外,我想使用虛擬機,確保所有機器上都有同樣的配置設(shè)置。"MarkMail是一家搜索公共郵件列表歸檔的免費服務(wù)機構(gòu)。MarkMail的開發(fā)人員John D. Mitchell(其正式頭銜是"狂熱的科學(xué)家")聲稱:"我們的團隊在許多方面使用虛擬化技術(shù)。關(guān)鍵在于,對
13、系統(tǒng)中的每一項服務(wù)進行虛擬化處理給了我們很大的靈活性。在開發(fā)時,我們對物理資源沒有太多的要求,那樣我們在少數(shù)幾個硬件節(jié)點上就能運行許多虛擬實例,包括數(shù)據(jù)庫。"MarkMail用的是OpenVz,那樣開發(fā)人員沙盒中的鏡像與部署環(huán)境的完全一樣。Mitchell說:"有了虛擬化技術(shù),測試不同的環(huán)境和版本等方面就非常容易;我們總是可以拆掉一個實例,然后從干凈的檢查點重新創(chuàng)建一個實例。"據(jù)Mitchell聲稱,使用虛擬化技術(shù)可以減少所要購買、租用及管理的硬件數(shù)量。"總的來說,我們使用的虛擬實例與硬件節(jié)點之比大約是3:1。"虛擬化的局限開發(fā)人員承認(rèn),開發(fā)過
14、程中有許多方面是虛擬化技術(shù)無能為力的。3X公司的Floehr強調(diào):"虛擬化無能為力的一個方面就是對我們的產(chǎn)品(基于網(wǎng)絡(luò)的備份設(shè)備)進行壓力測試(stress testing)。盡管我們可以在虛擬化環(huán)境同時測試10個客戶機,但那不是真正的壓力測試,因為10個客戶機只使用4個物理CPU和兩塊網(wǎng)卡來測試;如果在實際環(huán)境有10個物理客戶機,這些約束條件就不會存在。"MarkMail的Mitchell補充說:"虛擬化確實會增加一些復(fù)雜性。它總是會增加一些延遲。但是更糟的是,如果改變底層的執(zhí)行環(huán)境比如從開發(fā)環(huán)境到測試環(huán)境再到生產(chǎn)環(huán)境,就無法依賴虛擬機清楚地了解性能方面的特點。
15、"最后,Mirtchell強調(diào)"當(dāng)前一代的桌面虛擬化產(chǎn)品仍有太多令人頭疼的問題、缺陷以及缺失的功能,"至少開發(fā)人員在用于軟件開發(fā)方面就遇到了這種情況。微軟的Mark Friedman說:"如果進行負(fù)載測試或規(guī)模擴展,就得運行在原始硬件和物理機器上。除非你準(zhǔn)備部署在虛擬機上,否則性能方面的特點完全不一樣。性能測量方面的情況也是這樣。"Friedman強調(diào),但隨著時間的推移,這個問題有望得到解決。Friedman表示,另外,虛擬化行業(yè)采用的半虛擬化方法改變了操作系統(tǒng)的一些底層方面,尤其是操作系統(tǒng)的驅(qū)動程序。"所以,如果你依賴特定的驅(qū)動程序或硬件環(huán)境,那就會受到影響。比方說,有一個虛擬網(wǎng)卡,有一個特定的驅(qū)動程序。該驅(qū)動程序可識別虛擬化技術(shù)。你就得明白,如果你需要針對一組本地驅(qū)動程序進行測試,在虛擬機里看不到驅(qū)動程序。所以,這影響了從事驅(qū)動程序開發(fā)的人員,但對Web開發(fā)人員沒有影響。"Friedman
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 1110-2024體育賽事活動參賽指引編制規(guī)范
- 科協(xié)課題立項申報書范文
- 如何撰寫社科課題申報書
- 叉車租賃帶司機合同范本
- 課題申報書哪里查
- 班級管理 課題立申報書
- 班級建設(shè)課題申報書
- 合同范本 銷售合同
- 周結(jié)算合同范例
- 深圳課題申報書格式
- GB/T 7251.3-2017低壓成套開關(guān)設(shè)備和控制設(shè)備第3部分:由一般人員操作的配電板(DBO)
- 工程質(zhì)量回訪記錄
- GB/T 2572-2005纖維增強塑料平均線膨脹系數(shù)試驗方法
- 2023年江蘇省中學(xué)生生物奧林匹克競賽試題及答案
- 維修質(zhì)量檢驗制度
- 食管支架植入術(shù)后護理課件
- 品質(zhì)控制計劃(QC工程圖)
- 海外派遣人員管理辦法
- 混凝土灌注樁質(zhì)量平行檢查記錄(鋼筋籠)
- 汽車營銷學(xué)(全套課件)
- 現(xiàn)澆墩臺身軸線偏位、全高豎直度檢測記錄表
評論
0/150
提交評論