- 資料庫測試教程
- 資料庫測試 - 首頁
- 資料庫測試 - 概述
- 資料庫測試 - 型別
- 資料庫測試 - 流程
- 資料庫測試 - 技術
- 資料庫測試 - 場景
- 資料庫測試 - 物件
- 資料庫測試 - 資料完整性
- 資料庫測試 - 資料對映
- 資料庫測試 - 效能
- 資料庫測試 - 工具
- 資料庫測試 - 備份
- 資料庫測試 - 恢復
- 資料庫測試 - 安全性
- 資料庫測試 - 挑戰
- 資料庫測試 - 面試問題
- 資料庫測試有用資源
- 資料庫測試 - 快速指南
- 資料庫測試 - 有用資源
- 資料庫測試 - 討論
資料庫測試 - 型別
基於資料庫的功能和結構,資料庫測試可以分為三類:
結構化資料庫測試 - 它涉及表和列測試、模式測試、儲存過程和檢視測試、檢查觸發器等。
功能測試 - 它涉及從使用者角度檢查資料庫的功能。功能測試最常見的型別是白盒測試和黑盒測試。
非功能測試 - 它涉及資料庫中的負載測試、風險測試、壓力測試、最低系統要求,並處理資料庫的效能。
結構化資料庫測試
結構化資料庫測試涉及驗證資料庫中那些未公開給終端使用者的元件。它涉及儲存庫的所有元件,這些元件用於儲存資料並且不會被終端使用者更改。精通 SQL 儲存過程和其他概念的資料庫管理員通常會執行此類測試。
討論了關於結構化測試的常見測試元件:
模式/對映測試
它涉及驗證前端應用程式的物件與資料庫物件對映。
在模式測試中:
有時會發生終端使用者應用程式物件未正確對映或與資料庫物件不相容的情況。因此,需要檢查與資料庫關聯的各種模式格式的有效性。
需要查詢資料庫中未對映的物件,例如表、檢視、列等。
市場上有各種工具可用於在模式中執行物件對映。
示例 - 在 Microsoft SQL Server 中,測試人員可以編寫簡單的查詢來檢查和驗證資料庫中的模式。
如果測試人員想要更改表結構,則應確保所有包含該表的儲存過程都與此更改相容。
儲存過程和檢視測試
在此測試中,測試人員確保手動執行儲存過程和檢視會生成所需的結果。
測試人員確保:
它是否按預期啟用所需的觸發器執行。
開發團隊是否透過向過程中的應用程式傳遞輸入來涵蓋所有迴圈和條件。
資料庫中是否存在任何未使用的儲存過程。
從資料庫中的所需表中提取資料時,是否正確應用了 TRIM 操作。
根據被測應用程式的要求,驗證儲存過程模組的整體整合。
遵循異常和錯誤處理機制。
執行儲存過程測試最常用的工具是LINQ、SP Test tool等。
觸發器測試
在觸發器測試中,測試人員需要確保以下事項:
觸發器的編碼階段是否遵循編碼約定。
檢視執行的觸發器是否滿足所需條件。
觸發器在執行後是否正確更新了資料。
驗證更新/插入/刪除觸發器相對於被測應用程式的功能。
表和列測試
此測試涵蓋的關鍵領域包括:
驗證資料庫中的資料型別與前端應用程式中的欄位值。
驗證資料庫中資料欄位的長度與應用程式中資料型別的長度。
檢查資料庫中是否存在任何未從應用程式欄位物件對映的表或列。
驗證資料庫表和列的命名約定,它們是否符合業務需求。
驗證資料庫中的鍵和索引,即表中的主鍵和外部索引鍵是否按要求定義。
檢查兩個表中主鍵及其對應的外部索引鍵是否相同。
檢查是否維護了鍵的唯一和 NOT NULL 特性。
鍵和索引的長度和資料型別是否按要求維護。
資料庫伺服器檢查
資料庫伺服器檢查涉及驗證:
資料庫伺服器是否可以根據業務需求處理預期的交易數量。
資料庫伺服器的配置詳細資訊是否滿足業務需求。
使用者授權是否按要求維護。
功能測試
功能測試是在牢記終端使用者角度的情況下執行的;終端使用者執行的所需事務和操作是否滿足業務規範。
黑盒測試
黑盒測試涉及驗證資料庫的整合以檢查功能。測試用例很簡單,用於驗證函式的輸入資料和輸出資料。
各種技術,如因果圖技術、等價劃分和邊界值分析,用於測試資料庫的功能。
它的優點如下:
- 它相當簡單,並在開發的早期階段執行。
- 與白盒測試相比,開發測試用例的成本更低。
它的缺點如下:
- 無法檢測到一些錯誤
- 不知道需要測試多少程式。
白盒測試
白盒測試處理資料庫的內部結構,並且規範詳細資訊對使用者隱藏。它涉及資料庫觸發器和邏輯檢視的測試,這些觸發器和邏輯檢視將支援資料庫重構。
它執行資料庫函式、觸發器、檢視、SQL 查詢等的模組測試。這種型別的測試驗證資料庫表、資料模型、資料庫模式等。它檢查參照完整性規則。它選擇預設表值以檢查資料庫一致性。
執行白盒測試最常用的技術是條件覆蓋、決策覆蓋、語句覆蓋等。
白盒測試可以檢測編碼錯誤,因此可以消除資料庫中的內部錯誤。白盒測試的侷限性在於未涵蓋 SQL 語句。
非功能測試
非功能測試涉及執行負載測試、壓力測試、檢查滿足業務規範的最低系統要求、查詢風險和資料庫效能最佳化。
負載測試
負載測試的主要目標是檢查大多數正在執行的事務是否對資料庫的效能有影響。
在負載測試中,測試人員檢查:
- 多個遠端使用者執行事務的響應時間。
- 資料庫獲取特定記錄所需的時間。
不同測試型別中的負載測試示例:
- 重複執行最常用的事務以檢視資料庫系統的效能。
- 從網際網路下載一系列大型檔案。
- 在計算機或伺服器上同時執行多個應用程式。
壓力測試
執行壓力測試以識別系統斷點。在此測試中,應用程式以使系統在某一點失敗的方式載入。這一點稱為資料庫系統的斷點。
確定資料庫事務的狀態需要大量工作。需要進行適當的計劃以避免任何基於時間和成本的問題。
最常用的壓力測試工具是LoadRunner和WinRunner。
讓我們以壓力測試為例。CRM 應用程式可以承受最多 50000 個併發使用者的使用者負載。假設您將負載增加到 51000 並執行一些事務,例如更新記錄或新增條目。一旦執行了事務,應用程式就可以與資料庫系統同步。因此,下一個測試是在 52000 的使用者負載下執行。有時,壓力測試也稱為疲勞測試。