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

來源:互聯網
上載者:User

 

      我們都知道大名鼎鼎的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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.