資料庫測試 - 技術



本章介紹執行資料庫測試最常用的技術。

資料庫模式測試

如前所述,它涉及測試模式中的每個物件。

驗證資料庫和裝置

  • 驗證資料庫名稱
  • 驗證資料裝置、日誌裝置和轉儲裝置
  • 驗證是否為每個資料庫分配了足夠的空間
  • 驗證資料庫選項設定

表、列、列型別規則檢查

驗證以下專案以找出實際設定和應用設定之間的差異。

  • 資料庫中所有表的名稱

  • 每個表的列名

  • 每個表的列型別

  • NULL 值是否已檢查

  • 預設值是否繫結到正確的表列

  • 規則定義到正確的表名和訪問許可權

鍵和索引

驗證每個表中的鍵和索引 -

  • 每個表的主鍵

  • 每個表的外部鍵

  • 外部鍵列和另一個表中的列之間的資料型別索引,聚集或非聚集唯一或非唯一

儲存過程測試

它涉及檢查是否定義了儲存過程以及是否比較了輸出結果。在儲存過程測試中,將檢查以下幾點 -

  • 儲存過程名稱

  • 引數名稱、引數型別等。

  • 輸出 - 輸出是否包含許多記錄。零行受影響或僅提取了幾條記錄。

  • 儲存過程的功能是什麼,以及儲存過程不應該做什麼?

  • 傳遞示例輸入查詢以檢查儲存過程是否提取了正確的資料。

  • 儲存過程引數 - 使用邊界資料和有效資料呼叫儲存過程。使每個引數無效一次並執行過程。

  • 返回值 - 檢查儲存過程返回的值。如果失敗,必須返回非零值。

  • 錯誤訊息檢查 - 以使儲存過程失敗並至少生成一次每個錯誤訊息的方式進行更改。檢查在沒有預定義錯誤訊息時出現的任何異常情況。

觸發器測試

在觸發器測試中,測試人員必須執行以下任務 -

  • 確保觸發器名稱正確。
  • 驗證觸發器是否為特定表列生成。
  • 觸發器的更新驗證。
  • 使用有效資料更新記錄。
  • 使用無效資料更新記錄並涵蓋每個觸發器錯誤。
  • 當其他表中的行仍在引用記錄時更新記錄。
  • 確保在發生故障時回滾事務。
  • 找出觸發器不應該回滾事務的任何情況。

伺服器設定指令碼

應執行兩種型別的測試 -

  • 從頭開始設定資料庫,以及
  • 設定現有資料庫。

SQL Server 整合測試

完成元件測試後,應執行整合測試。

  • 應密集呼叫儲存過程以選擇、插入、更新和刪除不同表中的記錄,以查詢任何衝突和不相容性。

  • 模式和觸發器之間的任何衝突。

  • 儲存過程和模式之間的任何衝突。

  • 儲存過程和觸發器之間的任何衝突。

功能測試方法

功能測試可以透過根據功能將資料庫劃分為模組來執行。功能分為以下兩種型別 -

  • 型別 1 - 在型別 1 測試中,找出專案的特性。對於每個主要特性,找出負責實現該功能的模式、觸發器和儲存過程,並將它們放入功能組中。然後一起測試每個組。

  • 型別 2 - 在型別 2 測試中,後端功能組的邊界並不明顯。您可以檢查資料流並檢視可以在哪裡檢查資料。從前端開始。

以下過程發生 -

  • 當服務有請求或儲存資料時,一些儲存過程將被呼叫。

  • 這些過程將更新一些表。

  • 這些儲存過程將是測試的起點,而這些表將是檢查測試結果的地方。

壓力測試

壓力測試涉及獲取主要資料庫功能和相應儲存過程的列表。按照以下步驟進行壓力測試 -

  • 編寫測試指令碼以嘗試這些功能,並且每個功能都必須在完整週期中至少檢查一次。

  • 在特定時間段內反覆執行測試指令碼。

  • 驗證日誌檔案以檢查任何死鎖、記憶體不足故障、資料損壞等。

基準測試

如果您的資料庫沒有任何資料問題或錯誤,則可以檢查系統性能。可以透過檢查以下引數在基準測試中找到較差的系統性能 -

  • 系統級效能
  • 識別最有可能使用的功能/特性
  • 時間 - 執行功能的最大時間、最小時間和平均時間
  • 訪問量

透過前端測試資料庫

有時也可以透過執行前端測試來查詢後端錯誤。您可以按照以下簡單步驟透過前端測試來檢測錯誤。

  • 從前端編寫查詢併發出搜尋。

  • 選擇現有記錄,更改某些欄位中的值,然後儲存記錄。(它涉及 UPDATE 語句或更新儲存過程和更新觸發器。)

  • 在前端視窗中插入一個新的選單項。填寫資訊並儲存記錄。(它涉及 INSERT 語句或插入儲存過程和刪除觸發器。)

  • 選擇現有記錄,單擊“刪除”或“移除”按鈕,然後確認刪除。(它涉及 DELETE 語句或刪除儲存過程和刪除觸發器。)

  • 使用無效資料重複這些測試用例,並檢視資料庫的響應。

廣告

© . All rights reserved.