資料庫測試數據
① 生產資料庫、開發資料庫、測試資料庫中的數據的區分
可以這樣簡單理解:
生產資料庫:業務實際使用的資料庫
開發資料庫:供系統開發人員使用,模擬生產環境去編寫程序和檢驗程序
測試資料庫:測試人員對開發出來的系統,進行測試所使用的資料庫,數據環境需要和生產資料庫盡可能保持一致
② 介面測試 —— Jmeter讀取資料庫數據作測試參數
在介面測試中,JMeter 是一個功能強大的工具,能夠幫助我們測試和驗證 API 的性能。對於需要從資料庫讀取數據進行測試參數的情況,我們可以利用 JMeter 的 Jdbc Request 和ForEach控制器功能來實現。
首先,我們通過 Jdbc Request 添加一個資料庫查詢請求。在輸入變數前綴處,我們需要設置一個前綴,例如"mobilephone"。這樣做的目的是為了在後續的循環過程中,可以准確地引用查詢結果中的每個數據項。例如,如果查詢結果中包含手機號碼 "mobilephone_1"、"mobilephone_2"、"mobilephone_3" 等,那麼我們就需要將前綴設置為 "mobilephone"。
接下來,我們需要設置ForEach控制器的參數。在 Start index for loop 處,我們可以設置循環的起始索引,通常情況下,我們將其設置為 0。End index for loop 則需要根據實際需求來確定,例如如果我們期望從資料庫中獲取10個手機號碼進行測試,那麼就需要將此值設置為 10。
在ForEach控制器中,我們還可以定義一個輸出變數,例如 "t_phone",用於在循環過程中引用這些變數。這樣,我們就可以在後續的請求中,通過 "t_phone" 進行參數替換,實現對每個數據項的處理。
在ForEach控制器下,我們可以添加登錄請求,並進行變數引用,確保在循環過程中,每個請求都使用了正確的參數。當運行測試後,我們應當能夠看到從資料庫成功獲取了10個用戶手機號,並且每個請求都成功登錄了。
然而,如果我們希望JMeter能夠自動獲取資料庫表中的用戶數,並以此作為ForEach控制器循環結束的索引,那麼我們可以通過以下方式實現。首先,我們添加一個Jdbc請求來查詢用戶表的用戶總數,並將查詢結果設置為一個變數,例如 "count"。
接著,我們回到ForEach控制器,將End index for loop的值設置為 "count",這樣,ForEach控制器就會根據我們查詢到的用戶數進行循環,從而實現自動化的參數傳遞。
最後,執行測試後,我們應當能夠看到從資料庫中成功獲取所有用戶數據,並且每一個請求都成功進行了參數替換和登錄操作。