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