我們都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio內建的Test也可以做些簡單的壓力測試,下面我們就介紹一下如何利用Visual Studio進行壓力測試。
此文是上一篇博文:Visual Studio 單元測試之一---普通單元測試的後續篇章。如果讀者對Visual Studio的單元測試不熟悉的話,請先參看上一篇。http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx
本文會自動略去上篇中提到過的相關概念、方法。本文的例子可以使用下面的連結下載:
http://download.csdn.net/source/3014236
做壓力測試時,Visual Studio會記錄大量的資料並把資料儲存在資料庫中,所以在進行講解壓力測試之間,讓我們先把資料庫的準備工作做好。
· 在SQLServer裡面執行C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/ loadtestresultsrepository.sql指令碼,建立測試資料庫(VS2008相應目錄下面也有此指令碼)
· 配置壓力測試資料庫:Test->Manage Test Controllers,配置剛建的資料庫。如下圖:
在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:
2.歡迎介面
3.設定這個測試情境的名稱及考慮時間(Think Time)和迭代考慮時間
4.設定壓力使用者模型。
5.設定壓力測試的混合模型。可以根據自己的測試情境需要來選擇合適的模型。
6.設定壓力測試函數,這些函數都是單元測試函數,可以增加多個壓力函數且後面的人數為這個壓力函數需要壓力人數。
7.設定網路。壓力測試與網路好壞關係密切時,此項起作用。
8.效能計數器。可以增加Perfmon裡面的相關計數器。關於如何增加自訂計數器,不是本文所討論的內容。我會另發一篇博文進行討論。
9.設定壓力時間及其他選項。
10.設定完成後的loadtest檔案。
點擊上圖中的運行就可以起動本次壓力測試了。如果你是按我上面的步驟設定的話,會看到類似下面的壓力測試圖(由於機器效能不同,局部資料會不同):
1.運行了3分鐘時的圖形
2.運行完成時的圖形
運行完成後的壓力測試報告
至此,我們就完成了一個完整的壓力測試。壓力測試的情景比較複雜,選項也比較多,有興趣的話,請大家一個一個的試試。我這裡就不把所有的選項含義及所用情境一一描述了。
最後介紹一下Load Test Manage.如下圖:
可見,我做了多個壓力測試,每次的資料都儲存在剛才設定的資料庫中了,我們可以通過這個表單來查看、調用以前的壓力測試結果及資料。
至此,壓力測試的基本用法已經講完,下面介紹Generic測試,資料庫測試,UI介面測試。
如需轉載,請註明本文原創自灰太狼的部落格:http://blog.csdn.net/tjvictor