Hyper-V:開發(fā)測試人員的最佳拍檔
新環(huán)境下的新開發(fā)難題
在目前我們這個信息化充斥各個角落的時代,每時每刻我們都在接觸著各類的應(yīng)用軟件和硬件,因此遇到軟件中的一些問題或Bug也就在所難免了。這個時候我們可能會抱怨著開發(fā)人員、測試人員的不盡責(zé),但從軟件開發(fā)的角度來看,IT的高速發(fā)展與多元化,直接導(dǎo)致軟件開發(fā)團隊的開發(fā)環(huán)境、測試環(huán)境越來越復(fù)雜:異構(gòu)的以Build號相區(qū)分的操作系統(tǒng)、各類的網(wǎng)絡(luò)瀏覽器和客戶端、三天兩頭更新的硬件和驅(qū)動程序,開發(fā)成本和效率問題日具挑戰(zhàn)性。如何提高開發(fā)團隊的開發(fā)效率是任何一個軟件企業(yè)都需要面對的一個極為重要的課題,而構(gòu)筑足夠復(fù)雜、全面的測試環(huán)境,則是軟件產(chǎn)品質(zhì)量的重要保證。
受成本和空間的限制,測試環(huán)境的硬件是不可能無限擴張的,但各類軟硬環(huán)境的組合卻是測試所必須的。IT虛擬化解決方案的出現(xiàn),很好的幫助開發(fā)團隊解決了應(yīng)對復(fù)雜開發(fā)環(huán)境和測試環(huán)境的難題。
即點即得的虛擬測試矩陣
從開發(fā)團隊的角度講,一個能夠分離出來的穩(wěn)定的開發(fā)環(huán)境是任何開發(fā)人員都希望擁有的,對于以往的開發(fā)環(huán)境來說,辛苦花費幾個小時搭建起來的測試環(huán)境,往往只能用幾次就需要重新配置。要查找軟件錯誤時,為了重現(xiàn)某個軟件錯誤,比如某個導(dǎo)致系統(tǒng)崩潰的錯誤,開發(fā)人員就得回過頭去,找出系統(tǒng)崩潰的那個地方。這常常就需要花上一兩天時間來建立環(huán)境,然后一遍一遍的嘗試進行問題的重現(xiàn)。在此期間,搭建測試環(huán)境的過程,會浪費測試人員很多的時間,從而導(dǎo)致了工作效率的降低。
開發(fā)人員的本職工作是做應(yīng)用開發(fā),我們一直希望讓開發(fā)人員可以花更多時間用在有挑戰(zhàn)性的工作上,而不是用在準備測試環(huán)境那些單調(diào)而極其耗費時間的方面上。Hyper-V的“克隆”技術(shù),讓開發(fā)人員無需重復(fù)的部署環(huán)境,只需要有一個已經(jīng)存在的、安全的、穩(wěn)定的虛擬機上輕輕用鼠標一點,幾分鐘之內(nèi)一個一模一樣的虛擬機就出現(xiàn)在我們眼前。原本需要幾個小時的工作,被壓縮了幾倍甚至十幾倍,開發(fā)人員的寶貴時間在這里被充分保護起來,可以花更多的時間關(guān)注在開發(fā)本身。從另外一個方面來說,每個現(xiàn)存的虛擬機都是開發(fā)人員自己配置好的,符合開發(fā)人員自身的習(xí)慣,每次“克隆”之后,呈現(xiàn)在開發(fā)人員面前的是他自己習(xí)慣的界面、環(huán)境,無需花時間去配置。
一個龐大的、覆蓋盡可能多可能性的測試環(huán)境,也是測試人員所需要的。在開發(fā)人員完成開發(fā)之后,測試團隊就會討論測試矩陣,隨之而來的就需要搭建大批量的測試環(huán)境。數(shù)據(jù)表明,使用虛擬機鏡像是維持一系列測試環(huán)境的最快速、最省錢、最靈活的一種方法。不同于上面提到的“克隆”技術(shù),Hyper-V模板技術(shù)更有利于實施這種用于測試試驗環(huán)境的快速環(huán)境部署工作。
利用Hyper-V模板技術(shù),運維人員針對各種操作系統(tǒng)與各種應(yīng)用系統(tǒng)的組合,制作出不同的模板,并準備好后臺的服務(wù)器資源。任何開發(fā)人員和測試人員,只需有開發(fā)和測試方面的需求,只要調(diào)用不同的模板,就可以創(chuàng)建各種環(huán)境直接使用,無需考慮硬件資源,使用完畢之還可以快速釋放這些資源,以備其它團隊成員重復(fù)使用。從Windows XP到windows 7,從Windows Server 2003 到Windows Server 2008 R2,從Linux和其他操作系統(tǒng),從32位到64位系統(tǒng),從數(shù)據(jù)庫到Web Service,幾乎所有的主流IT環(huán)境都能夠被做成模板,并且預(yù)安裝好所需要的軟件,這一切都讓開發(fā)和測試團隊的工作效率大大的提高,在相同時間里面工作的質(zhì)量有了一個質(zhì)的飛躍。
能夠同時測試許多不同場景、確保有一致的用戶體驗,這是虛擬化的一大優(yōu)勢。另一個優(yōu)勢則是可以做到對客戶需求的快速響應(yīng)。如果用戶有抱怨,某個特定的版本和在某個瀏覽器下無法正常運行,我們再沒有必要說“哦,我們沒有在這個版本的瀏覽器下運行過,我們沒有這個系統(tǒng)”等,現(xiàn)在我們可以說“稍等片刻,我發(fā)現(xiàn)問題了,馬上解決。”使用微軟的虛擬化技術(shù)測試平臺上的軟件以及我們支持的應(yīng)用程序,如果客戶出現(xiàn)了問題需要支持,我們可以快速的重現(xiàn)客戶的環(huán)境,從而做到及時的響應(yīng),提升客戶的滿意度。
微軟的虛擬化解決方案讓我們可以迅速構(gòu)建及拆掉測試環(huán)境,而且只要使用數(shù)量極少的物理硬件就可以做到,大大提高了所開發(fā)產(chǎn)品的質(zhì)量和可靠性。
Hyper-V對開發(fā)環(huán)境IDE的***支持
除了開發(fā)軟件應(yīng)用,開發(fā)團隊的另一項重要工作就是評估新的開發(fā)工具,特別是對于異構(gòu)環(huán)境下的開發(fā)團隊尤其如此。通常,這些工具是現(xiàn)有 IDE 的插件或是必須經(jīng)過配置才能適合現(xiàn)有環(huán)境的獨立產(chǎn)品。經(jīng)驗告訴我們,最初不能在開發(fā)人員的生產(chǎn)編程環(huán)境中對這些工具進行評估,因為它們常常會造成現(xiàn)有工具工作中斷。大多數(shù)開發(fā)人員都有過這樣的經(jīng)歷:安裝一個插件,準備稍后把它刪除,但很快就發(fā)現(xiàn)平臺或 IDE 已被改變且?guī)缀鯚o法撤銷,而每個新的開發(fā)工具都必須經(jīng)過嚴格的測試才能被允許應(yīng)用到真實的開發(fā)環(huán)境當中,這讓開發(fā)團隊絞盡腦汁。Hyper-V的“檢查點”技術(shù)可以很好的解決這一問題,利用“檢查點”技術(shù),我們可以制定一個完整的回滾計劃,在虛擬機里面對新的開發(fā)工具進行一系列測試,針對每次測試我們都可以設(shè)置一個檢查點,一直到***測試完成我們可以設(shè)置多個檢查點,在出現(xiàn)問題的時候可以回退到任何一個檢查點去排查問題。因為開發(fā)人員在一天內(nèi)很容易導(dǎo)致系統(tǒng)崩潰幾次,趁開發(fā)人員對問題很清楚的時候,能夠迅速恢復(fù),然后重新運行調(diào)試過程,這大有幫助。如果你在調(diào)試一個復(fù)雜的軟件錯誤,能讓系統(tǒng)保持在這種狀態(tài)下再好不過了。
在VSTS 2010中,微軟增加了虛擬化技術(shù)的客戶端機制Test and Lab Manager,可以讓企業(yè)開發(fā)人員在開發(fā)工具中,直接管理在虛擬機器中的開發(fā)環(huán)境,包括網(wǎng)站服務(wù)器、數(shù)據(jù)庫服務(wù)器或本地端測試服務(wù)器等。在新版開發(fā)工具中,增加了虛擬化技術(shù)的客戶端機制Test and Lab Manager,可以讓企業(yè)開發(fā)人員在開發(fā)工具中直接管理在虛擬機器中的開發(fā)環(huán)境,包括網(wǎng)站服務(wù)器、數(shù)據(jù)庫服務(wù)器或本地端測試服務(wù)器等。
VSTS 2010可以透過Team Foundation Server上的System Center Virtual Machine Manager (SCVMM)來提供虛擬機器的管理服務(wù),讓開發(fā)人員在開發(fā)工具中能建立和管理虛擬機器的環(huán)境,并且可以定義不同虛擬環(huán)境所對應(yīng)的測試設(shè)定,讓測試人員直接在開發(fā)工具中,測試應(yīng)用程序在不同環(huán)境下的執(zhí)行情形。
軟件的開發(fā)質(zhì)量在很大程度上取決于有效的測試和Bug反饋及修補機制,借助虛擬化技術(shù),測試和開發(fā)人員可以從現(xiàn)有模板快速交付不同的配置環(huán)境,對應(yīng)用程序進行全面的測試,從而全面提高軟件的開發(fā)效率和質(zhì)量。在現(xiàn)實社會中,也只有虛擬化技術(shù)才能***的提供如此需求了。
【編輯推薦】
- 專家博客:通過微軟Hyper-V進行災(zāi)難恢復(fù)規(guī)劃
- Windows Server 2008 Hyper-V的安全性從何而來?
- Win2008完全安裝版本下Hyper-V安裝(多圖)