如何寫性能測試用例

如何寫性能測試用例

性能測試用例

1. 如何寫性能測試用例

由於性能測試與功能測試有很大的區別,所以討論出的結果可能與預先的設想有一定的區別。

性能測試的目的:

為了驗證系統是否達到用戶提出的性能指標,同時發現系統中存在的性能瓶頸,起到優化系統的目的。

用戶對各項指標提出的明確需求;如果用戶沒有提出性能指標則根據用戶需求、測試設計人員的經驗來設計各項測試指標。(需求+經驗)

主要的性能指標:

服務器的各項指標(CPU、內存佔用率等)、後臺數據庫的各項指標、網絡流量、響應時間。

BUG觀點:

1、性能測試就象人在無風情況下跑步(正常情況下的性能指標);

2、壓力測試就象人在微風中跑步(在正常的基礎上加大多少百分比壓力的性能指標);

3、負載測試就象人在強風中跑步(不斷加壓,直到系統崩潰)。

HTTP觀點:

1、 負載測試是正常情況下持續的加壓;

2、 壓力測試是直接加壓達到一個極限值。

大家統一的觀點:

性能測試、壓力測試、負載測試密不可分,可統稱為性能測試。

性能測試要點:

1、 性能測試是在功能測試完成之後進行。

2、 性能測試計劃、方案一般與測試用例統一在一個文檔裡。

3、 測試環境應儘量與用戶環境保持一致。

4、 性能測試一般使用測試工具和測試人員編制測試腳本來完成,性能測試的環境應單獨運行儘量避免與其他軟件同時使用。

5、 性能測試的重點在於前期數據的設計與後期數據的分析。

6、 性能測試的用例主要涉及到整個系統架構的問題,所以測試用例一旦生成,改動一般不大,所以做性能測試的重複使用率一般比較高。(說明:當系統中出現的某個功能點需要修改,它一般只會影響到功能測試的設計用例,而對於性能測試,很少影響到性能測試的設計用例。但是如果某個功能有較大的修改,性能測試也應該進行重新測試。)

2. Loadrunner性能測試一個實例(經典)

隨著測試越來越重要,其中的性能測試也受到越來越多的關注。比較普遍的性能測試工具是Loadrunner7.51,但是很多人對此性能工具不是很熟悉。本人也是總結心得體會,將做過的性能測試實例以餉大家,希望對各位做測試的朋友有所幫助。

該方案是針對某公司試題庫的性能測試。該試題庫是用來對公司內部員工培訓結果的一個考核。試題庫在公司內部web服務器上,假設開設50個賬號和密碼可供50個考生同時參加考試。要求,每臺機器只能由一個用戶使用,每個用戶只能使用各自不同的賬號登錄考試系統,做完題目後,要求提交考試結果,若在制定的時間內不提交,則系統強制提交考試結果。

但是,一般測試部門不可能有50臺機器同時進行測試的。所以,可以借Loadrunner7.51模擬IP地址,修改腳本來協助測試。但是,為了保證測試結果,建議蒐羅公司中所有可用的機器進行復測,因為有時候是不可以完全信賴工具的。

現場測試環境

硬件:50臺PC機,Web服務器

軟件:Loadrunner7.0,Win2000,IE5.0和IE6.0

人員:質控部2人,執行現場測試

項目部22人,提供現場環境

技術部各1人,提供技術支持

測試要求

50個用戶擁有獨立IP地址,不同的用戶及密碼登錄,試題完成後各自同時提交。

測試內容

50個用戶以不同的用戶名和密碼登錄試題庫。試題完成後,提交考試結果。測試考試結果是否能正常提交以及正確評分。

測試方案

1、 完全20臺實際的PC機進行現場測試。

(1) 準備工作,並做計劃。第一輪測試執行三遍,設定用戶考試內容全部同時提交,第一遍全部使用IE5.0,第二遍10臺使用IE5.0,10臺使用IE6.0,第三遍全部使用IE6.0

(2) At 9:00 ,20個用戶同時登錄系統

(3) At 9:05 ,20個用戶同時全部提交

(4) 分別記錄第一輪測試(三遍)的結果

(5) 第二輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,全部使用IE5.0

(6) At 9:15 ,20個用戶同時登錄系統

(7) At 9:20 ,15個用戶同時提交

(8) At 9:25 ,剩餘5個用戶同時提交

(9) 記錄第二輪測試結果

(10) 第三輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,全部使用IE6.0

(11) At 9:15 ,20個用戶同時登錄系統

(12) At 9:20 ,15個用戶同時提交

(13) At 9:25 ,剩餘5個用戶同時提交

(14) 記錄第三輪測試結果

(15) 第四輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶使用IE5.0,延時提交用戶使用IE6.0

(16) At 9:15 ,20個用戶同時登錄系統

(17) At 9:20 ,15個用戶同時提交

(18) At 9:25 ,剩餘5個用戶同時提交

(19) 記錄第四輪測試結果

(20) 第五輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶使用IE6.0,延時提交用戶使用IE5.0

(21) At 9:15 ,20個用戶同時登錄系統

(22) At 9:20 ,15個用戶同時提交

(23) At 9:25 ,剩餘5個用戶同時提交

(24) 記錄第五輪測試結果

(25) 第六輪測試準備工作,設定15個用戶考試內容同時提交,另外5個用戶延時5分鐘提交,正常提交用戶其中10個使用IE5.0,5個使用IE6.0,延時提交用戶使用IE5.0

(26) At 9:15 ,20個用戶同時登錄系統

(27) At 9:20 ,15個用戶同時提交

(28) At 9:25 ,剩餘5個用戶同時提交

(29) 記錄第六輪測試結果

(30) 第七輪測試準備工作,設定10個用戶考試內容同時提交,另外10個用戶分兩次分別延時5分鐘、15提交

(31) At 9:35 ,20個用戶同時登錄系統

(32) At 9:40 ,10個用戶同時提交

(33) At 9:45 ,剩餘的其中5個用戶同時提交

(34) At 9:55 ,剩餘的5個用戶同時提交

(35) 記錄第七輪測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進行測試

(36) 第八輪測試準備工作,設定其中10個用戶不提交,由系統強行提交

(37) At 10:10 ,20個用戶同時登錄系統

(38) At 10:15 ,10個用戶同時提交

(39) 其餘用戶的內容由系統強行提交

(40) 記錄第八輪測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進行測試

(41) 第九輪測試準備工作,設定其中10個用戶同時提交,5個用戶延時5分鐘提交,其餘用戶由系統強行提交

(42) At 10:25 ,20個用戶同時登錄系統

(43) At 10:30 ,10個用戶同時提交

(44) At 10:35 ,剩餘的其中5個用戶同時提交

(45) 剩餘5個用戶系統強制提交

(46) 記錄第九輪測試結果,參見第二輪測試-第六輪測試過程分別對IE5.0和IE6.0的情況進行測試

2、 模擬20個用戶進行測試。其中,10臺是PC機,另外10臺機器的IP地址是Loadrunner模擬出來的。

(1) 在10臺實際的PC機中抽取其中一臺虛擬10個IP地址,包括自身的IP地址,該機器上共11個IP地址,這11個IP地址只能全部使用IE5.0或者全部使用IE6.0

(2) 其餘9臺實際的PC機分別由9個人操作,另外一臺機器由一位質控部人員操作

(3) 對於異常情況,延時提交和強制提交全部由實際的機器來模擬

(4) 其餘過程參見1

3、 模擬20個用戶進行測試。其中,5臺是PC機,另外15臺機器的IP地址是用Loadrunner模擬出來的。

(1) 在5臺實際的PC機中抽取其中一臺虛擬15個IP地址,包括自身的IP地址,該機器上共16個IP地址,這16個IP地址只能全部使用IE5.0或者全部使用IE6.0

(2) 其餘4臺實際的PC機分別由4個人操作,另外一臺機器由一位質控部人員操作

(3) 對於異常情況,延時提交和強制提交全部由實際的機器來模擬

(4) 其餘過程參見1

4、 模擬35個用戶進行測試。其中,20臺是PC機,另外15臺機器的IP地址是用Loadrunner模擬出來的。

(1) 在20臺實際的PC機中抽取其中兩臺分別虛擬7個、8個IP地址,這17個IP地址只能全部使用IE5.0或者全部使用IE6.0

(2) 其餘18臺實際的PC機分別由18個人操作,另外兩臺機器由兩位質控部人員操作

(3) 對於異常情況,延時提交和強制提交全部由實際的機器來模擬

(4) 其餘過程參見1

5、 模擬50臺用戶進行測試。其中,20臺是PC機,另外30臺機器的IP地址是用分別用兩臺實際的PC機模擬出來的。記錄測試結果。

(1) 在20臺實際的PC機中抽取其中兩臺分別虛擬15個IP地址,這32個IP地址只能全部使用IE5.0或者全部使用IE6.0

(2) 其餘18臺實際的PC機分別由18個人操作,另外兩臺機器由兩位質控部人員操作

(3) 對於異常情況,延時提交和強制提交全部由實際的機器來模擬

(4) 其餘過程參見1

6、 對5中所述情況重複測試兩次。

7、 為了保證結果的正確性,完全50臺實際的PC機進行現場測試。過程參見1

測試過程

注:該測試過程針對虛擬IP地址情況。

1、 一臺PC機上創建15個虛擬的IP地址。首先,啟動IP Wizard,如下:開始程序->Loadrunner->Tools->IP Wizard

點擊“Add”,添加你計劃虛擬的IP地址。但是注意不能添加已經被佔用的IP地址。

2、 啟動Virtual User Generator,並錄製腳本,由於50個用戶的賬號和密碼各不相同,所以,要修改腳本,設置參數。我是錄製了一個腳本,複製了49份,在每個腳本中手工修改了各自不同的地方。

3、 啟動Loadrunner Controller,先將剛才保存的腳本添加進來。然後點擊“Scenario”菜單,激活其中的“Enable IP Spoofer”。

4、 點擊屏幕右方的“Generators”,添加已經建立的IP,然後connect建立連接。

5、對連接起來的不同用戶(IP地址)分配不同的腳本,在Controller中的“design”中,點擊“Load Generators”其中,每個腳本有一個用戶執行。

6、 執行Scenario


分享到:


相關文章: