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

  OpenSTA 測(cè)試的組成

  OpenSTA 測(cè)試

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

  OpenSTA 腳本

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

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

  OpenSTA Gateway

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

  OpenSTA 腳本和 SCL

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

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

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

  OpenSTA Repository

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

  OpenSTA 腳本開(kāi)發(fā)

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

  腳本的錄制

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

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

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

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

  鍵入一個(gè) URL,回車,或從瀏覽器的 URL 地址欄打開(kāi)一個(gè)網(wǎng)址。然后正常的使用瀏覽器,執(zhí)行一些你想記錄到腳本上的動(dòng)作。當(dāng)您正在錄制一個(gè) Web 會(huì)話時(shí),使用 Capture/Replay工具欄的添加注釋按鈕來(lái)添加注釋,同樣您也可以選擇 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ù)。

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

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

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

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

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