qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          如何寫性能測試用例

          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機進行現場測試。

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

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

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

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

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

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

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

           ?。?) At 9:25 ,剩余5個用戶同時提交

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

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

           ?。?1) At 9:15 ,20個用戶同時登錄系統

           ?。?2) At 9:20 ,15個用戶同時提交

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

           ?。?4) 記錄第三輪測試結果

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

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

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

           ?。?8) At 9:25 ,剩余5個用戶同時提交

           ?。?9) 記錄第四輪測試結果

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

           ?。?1) At 9:15 ,20個用戶同時登錄系統

           ?。?2) At 9:20 ,15個用戶同時提交

           ?。?3) At 9:25 ,剩余5個用戶同時提交

           ?。?4) 記錄第五輪測試結果

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

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

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

           ?。?8) At 9:25 ,剩余5個用戶同時提交

           ?。?9) 記錄第六輪測試結果

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

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

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

           ?。?3) At 9:45 ,剩余的其中5個用戶同時提交

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

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

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

           ?。?7) At 10:10 ,20個用戶同時登錄系統

           ?。?8) At 10:15 ,10個用戶同時提交

           ?。?9) 其余用戶的內容由系統強行提交

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

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

           ?。?2) At 10:25 ,20個用戶同時登錄系統

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

           ?。?4) At 10:35 ,剩余的其中5個用戶同時提交

           ?。?5) 剩余5個用戶系統強制提交

           ?。?6) 記錄第九輪測試結果,參見第二輪測試-第六輪測試過程分別對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個人操作,另外一臺機器由一位質控部人員操作

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

           ?。?) 其余過程參見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) 對于異常情況,延時提交和強制提交全部由實際的機器來模擬

           ?。?) 其余過程參見1

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

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

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

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

            (4) 其余過程參見1

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

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

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

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

           ?。?) 其余過程參見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

          posted on 2013-07-09 10:25 順其自然EVO 閱讀(259) 評論(0)  編輯  收藏 所屬分類: loadrunner

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 崇义县| 淮南市| 民县| 玉山县| 本溪市| 扶沟县| 鄂托克前旗| 会理县| 邮箱| 江油市| 中西区| 自贡市| 中宁县| 全椒县| 博爱县| 锦屏县| 新绛县| 石嘴山市| 屯门区| 石泉县| 双桥区| 永顺县| 临沂市| 延津县| 饶河县| 磐安县| 讷河市| 全州县| 陈巴尔虎旗| 富顺县| 营口市| 原阳县| 清水河县| 拉孜县| 沂南县| 中山市| 丽水市| 金溪县| 上思县| 宜宾县| 南宫市|