使用單一資料集(如 "user1")進行測試是一個好的開始,但這並不能證明您的 API 是穩健的。如果使用者名稱有空格會發生什麼?如果是 100 個字元長呢?如果電子郵件無效呢?資料驅動測試 (Data-Driven Testing, DDT) 允許您多次運行 同一個 測試場景,每次迭代使用來自外部檔案(CSV 或 JSON)的不同資料集。什麼是資料驅動測試?#
您不再使用硬編碼的值如 "username": "testuser",而是使用變數如 "username": "{{username}}"。然後,您將一張資料表輸入到測試執行器中。
步驟 1:準備您的資料#
Apidog 支援 CSV 和 JSON 格式。CSV 通常最容易在 Excel 或 Google Sheets 中管理。範例 CSV (users.csv)#
username,email,password,expected_status
valid_user,valid@email.com,Pass123!,201
short_pass,valid2@email.com,123,400
bad_email,notanapemail,Pass123!,400
long_user,user_with_very_long_name_check_limits@email.com,Pass123!,201
注意:標頭(username, email)將自動成為 Apidog 中的變數名稱。
步驟 2:配置測試場景#
2.
在您的 API 請求 (POST /users) 中,將硬編碼的值替換為變數:{
"username": "{{username}}",
"email": "{{email}}",
"password": "{{password}}"
}
3.
更新斷言:由於預期結果會改變(有些通過,有些失敗),請讓您的斷言也是動態的!Assertion: Response.status.code Equals {{expected_status}}
步驟 3:匯入資料並運行#
3.
點擊 Import 並選擇您的 users.csv 檔案。
4.
預覽:Apidog 將向您展示已載入資料行的預覽。
步驟 4:分析結果#
Apidog 將為 CSV 檔案中的 每一行 執行一次場景。在我們的範例中,迭代 1 使用 valid_user 並期望 201,這應該通過。迭代 2 使用 short_pass,這是無效的。由於我們配置了預期狀態為 400,測試通過,因為 API 正確拒絕了壞資料。報告按迭代對這些進行分組,允許您確切地看到哪一行資料導致了失敗。
最佳實踐#
1.
包含預期結果:如範例所示 (expected_status),將您的成功標準放入資料檔案中。這允許一個測試腳本同時處理正面和負面測試。
2.
保持資料小巧:不要上傳 1GB 的 CSV。堅持關鍵的代表性案例。
3.
隨機 vs 順序:Apidog 通常按順序處理行(第 1 行,然後第 2 行)。這是確定性的,也是建議的做法。
關鍵重點#
下一步#
我們已經涵蓋了功能測試、整合邏輯和資料覆蓋。但是您的 API 能擴充嗎?它能同時處理 1,000 個使用者嗎?在下一章中,我們將深入探討使用 Apidog 進行 效能測試。 Modified at 2025-12-29 09:35:19