對開發者而言: 1. 虛擬化環境可以幫助開發者從繁瑣的環境準備細節中解放出來,直接通過虛擬化映像就可以保證在同壹環境下進行開發。 2. 開發者可以節省硬件資源,在同壹機器硬件上運行不同的操作系統和軟件,進行開發與學習。 3. 對於內核級別的程序調試,可以節省調試材料。比如,如果要調試Windows的內核態程序,傳統方式妳是需要兩臺計算機,並且需要串口線、USB線或者火線連接起來才能進行調試。但是用虛擬機的話,只需要壹臺計算機即可。 4. 開發者可以和測試者通過虛擬機映像保持同壹系統環境避免測試環境與開發環境不同,導致的測試問題無法在開發者那邊重現或者要花很長時間調查的時間代價。
對測試者而言: 1. 通過虛擬機,可以在同壹機器上運行多個測試,節省硬件資源也節省時間 2. 可以通過虛擬機模擬多並發場景,進行壓力測試 3. 壹些商業公司做的虛擬機還支持API編程,可以編寫壹些腳本來將測試動作自動化。比如VMWare。 4. 壹些商業公司做的虛擬機還支持硬件仿真和調試,在樣機還沒生產出來的時候就可以開始軟件開發。 5. 壹些商業公司做的虛擬機還支持軟件甚至硬件的調試回溯,有助於開發者定位和調試系統問題 6. 壹些商業公司做的虛擬機還支持通過二進制映像反向定位問題的根因模塊和源代碼關聯,極大提升開發和測試效率。 以上的第4到第6點,筆者2007年參加美國實時操作系統公司WindRiver的全球技術者大會就已領略。