作為軟件測(cè)試工程師,不能只關(guān)注系統(tǒng)的功能,還必須對(duì)系統(tǒng)的性能進(jìn)行全面的測(cè)試,才能確認(rèn)系統(tǒng)是否滿足用戶的需求。那么什么是性能測(cè)試呢?
“中國(guó)軟件評(píng)測(cè)中心將性能測(cè)試概括為三個(gè)方面:應(yīng)用在客戶端性能的測(cè)試、應(yīng)用在網(wǎng)絡(luò)上性能的測(cè)試和應(yīng)用在服務(wù)器端性能的測(cè)試。應(yīng)用在客戶端性能測(cè)試的目的是考察客戶端應(yīng)用的性能,測(cè)試的入口是客戶端。它主要包括并發(fā)性能測(cè)試、疲勞強(qiáng)度測(cè)試、大數(shù)據(jù)量測(cè)試和速度測(cè)試等,其中并發(fā)性能測(cè)試是重點(diǎn)。”(《性能測(cè)試:軟件測(cè)試的重中之重》作者:中國(guó)軟件評(píng)測(cè)中心發(fā)文時(shí)間:2003.08.26)
目前比較的并發(fā)性能測(cè)試工具有Rational Robot、QALoad、LoadRunner 和微軟的WAS 等。這其中QALoad、LoadRunner、Rational Robot 都是比較不錯(cuò)的商業(yè)測(cè)試工具(價(jià)格也很貴哦),微軟的WAS 是一個(gè)免費(fèi)的測(cè)試工具,使用起來(lái)比較簡(jiǎn)單,但是由于不能顯示和編輯所錄制的測(cè)試腳本,其可控性和圖形化測(cè)試結(jié)果都較弱,故造成一定的局限性。
OpenSTA 是專用于B/S 結(jié)構(gòu)的、免費(fèi)的性能測(cè)試工具。它的優(yōu)點(diǎn)除了免費(fèi)、源代碼開(kāi)放的優(yōu)點(diǎn)外,還能對(duì)錄制的測(cè)試腳本進(jìn)行,按指定的語(yǔ)法進(jìn)行編輯。測(cè)試工程師在錄制完測(cè)試腳本后,只需要了解該腳本語(yǔ)言的特定語(yǔ)法知識(shí),可以對(duì)測(cè)試腳本進(jìn)行編輯,以便于再次執(zhí)行性能測(cè)試時(shí)獲得所需要的參數(shù),之后進(jìn)行特定的性能指標(biāo)分析。OpenSTA 以簡(jiǎn)單的方式讓大家對(duì)性能測(cè)試的原理有較深的了解,其較為豐富的圖形化測(cè)試結(jié)果大大提高了測(cè)試報(bào)告的可閱讀性。
OpenSTA 是基于Common Object Request Broker Architecture (CORBA)的結(jié)構(gòu)體系。它是通過(guò)虛擬一個(gè)proxy, 使用其專用的腳本控制語(yǔ)言,記錄通過(guò)proxy 的一切HTTP/S traffic。測(cè)試工程師通過(guò)分析OpenSTA 的性能指標(biāo)收集器收集的各項(xiàng)性能指標(biāo),以及HTTP 數(shù)據(jù),對(duì)被測(cè)試系統(tǒng)的性能進(jìn)行分析。
首先,OpenSTA 都有哪些組成部分?
OpenSTACommander —主要控制應(yīng)用程序;
NameServer —CORBA 背景處理器,保證OpenSTA 各個(gè)組成部分之間的
交流;
(NameServer 是安裝OpenSTA 的同時(shí)被安裝的,正常運(yùn)行時(shí),可以在Windows
任務(wù)欄的右側(cè)看到圖標(biāo),如果沒(méi)有正常運(yùn)行或者被停止了,圖標(biāo)顯示為。) u ScriptModeler —配置、啟動(dòng)HttpGateway 的工具程序,同時(shí)也是錄制腳本的工具程序; u HttpGateway —模擬proxy 處理器,執(zhí)行錄制;
(接受用戶手工配置的proxy 設(shè)置,不接受任何自動(dòng)配置proxy 機(jī)制); u TestExecuter —真正執(zhí)行測(cè)試的背景處理器; u WebRelayDaemon —使用XML RPC 在internet 上過(guò)濾CORBA 限制; u Repository—測(cè)試腳本、配置和測(cè)試結(jié)果存貯目錄; u TestManager—管理測(cè)試運(yùn)行的背景程序; u TaskGroupExecuter—運(yùn)行TaskGroup 的處理器。
其次,什么是性能指標(biāo)收集器(即Collector)呢?這是用戶定義的一組問(wèn)題, 決定在測(cè)試過(guò)程中哪些性能指標(biāo)需要記錄。包括兩種類型:
1)NT Performance Collectors 用于采集運(yùn)行WinNT 或Win 2000 的主機(jī)的性能指標(biāo). 2)SNMP Collectors 用于采集主機(jī)和其他運(yùn)行SNMP agent 或proxy SNMP agent 的SNMP 數(shù)據(jù). Collector 的設(shè)置將在下面如何錄制測(cè)試腳本中介紹。
第三,如何錄制測(cè)試腳本呢?
1、 安裝OpenSTA后,在“程序”中出現(xiàn)OpenSTA的三個(gè)工具程序,如下圖:
檢查OpenSTA NameServer狀態(tài)為運(yùn)行中,即圖標(biāo)為 ,
運(yùn)行“OpenSTA Commander”,界面顯示為下圖:
2、錄制新腳本
1)鼠標(biāo)點(diǎn)“Scripts”,通過(guò)右鍵菜單“New Script”->“HTTP”生成新腳本,腳本名稱缺省為NEWSCRIP(如下圖);
2) 雙擊新腳本,打開(kāi)Script Modeler窗口,在Options菜單中設(shè)置Browser和Gateway,一般情況下,保持Gateway的缺省設(shè)置 ;
3)按工具欄中的紅色圓鈕,自動(dòng)打開(kāi)指定的瀏覽器,輸入需要錄制的系統(tǒng)URL, 顯示被測(cè)試網(wǎng)站的首頁(yè)內(nèi)容。在登陸成功之后,執(zhí)行各個(gè)既定的操作步驟。按工具條上的方框按鈕,或直接退出瀏覽器,可以停止腳本的錄制,這是在Script Modeler窗口中將看到被錄制下來(lái)的腳本語(yǔ)句。