壓力測試 Visual Studio MS SQL

以動態資料進行壓力測試_以Visual Studio及MS SQL為例

韓世謙 2019/12/27 19:27:35
155

在進行壓力測試前的準備工具有兩項: Visual Studio EnterpriseMS SQLVisual Studio必須為企業版才有壓力測試的專案選項。

如何建立壓力測試的專案,不是這篇文章的重點,可以參考本文附上的參考連結。

本文有兩個重點:
1.
壓力測試所需的資料應該放在哪裡。
2. 如何在壓力測試專案中使用這些測試資料。

 

1.      建立大量的測試資料

假設今天要測試一個建立帳戶的API,此APIRequest參數為JSON格式,如下:
{
"MemberId": "1091212000001",
"Name": "KO",
"PhoneNo": "0977555222",
"Email": "1091212000001@gmail.com",
"ID":"A223456789"
}

我預備進行兩小時的建立帳戶壓力測試,我預估我必須使用到50萬組帳號資料,因此我必須有MemberId=1091212000001~1091212500000的測試資料。
如何建立這些不重複的測試資料屬於開發人員的基本功了,也不在多加描述。
這些資料我以MS SQL的資料表為儲存體,將50萬筆資料寫入TestCreateAccount資料表中,如下: 將資料寫入TestCreateAccount.Data欄位中

 

2.      在壓力測試專案中使用第一個步驟所產生的測試資料

2.1 先建立一個Web Performance Test

 

2.2 接著在CreateAccount按右鍵,選擇 Add Data Source

 

2.3 選擇Database,下一步。

2.4 依據自己的環境,建立資料庫連線

2.5 選擇資料來源 TestCreateAccount,完成

2.6 資料來源已經設定完成了,接下來的步驟就是綁定DB的測試資料到要測試的API上面了

2.7 String Body中的值,就是API Request的內容,必須將DB的資料綁定到String Body欄位中。作法很簡單: 點選紅框的會出現輸入資料的畫面。在畫面中輸入 {{DataSource1.TestCreateAccount.Data}} 就綁定完成了。

 

在測試資料及資料的綁定都完成之後,就可以立刻進行測試了。不過這邊有個小提示,當測試數據越龐大時,在測試按鈕按下去時會等待較久的時間,因為進行測試前,會先將測試資料取出來先放在記憶體中,所以等待的時間就是從資料庫讀取資料的時間。否則如果是在測試當下才一筆一筆的從DB讀資料,測試的結果就不可能準確了。

 

參考資料:

Visual Studio Web效能測試(壓力測試工具) 簡易流程

 

 

韓世謙