王斌 馮真
摘 要: 基于虛擬化技術進行軟件自動化測試是測試主流技術發展的一個方向。介紹了虛擬機軟件VMware結合測試工具軟件LoadRunner的一種軟件測試方案,詳細介紹了測試方法、測試環境、測試用例以及數據處理方法。通過對同一B/S系統在真實環境和虛擬環境中進行對比性能測試,并基于實測數據加以分析,論證了該方案的優越性,得出了能否應用的結論。
關鍵詞: 虛擬機; VMware; LoadRunner; 性能測試
中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2014)02-40-02
0 引言
在當今軟件測試行業中,虛擬化已經成為測試主流技術發展的一個方向。基于虛擬機技術的軟件測試,具有低風險、低成本和安裝配置的易操作性、多樣性、靈活性等優勢。本文主要探討虛擬機軟件結合測試工具的一種測試方案,以得出能否應用的結論。
1 虛擬機軟件及測試工具軟件簡介
1.1 虛擬機的基本概念
虛擬機即Virtual Machine(VM),是針對真正的計算機而言的概念,是一個模擬真實計算機進行工作的軟件系統。按IBM的定義,虛擬機是物理主機(Host)的一個或多個拷貝,每個拷貝都是完全受保護的獨立系統,可以像主機一樣運行自己的操作系統和應用程序,通常稱作客戶機(Guest)。
每一個虛擬機都擁有對其整個系統資源的完全控制權,而且不受其他虛擬機和主機的影響。虛擬機中大部分主要指令的執行實際上是直接由物理CPU來完成,基本不影響程序的執行速度,這與仿真程序中指令由虛擬CPU執行的工作方式是完全不同的。除定時與同步外,程序在虛擬機中運行的效果與在主機中運行的效果相同[1]。
1.2 虛擬機軟件VMware簡介
VMware是被廣泛應用的虛擬PC系統軟件,它可以提供基于Intel CPU的虛擬PC系統環境,包括CPU、BIOS、硬盤和其他外圍硬件設備[2],使用戶可以在一臺PC機上同時運行兩個操作系統。VMware對外圍硬件設備的模擬,屏蔽了不同設備型號的差異,在硬件環境發生改變時(硬件型號變化),對于運行于VMware上的操作系統影響很小(無須安裝新的驅動程序)。
1.3 測試工具軟件LoadRunner簡介
LoadRunner是一種預測系統行為和性能的工業標準級負載測試工具[3]。通過以模擬上千萬用戶實施并發負載及實時性能監測的方式來確認和查找問題,LoadRunner能夠對整個企業架構進行測試。通過使用LoadRunner,能最大限度地縮短測試時間,優化性能和加速應用系統的發布周期[5]。
2 測試方案
2.1 被測系統介紹
某在線考勤系統,是B/S模式的網絡應用,開發語言為ASP,數據庫為Access2003,主要功能是實現自動化考勤,即:人員上班后在自己的電腦上進行簽到,下班時進行注銷操作,系統將自動記錄簽到時間及遲到記錄等信息。
2.2 測試方法及用例
作為一個小型的網絡應用,考慮到系統用戶數量,擬采用的測試方法是[7]:
測試用例一:在5分鐘內,模擬從1個用戶開始,持續加壓到20個用戶登錄的場景,進行登錄、簽到、注銷操作,查看服務器的響應情況;
測試用例二:在5分鐘內,模擬20個用戶同時登錄的場景,進行登錄、簽到、注銷操作,查看服務器的響應情況。
以上場景均執行兩次,在虛擬機中執行一次,在物理主機上執行一次,將虛擬機中的測試結果與真實環境下的測試結果相比對,尋找差異,得出是否可行的結論。
2.3 測試環境
3.2 數據分析
通過以上測試數據[4]可知,簡單B/S模式的Web應用下,在虛擬主機上進行負載壓力測試的結果,其事務響應時間和事務通過率兩個主要指標與真實主機上的數據近似。
4 結束語
本文介紹了結合測試工具LoadRunner進行B/S模式系統的測試,在單一系統環境中,得出了利用虛擬機進行測試可以定性說明系統特性的結論。對此類系統,可先不必部署至真實環境而利用虛擬環境進行測試,從而可大量節約人力、物力成本。測試后,可基于其結果分析,發現系統瓶頸,進行性能調優,再進行回歸測試。對于復雜系統能否在虛擬機環境下結合測試工具進行性能測試,還有待于進一步分析與研究。
參考文獻:
[1] 湯文學等.VMware虛擬機軟件在網絡技術實驗中的應用[J].電腦知識與技術,2008.7:1366-1367
[2] 張敏等.基于虛擬機的嵌入式VxWorks實驗教學平臺[J].實驗科學與技術,2009.2:47
[3] 陳紹英等.Web性能測試實戰[M].電子工業出版社,2006.
[4] 于艷華等.如何利用測試工具LoadRunner進行性能測試結果分析[J].科技傳播,2011.15:208
[5] 董躍華等.利用LoadRunner實現網頁負載壓力測試[J].江西理工大學學報,2010.5:53
[6] 汪星輝等.VMware虛擬機在網絡實驗與教學中的應用[J].科技信息,2010.10:645
[7] 伊文斌,鄭劍.LoadRunner的Web負載測試[J].江西理工大學學報,2008.29(4):13
[8] 岳崗等.海軍艦艇作戰系統通用測試環境仿真軟件及自動生成工具[J].計算機應用,2012.32:101