by:授客 QQ:1033553122 場景設計-制定負載測試計劃 步驟1.分析應用程序 你應該對硬件和軟件組建,,系統(tǒng)配置和典型的使用場景很熟悉,。這些應用程序的分析保證你在使用loadrunner進行測試時,,創(chuàng)建的測試環(huán)境可比較準確的反應應用程序環(huán)境和配置。
a) 畫張示意圖對你的應用程序架構進行說明。如果要測試的系統(tǒng)是一個大的網(wǎng)絡系統(tǒng)的一部分,你應該確定這個網(wǎng)絡系統(tǒng)要測試的系統(tǒng)組建,。確保示意圖包含了所有系統(tǒng)組建,如客戶端機器,,網(wǎng)絡,,中間件和服務器。 示例: 以下示意圖描述一個多web用戶訪問的在線銀行系統(tǒng),。web用戶每次連接到相同數(shù)據(jù)庫進行資金轉(zhuǎn)賬和余額查詢,。 顧客通過web,使用各種瀏覽器連接到數(shù)據(jù)庫服務器,。
b) 用更詳細的信息優(yōu)化示意圖,,描述每個系統(tǒng)組建配置??梢詮南聨讉€方面進行考慮:
示例: 以下這張表說明了前端客戶端的配置信息
c) 定義系統(tǒng)的典型使用場景并決定哪些功能是測試重點??紤]哪些用戶使用系統(tǒng),,用戶的數(shù)量,每個用戶的常用操作,。此外,,考慮考慮任何可能會影響系統(tǒng)響應時間的后臺負載。 例子: 假設每天早上都有200個員工登錄賬號系統(tǒng)并且同樣辦公網(wǎng)絡上有一個恒定后臺負載--50個用戶執(zhí)行各種word處理和打印任務,。你可以創(chuàng)建一個擁有200個虛擬用戶登錄銀行數(shù)據(jù)庫的場景并測試服務器響應時間,。 為了檢查后臺負載是怎么影響反應時間的,你可以在員工執(zhí)行文字處理和打印活動的網(wǎng)絡上運行模擬場景,。
d) 除了定義一般用戶操作,,還要檢查操作任務的分布。. 例子: 假設銀行使用中央數(shù)據(jù)庫來服務來自各個州和時區(qū)的客戶端。有250個客戶端位于兩個不同的時區(qū),,都連接到同樣的Web服務器,。有150個在芝加哥,100個在底特律,,每個客戶端都在早上9點開始他們的業(yè)務,,但是因為他們在不同時區(qū),任何時刻不應該有多余150個用戶登錄,。你可以分析任務分布來決定數(shù)據(jù)庫活動高峰期,,哪些典型活動在高峰期出現(xiàn)。 步驟2.定義測試目標 測試計劃應該基于一個清晰定義的測試目標,。
a) 以下表展示了使用lr測試一般應用程序的測試目標,。
說明:
1
檢查用戶執(zhí)行業(yè)務過程并接收服務器返回的時間要多久。例如,,假設你想確認當你系統(tǒng)運行于正常負載條件下,,在20秒內(nèi)響應終端用戶操作。 以下圖形展現(xiàn)一個負載樣例
2 檢查各種系統(tǒng)配置(內(nèi)存,,CPU速度,,緩存,適配器,,路由器)對性能的影響,。 一旦你理解了系統(tǒng)架構并已經(jīng)測試了應用響應時間,你可以為不同系統(tǒng)配置測試應用響應時間并確定哪種設置可以提供預期的性能水平,。
3 確定系統(tǒng)在重壓力或持續(xù)工作負載下的穩(wěn)定性
4 執(zhí)行“回歸”測試(Application regression testing)來比較一個新版硬件或軟件和舊版硬件或軟件,。你可以檢查升級是怎么影響反應時間(基線)或者可靠開性。Application regression testing不是測試升級的新特征,,反而在于檢測新版和舊版的效率和可靠性一樣,。
5 你可以在新產(chǎn)品生命周期中的計劃和設計階段運行測試來評估產(chǎn)品和系統(tǒng)。例如,,你可以基于評估的測試為服務器機器或數(shù)據(jù)庫包選擇硬件。
6 你可配置lr模擬組件來確認系統(tǒng)瓶頸并決定哪些元素降低性能,。例如,,文件鎖,資源搶占,,網(wǎng)絡超負荷,。使用lr聯(lián)合網(wǎng)絡及機器模擬器工具來創(chuàng)建負載并和測量系統(tǒng)不同點的性能。
7 測量系統(tǒng)容量,,并判斷超過系統(tǒng)容量的多少,,系統(tǒng)仍然可處理并不會引起性能的降低。
b) 一旦確定了測試的總體目標,你應該通過可測量術語來描述你的測試對象,。 為了提供一個測試評估基線,,準確定位什么樣的組成是可接受及不可接受的測試結果 例如 總體目標: 產(chǎn)品評估:為Web服務器選擇硬件。 詳細目標: 產(chǎn)品評估:在兩個不同服務器,,HP和NEC上運行同樣的擁有300個虛擬用戶的組,。當所有的300用戶同時瀏覽Web應用程序時,決定哪種硬件提供一個比較好的反應時間,。
c) 負載測試貫穿于產(chǎn)品生命周期,。如下表
步驟3.用loadrunner實施測試活動
a) 你可以用LoadRunner來測量系統(tǒng)不同點的反應時間。根據(jù)測試目標決定哪些地方需要運行Vusers及哪些虛擬用戶需要運行:
l 你可以檢測一個典型用戶通過運行前端GUI虛擬用戶來測量反應時間,。GUI虛擬用戶通過輸入提交和接收客戶端應用輸出來模擬真實用戶,。可以運行前端GUI虛擬用戶來測量整個網(wǎng)絡包括終端模擬器或者GUI前端,,網(wǎng)絡和服務器的反應時間,。
2 你可以在客戶機上通過運行虛擬用戶(非GUI)測量網(wǎng)絡和服務器反應時間,包括GUI前端反應時間和服務器反應時間,。Vuser在無用戶界面的情況下模擬客戶端對服務器的調(diào)用,。當你從客戶端機器上運行許多虛擬用戶時,你可以測量負載是怎么影響網(wǎng)絡和服務器反應時間的,。
3 你可以通過前兩者的相減判斷客戶端應用接口怎么影響反應時間的,。GUI response time = end-to-end - network and server
4 你可以測量服務器響應不通過網(wǎng)絡的請求要花多長時間。當你在一臺直接連接到服務器的機器上運行Vusers,,你可以測量服務器性能
5 如果你有訪問中間件和其API,,你可以測量從服務器到中間件的響應時間。你可以用中間件API創(chuàng)建虛擬用戶并測量the middleware-server性能,。
b) 根據(jù)你對Vuser類型,,典型任務,和測試目標的分析,,創(chuàng)建虛擬Vuser腳本,。由于Vusers模擬典型的終端用戶操作。例如,,模擬在線銀行客戶端,,你應該創(chuàng)建一個Vuser腳本執(zhí)行典型的銀行任務,比如,,瀏覽你經(jīng)常訪問的資金轉(zhuǎn)賬和余額查詢的頁面,。 基于你的測試目標你決定那些操作需要測量并為這些操作定義事務。事務測量服務器回應Vusers用戶提交操作任務需要多長時間(end-to-end time),。例如,,檢查銀行web服務器提供賬戶余額響應時間,為這個操作任務在Vuser腳本中定義一個事務。 此外,,你可使用rendezvous集合點來模擬高峰期活動,。集合點指示多用戶同一精確時間里執(zhí)行操作任務。例如,,你可以定義一個集合點來模擬70個用戶,,同步更新銀行賬號信息。
c) 在你決定用于測試的硬件配置前,,判斷需要的Vuser的類型和數(shù)量,。觀察典型使用模式結合測試目標來判斷要多少Vuser和運行哪種Vuser: 以下是建議:
l
2 例如,假設有5種類型用戶,。每種執(zhí)行一個不同的業(yè)務操作:
d) 軟硬件配置應該夠強大和夠快,以模擬必要數(shù)量的Vuser,。參考HP安裝指南了解詳細硬件要求,。 為了決定機器數(shù)量和正確的配置,考慮以下:
l 每種GUI Vuser需要一個單獨的基于windows的機器,。多個GUI用戶可以運行在一臺單獨的UNIX機器上。
2 注意:對于一個有許多事務要長時間運行的場景,,結果文件要求幾M的磁盤空間 。如果沒網(wǎng)絡文件系統(tǒng)NFS,,負載生成器也要求為其臨時文件提供幾個M的磁盤空間,,對于更多關于運行時文件存儲的信息,查看運行時文件存儲位置,。 |
|