摘要:
本文將介紹一個(gè)免費(fèi)的、源代碼開(kāi)放的web性能測(cè)試工具OpenSTA,包括它的原理、組成部分、錄制腳本的過(guò)程。另外,還將介紹如何在OpenSTA的測(cè)試腳本中引入變量,并給變量賦不同值,比如,將登陸被測(cè)試網(wǎng)站的用戶名稱設(shè)置為一個(gè)變量,在執(zhí)行性能測(cè)試時(shí),虛擬多個(gè)不同的用戶同時(shí)登陸被測(cè)試網(wǎng)站,通過(guò)將訪問(wèn)網(wǎng)站的用戶名稱打印出來(lái)的方法,驗(yàn)證該變量在測(cè)試執(zhí)行過(guò)程中被賦與了不同值。
正文:
作為測(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)qqq?,如果沒(méi)有正常運(yùn)行或者被停止了,圖標(biāo)顯示為qq。)
★ ScriptModeler – 配置、啟動(dòng)HttpGateway的工具程序,同時(shí)也是錄制腳本的工具程序;
★ HttpGateway – 模擬proxy 處理器,執(zhí)行錄制;(接受用戶手工配置的proxy設(shè)置,不接受任何自動(dòng)配置proxy機(jī)制);
★ TestExecuter – 真正執(zhí)行測(cè)試的背景處理器;
★ WebRelayDaemon? –使用XML RPC在internet上過(guò)濾 CORBA限制;
★ Repository–測(cè)試腳本、配置和測(cè)試結(jié)果存貯目錄;
★ TestManager–管理測(cè)試運(yùn)行的背景程序;
★ TaskGroupExecuter–運(yùn)行TaskGroup的處理器。
其次,什么是性能指標(biāo)收集器(即Collector)呢?這是用戶定義的一組問(wèn)題,決定在測(cè)試過(guò)程中哪些性能指標(biāo)需要記錄。包括兩種類(lèi)型:
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è)工具程序,如下圖:
圖1-1安裝后的界面