OpenSTA是一個(gè)免費(fèi)的、開放源代碼的web性能測試工具,能錄制功能非常強(qiáng)大的腳本過程,執(zhí)行性能測試。例如虛擬多個(gè)不同的用戶同時(shí)登陸被測試網(wǎng)站。
OpenSTA是專用于B/S結(jié)構(gòu)的、免費(fèi)的性能測試工具。它的優(yōu)點(diǎn)除了免費(fèi)、源代碼開放的優(yōu)點(diǎn)外,還能對錄制的測試腳本進(jìn)行,按指定的語法進(jìn)行編輯。在錄制完測試腳本后,可以對測試腳本進(jìn)行編輯,以便進(jìn)行特定的性能指標(biāo)分析。其較為豐富的圖形化測試結(jié)果大大提高了測試報(bào)告的可閱讀性。
OpenSTA 基于CORBA 的結(jié)構(gòu)體系,它通過虛擬一個(gè)proxy,使用其專用的腳本控制語言,記錄通過proxy 的一切HTTP/S traffic。通過分析OpenSTA 的性能指標(biāo)收集器收集的各項(xiàng)性能指標(biāo),以及HTTP 數(shù)據(jù),對系統(tǒng)的性能進(jìn)行分析。
優(yōu)點(diǎn):壓力測試引擎具有可擴(kuò)充性,可以完成打規(guī)模的壓力測試。提供腳本語言支持。
OPENSTA安裝
下載OPENSTA安裝包,雙擊安裝即可。
測試入門:
首先打開OpenSta Commander,主界面如下:
該界面主要包括Repository(倉庫),用于存儲測試相關(guān)數(shù)據(jù),單擊倉庫中的相關(guān)內(nèi)容,主視圖回顯示與之相關(guān)的內(nèi)容。
一個(gè)完整的測試一般包括3個(gè)方面的內(nèi)容,首先錄制測試腳本,然后定制性能采集器,最后把測試腳本和性能采集器組合起來,組成一個(gè)測試案例,通過運(yùn)行該測試案例,獲取該測試內(nèi)容的相關(guān)數(shù)據(jù)。
可通過如下步驟錄制新腳本:
1) 鼠標(biāo)點(diǎn)“Scripts ”,通過右鍵菜單“New Script ”->“HTTP”生成新腳本,腳本名稱缺省為NEWSCRIP。
2)雙擊新腳本,打開Script Modeler 窗口,在Options菜單中設(shè)置Browser 和Gateway,一般情況下,保持Gateway 的缺省設(shè)置。
3)按工具欄中的紅色圓鈕,自動打開指定的瀏覽器,輸入需要錄制的系統(tǒng)URL,顯示被測試網(wǎng)站的首頁內(nèi)容。在登陸成功之后,執(zhí)行各個(gè)既定的操作步驟。按工具條上的方框按鈕,或直接退出瀏覽器,可以停止腳本的錄制,這是在Script Modeler窗口中將看到被錄制下來的腳本語句。
如下圖
生成性能指標(biāo)收集器(Collector)
性能指標(biāo)收集器(Collector)是用戶定義的一組問題,決定在測試過程中哪些性能指標(biāo)需要記錄。包括兩種類型:
1) NTPerformance 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è)置:
1) 鼠標(biāo)點(diǎn)“Collectors”,通過右鍵菜單生成新指標(biāo)收集器,缺省為NEWCOLLECTOR。
2) 通過browse Queries 瀏覽并設(shè)置需要收集的性能指標(biāo),如下圖
組成測試環(huán)境
在Tests中新建一個(gè)NEWTEST,將測試腳本和性能指標(biāo)收集器拖到該Test 中,如下圖:
按工具欄中的,執(zhí)行測試,測試過程中可以查看“Monitoring”頁簽的內(nèi)容,測試結(jié)束后,該頁簽為空。測試結(jié)束后,點(diǎn)工具按鈕下方的Results頁簽,顯示所記錄的測試結(jié)果數(shù)據(jù),如下圖。
需要注意,OpenSTA是GUI界面,同時(shí)也支持命令行、批處理文件,但不支持使用嵌入技術(shù)(如Applets,ActiveX,F(xiàn)lash或javascript),以及通過HTTP/S以外的協(xié)議訪問Web Server。
分布測試:
OPENSTA支持分布測試,可以把測試任務(wù)指派到其他機(jī)器上運(yùn)行,前提是另外的機(jī)器必須安裝OPENSTA,并且他的NameServer必須運(yùn)行起來,要在其他機(jī)器上運(yùn)行測試任務(wù),需要在組織測試案例時(shí),設(shè)定host屬性,見下圖:
在Host Name設(shè)定相應(yīng)的主機(jī)名,然后執(zhí)行該任務(wù)即可。
并發(fā)測試:
OPENSTA支持并發(fā)測試,可以模擬多個(gè)用戶同時(shí)多次發(fā)出http請求,要在機(jī)器上運(yùn)行多個(gè)用戶測試任務(wù),需要在組織測試案例時(shí),設(shè)定VUs屬性,見下圖:
有關(guān)參數(shù)的解釋見圖示說明.