能和LoadRunner匹敵的VS2010/2012Web負載測試


VS自帶的Web負載測試真的很大程度上能和專業的loadrunner媲美(只是Web方面),上個report圖吧(如何實現,請往下拉)

看,能探測一堆的計數器(上面紅色打叉的是代表超過了基線值)、還能跟蹤sql的執行,下面講講如何實現的。

樣板代碼下載

 

大致過程分成如下:新建測試工程、添加Web性能測試(和實現)、 添加負載測試(和實現,負載測試實際上是不斷的調用Web性能測試)、運行負載測試看結果、調整性能。

 

新建測試工程:忽略(`(*∩_∩*)′)

添加Web性能測試

實現Web性能測試(先了解測試對象,需求如下)

我們需要分別給以上情況編寫測試用例,如下:

  • User Name不填、Email不填==》頁面不跳轉,並且出現消息User Name cannot be empty.
  • User Name填、Email不填   ==》頁面不跳轉,並且出現消息Email cannot be empty.
  • User Name不填、Email填   ==》頁面不跳轉,並且出現消息User Name cannot be empty.
  • User Name填、Email填      ==》頁面跳轉至Thanks.aspx,並且出現消息Thanks

因此,需要分別給上述4種情況加入測試配置(不是測試代碼,因為這里都是配置出來的...),如下圖:

上面由於是要模擬form的Submit操作,並且使用的是asp.net webform技術,因此form域比較抓狂(要是用mvc技術就方便多了,在性能測試時記得不要考慮csrf攻擊,或者直接忽略掉),而且不要忘記把Submit按鈕寫進去(value=1)

簡單而言,每一個request的測試邏輯是這樣的:

  1. send request 到 目標path(拼裝好post/get, querystring, form field)
  2. get response
  3. 根據驗證規則,開始驗證

 

添加負載測試

實現負載測試

測試組合:"Register"是第一步中那個Web性能測試的名字,由於目前只有1個Web性能測試,所以前綴是[100%]

瀏覽器組合:工具能夠模擬客戶端瀏覽器類型分布百分比,來模擬實際情況

計數器集:這里有成堆成堆的計數器,里面有的是定義了閥門值的(有的沒有定義),定義的閥門值分成2種:Warm和Alert,比如:CPU有個計數器叫:% Processor Time,這個計數器要求盡量低點,它有如下設置:

發出警報:true代表超出后會在最終的report中以圖表的形式出現,比如本篇的第二張圖中的那一連串的cpu處理時間。

大家一看就明白意思。

運行設置1 的屬性窗口:


SQL跟蹤:用來跟蹤本地/遠程數據庫的sql執行情況(比如能跟蹤到最耗時間的sql腳本找出來,這樣就能夠優化sql了)

采樣速率:如字面意思...

運行持續時間:如字面意思...

預熱持續時間:假設設置了5秒的預熱持續時間,則負載測試開始后的5秒內不會進行請求,而是等待狀態,等5秒后進行瘋狂的請求動作

漏了個關鍵參數,如下:

負載測試被設置成了恆定有25個用戶同時進行請求。

運行負載測試:略

調整性能: 

要回過頭來看看第一張圖,里面有 “最慢的5個測試”、“最慢的5個sql操作”,然后就具體情況具體優化了。

樣板代碼下載 

 

本篇只說了負載方面的性能測試(偏外觀的探測行為),其實VS還自帶了一個功能強大的性能分析工具,它能監控內存、C#對象使用量,是偏內部的分析,等以后再說這個工具。

請大家點下“推薦”按鈕吧...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM