您的位置:軟件測試 > 開源軟件測試 > 開源性能測試工具 > openSTA
如何用OpenSTA進(jìn)行web性能測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/8 16:14:51 ] 推薦標(biāo)簽:

  OpenSTA 測試的組成

  OpenSTA 測試

  OpenSTA 測試是一組用戶控制的定義,其中包括腳本、性能指標(biāo)收集器還有用于運(yùn)行測試的參數(shù)。測試運(yùn)行會(huì)生成由圖形或者表格顯示的結(jié)果。腳本和性能指標(biāo)收集器是測試 的構(gòu)建模塊?梢员辉S多不同的測試所引用。腳本決定了測試的內(nèi)容,指標(biāo)收集器則定義了測試運(yùn)行期間將被收集的數(shù)據(jù)。添加到測試中的腳本和性能指標(biāo)收集器會(huì) 被放在測試任務(wù)組中。通過對每個(gè)測試任務(wù)組采用不同的設(shè)置來控制測試的運(yùn)行以及目標(biāo) WAE 的負(fù)載水平。測試任務(wù)組的設(shè)置包括虛擬用戶的數(shù)量、所使用的主機(jī)數(shù)目和一次測試運(yùn)行腳本的回放次數(shù)。性能測試的開發(fā)首先需要對結(jié)構(gòu)和內(nèi)容進(jìn)行規(guī)劃。然后按 序創(chuàng)建測試所需要的腳本和性能指標(biāo)收集器。

  OpenSTA 腳本

  腳本構(gòu)成了 HTTP/S性能測試的內(nèi)容,記錄了用戶通過瀏覽器向目標(biāo)網(wǎng)絡(luò)應(yīng)用環(huán)境(WAE)發(fā)出的請 求。腳本是通過代理服務(wù)器或者 Gateway 傳輸 HTTP/S 通信,使用 SCL(腳本控制語言)命令取代原來的 HTTP/S 命令生成的。腳本建模器根據(jù) Web 會(huì)話期間的 HTTP/S 通信來創(chuàng)建腳本,使用 SCL 語言記錄了 HTTP/S 活動(dòng)。當(dāng)測試開始運(yùn)行,該腳本會(huì)回放所有原始請求。這意味著目標(biāo) Web 應(yīng)用環(huán)境(WAE)將接收來自模擬瀏覽器用戶,或虛擬用戶的并發(fā),異步連接和請求,如同真實(shí)的終端用戶一樣。使用 SCL 編寫腳本,可以對內(nèi)容進(jìn)行控制。通過引入變量來取代腳本錄制生成的固定值,可以在指定的負(fù)荷水平上測試 Web 活動(dòng),從而使性能測試更為靈活有效。

  腳本的錄制,會(huì)產(chǎn)生一個(gè) .HTP 文件和一個(gè) .ALL 文件。.HTP 文件包含了在 SCL 編寫過程中,Web 會(huì)話期間發(fā)出的所有 HTTP/S 瀏覽器請求。這個(gè)文件是腳本,它會(huì)作為 Web 性能測試的一部分被建模和回放。而 .ALL 文件則將 WAE 響應(yīng)保存在不同分類下,包括可以被用來對附屬腳本進(jìn)行建模的 DOM。所有的腳本都保存在存儲(chǔ)庫中,可以被不同的測試所引用。

  OpenSTA Gateway

  Gateway 是 OpenSTA 的一個(gè)組件,它與腳本建模器直接對接,記錄 HTTP/S 通信,并創(chuàng)建腳本。它相當(dāng)于一個(gè)代理服務(wù)器,位于客戶端瀏覽器和承載了 WAE 環(huán)境的遠(yuǎn)程 Web 服務(wù)器之間。當(dāng)你開始使用腳本建模器進(jìn)行錄制,Gateway 會(huì)覆蓋瀏覽器的一些 Internet 連接設(shè)置,強(qiáng)迫使用代理服務(wù)器,在這里特指的是 Gateway。Gateway 可以記錄瀏覽器和 WAE 之間的網(wǎng)絡(luò)活動(dòng),并產(chǎn)生一個(gè) SCL 語言描述的腳本。 Gateway 將所有的瀏覽器請求存儲(chǔ)在 HTP 文件中,WAE 對瀏覽器請求的響應(yīng)則存儲(chǔ)在 .ALL 文件中。.ALL 文件包含的 HTML 數(shù)據(jù)與 .HTP 文件中的內(nèi)容有著直接聯(lián)系。通過對 .ALL 文件的信息進(jìn)行處理,可以實(shí)現(xiàn)腳本的建模。

  OpenSTA 腳本和 SCL

  SCL 是用于控制和記錄 HTTP/S 通信的腳本控制語言。使用的 SCL 編寫腳本,給開發(fā)切合實(shí)際的性能測試提供了建模能力。當(dāng)你運(yùn)行一個(gè)測試的時(shí)候,為了給一個(gè)或者多個(gè)目標(biāo) WAE 環(huán)境提供足夠的負(fù)載,你可以編寫一個(gè)腳本或者一個(gè)腳本序列,來模擬成千上萬的虛擬用戶。

   OpenSTA 腳本和測試運(yùn)行

  HTTP/S 的通信是 Web 會(huì)話期間生成的關(guān)鍵信息。對它進(jìn)行捕獲,使你能夠記錄各種瀏覽器類型在不同平臺(tái)的的活動(dòng)。腳本可以被編寫,然后在測試中被引用。錄制和編寫腳本后,你可以 重放腳本從而重現(xiàn)原始的瀏覽器命令。HTTP/S 請求并發(fā)異步運(yùn)行,建立起和原始的 Web 對話一樣多的 TCP 連接,連接數(shù)目可以因?yàn)槟氵x擇運(yùn)行測試的虛擬用戶數(shù)量而成倍增加。與其它仿真技術(shù)相比,開發(fā)和執(zhí)行基于 SCL 的測試消耗更少的資源。這使 OpenSTA 可以支持虛擬用戶數(shù)量較大的測試。

  OpenSTA Repository

  Repository 是 OpenSTA 在硬盤驅(qū)動(dòng)器或網(wǎng)絡(luò)計(jì)算機(jī)上的一個(gè)存儲(chǔ)區(qū)域。其中保存了所有測試定義文件,包括腳本和性能指標(biāo)收集器。另外,測試運(yùn)行期間產(chǎn)生的所有結(jié)果文件也都存儲(chǔ)在這 里。Repository 的內(nèi)容和結(jié)構(gòu)可以通過 commander 的 Repository 窗口來查看。它位于主窗口的左側(cè),能夠顯示存儲(chǔ)的所有腳本、性能指標(biāo)收集器和測試。你可以從 Repository 窗口開始創(chuàng)建新的腳本或者打開現(xiàn)有腳本。

  OpenSTA 腳本開發(fā)

  腳本包含了測試的內(nèi)容,需要進(jìn)行提前的錄制。通過 OpentSTA Commander來啟動(dòng)腳本建模器,進(jìn)行腳本的錄制和編輯并把它添加到你的測試中。在你開始錄制腳本前,應(yīng)該先選擇配置。對于不同的計(jì)算機(jī)網(wǎng)絡(luò)配置,OpenSTA 提供了幾種選擇。你可以選擇用來錄制腳本的瀏覽器類型以及連接方式。

  腳本的錄制

  打開 Commander 選擇 File->New Script->HTTP。 在 Repository 窗口中,右鍵單擊 Scripts文件夾,并選擇 New Script->HTTP。腳本將出現(xiàn)在 Repository 窗口,腳本的圖標(biāo)上會(huì)出現(xiàn)一個(gè)紅色小叉,表明該文件沒有任何內(nèi)容。只要你打開的腳本,錄制一個(gè) Web 會(huì)話,腳本圖標(biāo)的小叉會(huì)消失。

  右鍵單擊新腳本的圖標(biāo),選擇 Rename,輸入一個(gè)符合 OpenSTA Dataname 的名稱,多 60 個(gè)字符。

  雙擊新腳本的圖標(biāo), 啟動(dòng)腳本建模器。

  在捕獲 / 回放工具欄點(diǎn)擊錄制按鈕,或者選擇 Capture->Record,來開始腳本 錄制。這個(gè)動(dòng)作會(huì)啟動(dòng)你所選擇的 Gateway 和 Web 瀏覽器。當(dāng)錄制開始,瀏覽器的主頁 Internet 選項(xiàng)會(huì)被腳本建模器重寫,瀏覽器的主頁將變成一個(gè)空白的 HTML 頁面。這樣以確保你的正常主頁不會(huì)被啟動(dòng)并記錄在腳本中。注意:如果沒有手動(dòng)選擇遠(yuǎn)程錄制模式,Gateway 會(huì)默認(rèn)啟動(dòng)本地錄制。

  鍵入一個(gè) URL,回車,或從瀏覽器的 URL 地址欄打開一個(gè)網(wǎng)址。然后正常的使用瀏覽器,執(zhí)行一些你想記錄到腳本上的動(dòng)作。當(dāng)您正在錄制一個(gè) Web 會(huì)話時(shí),使用 Capture/Replay工具欄的添加注釋按鈕來添加注釋,同樣您也可以選擇 Capture->Insert Comments。它們可以在進(jìn)行單步執(zhí)行時(shí)向你提供幫助。但是添加評(píng)論的時(shí)間不會(huì)被記錄在腳本中。

  當(dāng)你完成所需要的瀏覽器動(dòng)作后,在 Capture/Replay工具欄單擊停止按鈕或者直接關(guān)閉瀏覽器以切換回腳本建模器。當(dāng)你完成腳本的錄制,腳本窗格中會(huì)顯示 SCL 格式的數(shù)據(jù)。

  保存新腳本之前,需要使用語法檢查選項(xiàng)來對它進(jìn)行編譯,以確保錄制結(jié)果的有效性。選擇 Capture->Syntax Check或在 Capture/Replay工具欄中單擊編譯按鈕。編譯結(jié)果會(huì)顯示到輸出窗格中。如果編譯失敗,則要通過重新錄制腳本或者編輯腳本的內(nèi)容來解決。

  編譯成功后,選擇 Capture->Replay或者點(diǎn)擊 Capture/Replay工具欄的回放按鈕來回放腳本以檢查已錄制的結(jié)果。

  錄制完成后,在標(biāo)準(zhǔn)工具欄中點(diǎn)擊保存按鈕或者單擊 File->Save將腳本保存在 Repository 中。

  選擇 File->Close以關(guān)閉當(dāng)前腳本或者 File->Exit以退出腳本建模器。 如有未保存的腳本,在程序關(guān)閉之前會(huì)有自動(dòng)提示對它們進(jìn)行保存。關(guān)閉腳本建模器的同時(shí)也會(huì)關(guān)閉關(guān)聯(lián)的瀏覽器并恢復(fù)原有的瀏覽器設(shè)置。

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd