1. 程式人生 > >Visual Studio 單元測試之三---壓力測試

Visual Studio 單元測試之三---壓力測試

      我們都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio自帶的Test也可以做些簡單的壓力測試,下面我們就介紹一下如何利用Visual Studio進行壓力測試。

本文會自動略去上篇中提到過的相關概念、方法。本文的例子可以使用下面的連結下載:

做壓力測試時,Visual Studio會記錄大量的資料並把資料儲存在資料庫中,所以在進行講解壓力測試之間,讓我們先把資料庫的準備工作做好。

·SQLServer裡面執行C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/ loadtestresultsrepository.sql

指令碼,建立測試資料庫(VS2008相應目錄下面也有此指令碼)

·配置壓力測試資料庫:Test->Manage Test Controllers,配置剛建的資料庫。如下圖:

21.JPG

MathUtility.cs檔案中新建一個函式:

public static void PowerTest()

{

Random r1 = new Random(DateTime.Now.GetHashCode());

Random r2 = new Random(DateTime.Now.AddDays(1).GetHashCode());

double d = r1.Next() * r2.Next();

Random

r3 = new Random(Convert.ToInt32(d));

string str = r3.Next().ToString();

StringBuilder buffer = new StringBuilder();

foreach (char a in str.ToCharArray())

buffer.Append(string.Format("{0}-{1}", a, a + a));

}

並建立這個函式的單元測試函式。

新建壓力測試:

1.Add->New Test:

22

2.歡迎介面

23.JPG

3.設定這個測試場景的名稱及思考時間(Think Time)和迭代思考時間

24.JPG

4.

設定壓力使用者模型。

25.JPG

5.設定壓力測試的混合模型。可以根據自己的測試場景需要來選擇合適的模型。26.JPG

6.設定壓力測試函式,這些函式都是單元測試函式,可以增加多個壓力函式且後面的人數為這個壓力函式需要壓力人數。

27.JPG

7.設定網路。壓力測試與網路好壞關係密切時,此項起作用。28.JPG

8.效能計數器。可以增加Perfmon裡面的相關計數器。關於如何增加自定義計數器,不是本文所討論的內容。我會另發一篇博文進行討論。

29.JPG

9.設定壓力時間及其他選項。

30.JPG

10.設定完成後的loadtest檔案。

31.JPG

點選上圖中的執行就可以起動本次壓力測試了。如果你是按我上面的步驟設定的話,會看到類似下面的壓力測試圖(由於機器效能不同,區域性資料會不同):

1.運行了3分鐘時的圖形

32.JPG

2.執行完成時的圖形

33.JPG

執行完成後的壓力測試報告

34.JPG

至此,我們就完成了一個完整的壓力測試。壓力測試的情景比較複雜,選項也比較多,有興趣的話,請大家一個一個的試試。我這裡就不把所有的選項含義及所用場景一一描述了。

最後介紹一下Load Test Manage.如下圖:

35.JPG

可見,我做了多個壓力測試,每次的資料都儲存在剛才設定的資料庫中了,我們可以通過這個窗體來檢視、呼叫以前的壓力測試結果及資料。

至此,壓力測試的基本用法已經講完,下面介紹Generic測試,資料庫測試,UI介面測試。

如需轉載,請註明本文原創自灰太狼的部落格:http://blog.csdn.net/tjvictor