黃海隆 黃長城 陳賽娉
溫州大學 浙江溫州 325035
軟件測試課程是大學計算機專業本科學生的一門重要專業課。該課程涉及內容比較廣,既包括黑盒測試、白盒測試、測試用例設計等基礎測試技術,也包括單元測試、功能測試、集成測試、系統測試、性能測試等測試方法,還包括基礎的測試流程管理、缺陷管理、自動化測試技術等知識。該課程一般是針對高年級學生開課。學生學習該課程前需要具備網絡、操作系統、數據庫和軟件編程等方面的專業知識。學生在進行軟件測試課程實驗時需要用到多個不同的測試工具,在測試的過程中需要配置和調試各種不同的測試環境。
現有的高校軟件測試實驗環境普遍存在幾個問題。
1)測試環境變動不夠靈活。高校軟件測試實驗環境由于受資源利用率的限制,基本上會與軟件工程、數據庫等其他實驗環境共用,系統設置保護模式,不能根據個性化的測試實驗需求隨意設置相應的實驗測試環境。
2)實驗室使用不夠靈活。由于部分大型軟件測試時可能需要較長的等待時間,學生無法在規定的時間內完成相應的測試目標,導致部分實驗無法進行。
3)實驗室管理員維護系統困難。管理員在面對各類測試軟件與現有軟件不兼容時經常束手無策。
基于以上問題,引入虛擬化平臺,利用虛擬化技術解決軟件測試實驗課程中存在的問題[1]。
桌面虛擬化技術,Desktop Virtualization,是一種基于服務器的計算模型?;蛘叻Q為Virtual Desktop Infrastructure,最早由虛擬化廠商VMware提出,目前已經成為標準的技術術語。雖然借用了傳統的瘦客戶端的模型,但是讓管理員與用戶能夠同時獲得兩種方式的優點:將所有桌面虛擬機在數據中心進行托管并統一管理;用戶同時能夠獲得完整PC的使用體驗[2]。
桌面虛擬化就是將計算機的桌面進行虛擬化,以達到桌面使用的安全性和靈活性。可以通過任何設備,在任何地點、任何時間訪問在網絡上的屬于個人的桌面系統。桌面虛擬化依賴于服務器虛擬化,在數據中心的服務器上進行服務器虛擬化,生成大量的獨立的桌面操作系統(虛擬機或者虛擬桌面),同時根據專有的虛擬桌面協議發送給終端設備。用戶只需要記住用戶名和密碼及網關信息,即可隨時隨地通過網絡訪問自己的桌面系統。
現有的虛擬化平臺產品提供商主要有思杰、微軟、VM-ware等幾家大型公司。在實驗室應用中選擇VMware虛擬化平臺。
目前,實驗室有4臺HP DLL88 G7服務器(CPU為12核2.4 GHz,內存為24 G),2臺外部數據存儲(華賽2600),2臺CISCO千兆交換機,基本具備成功部署一個基于虛擬化平臺軟件測試實驗室的硬件條件。

圖1 平臺網絡拓撲圖
平臺網絡拓撲結構如圖1所示。利用現有的4臺服務器作為ESXi服務器。服務器具有雙網卡,分別組建兩個不同的子網。服務器網卡1與2臺外部數據存儲組建子網1,該子網服務器與數據之間的數據傳輸,具備千兆以太網的性能。服務器網卡2與PC終端等機器組建子網2,該子網用于終端設備與服務器之間的通訊,具備百兆以太網性能。
軟件測試課程針對的主要是計算機專業的學生。計算機專業以小班教學為主,每個班級不超出30人。從系統的安全性、靈活性和易維護性等方面考慮,將實驗室按以下方式進行構建。
1)實驗環境配置。實驗環境配置如表1所示。將4臺服務器放在一起建立群集,并開啟群集的HA和DRS功能。所有虛擬機存儲在外部數據存儲中。
2)測試系統模版制作。模板是虛擬機的主副本,可用于創建和置備新虛擬機。此映像通常包含指定的操作系統和配置,可提供硬件組件的虛擬副本。由于軟件測試時需要用到各類不同的操作系統,所以分別制作Windows XP、WINDOS7、Windows2003 server、Ubuntu這四類不同的系統模版,供課程需要時使用。
另外制作一個帶有各類自動化測試軟件的模版,作為學生主測試用機。
3)虛擬機生成。通過VMware View定制不同模版的虛擬桌面,每批30臺機器。提前在AD中建立學生的賬戶。通過賬戶與虛擬桌面綁定,使學生能夠完全獨立使用該虛擬機。
4)虛擬服務器安裝。在測試課程中,需要進行軟件測試管理。安裝1臺Windows 2003 server系統虛擬機,在該虛擬機上安裝TestDirector軟件。學生同個IE客戶端連接該服務器。
5)虛擬實驗室管理。虛擬機全部運行在服務器上,學生可以在校園網中任意機器登錄自己的系統,具有很大的靈活性。一般學生虛擬機系統由實驗室管理人員統一提供,測試環境由學生自己根據實驗需要配置。個別學生在測試過程中遇到系統崩潰時,由實驗室管理員重新生成指派新虛擬機。

表1 環境配置表
下面以一個具體的實驗來簡單闡述虛擬實驗室的運行過程。
1)實驗內容。用一臺裝有Loadrunner測試工具的機器去測試另外一臺裝有BBS系統的機器,找出并發用戶數量達到5、10、30時,首頁載入時間的變化;設定載入時間不能大于5 s時并發用戶的最大上限。
2)實驗目的。理解和掌握性能測試工具Loadrunner的使用,包括測試整個過程并分析結果。
3)實驗準備。該實驗每位學生需要使用2臺機器,1臺安裝BBS系統的被測機器,另外1臺安裝有Loadrunner測試工具。
4)實驗步驟:①遠程開啟被測機器,配置BBS系統,完成被測環境;②遠程開啟測試機,登錄TD服務器,制定測試計劃;③運行Virtual User Generator錄制測試腳本;④使用Controller工具創建Scenario和實施壓力測試,分別用5、10、30用戶數去加壓;⑤使用Analysis工具分析不同用戶測試結果;⑥設定載入時間不能大于5 s時并發用戶的最大上限;⑦登錄TD服務器,反饋測試結果。
這里僅列出一個簡單的軟件測試實驗的測試過程。該平臺還可以組建多個復雜的軟件測試環境,滿足測試實驗需求。
在實際運行過程中,軟件測試課程實驗教學取得很好的效果,由于虛擬機全部運行在服務器上,學生可以在校園網中隨時隨地登錄到自己的測試環境,并完全擁有該虛擬機的所有權限,這極大地提高了學生學習的積極性。同時學生可以同時操作多臺虛擬機,可以輕松構建測試環境。虛擬實驗室的建立很好地解決了硬件資源不足的問題,將原先不兼容的軟件歸類,分別安裝于不同的虛擬機。虛擬實驗室在軟件更新和升級方面具有明顯的優勢。因此,使用虛擬化平臺構建軟件測試實驗室有很多可取之處,值得其他各類實驗課程和廣大高校借鑒[3]。
[1]邱成功,張玫,馬英紅.基于VMware的電子商務實驗環境的構建[J].實驗室研究與探索,2012(1):168-170.
[2]桌面虛擬化[EB/OL].http://baike.baidu.com/view/1434493.htm.
[3]趙勇禮.基于VMware的計算機實驗教學設計[J].計算機教育,2009(5):81-83.