資料庫測試

2022-02-04 04:28:06 字數 2139 閱讀 5094

從測試過程的角度來說我們也可以把資料庫測試分為

系統測試

傳統軟體系統測試的測試重點是需求覆蓋,而對於我們的資料庫測試同樣也需要對需求覆蓋進行保證。那麼資料庫在初期設計中也需要對這個進行分析,測試.例如儲存過程,檢視,觸發器,約束,規則等我們都需要進行需求的驗證確保這些功能設計是符合需求的.另一方面我們需要確認資料庫設計文件和最終的資料庫相同,當設計文件變化時我們同樣要驗證改修改是否落實到資料庫上。

這個階段我們的測試主要通過資料庫設計評審來實現。

整合測試

整合測試是主要針對介面進行的測試工作,從資料庫的角度來說和普通測試稍微有些區別對於資料庫測試來說,需要考慮的是

資料項的修改操作

資料項的增加操作

資料項的刪除操作

資料表增加滿

資料表刪除空

刪除空表中的記錄

資料表的併發操作

針對儲存過程的介面測試

結合業務邏輯做關聯表的介面測試

同樣我們需要對這些介面考慮採用等價類、邊界值、錯誤猜測等方法進行測試

單元測試

單元測試側重於邏輯覆蓋,相對對於複雜的**來說,資料庫開發的單元測試相對簡單些,可以通過語句覆蓋和走讀的方式完成

系統測試相對來說比較困難,這要求有很高的資料庫設計能力和豐富的資料庫測試經驗。而整合測試和單元測試就相對簡單了。

而我們也可以從測試關注點的角度對資料庫進行分類

功能測試

對資料庫功能的測試我們可以依賴與工具進行

dbunit

一款開源的資料庫功能測試框架,可以使用類似與junit的方式對資料庫的基本操作進行白盒的單元測試,對輸入輸出進行校驗

qtp大名鼎鼎的自動測試工具,通過對物件的捕捉識別,我們可以通過qtp來模擬使用者的操作流程,通過其中的校驗方法或者結合資料庫後台的監控對整個資料庫中的資料進行測試。個人覺得比較偏向灰盒。

datafactory

一款優秀的資料庫資料自動生成工具,通過它你可以輕鬆的生成任意結構資料庫,對資料庫進行填充,幫助你生成所需要的大量資料從而驗證我們資料庫中的功能是否正確。這是屬於黑盒測試

資料庫效能

雖然我們的硬體最近幾年進步很快,但是我們需要處理的資料以更快的速度在增加。幾億條記錄的**在現在是司空見慣的,如此龐大的資料量在大量併發連線操作時,我們不能像以前一樣隨意的使用查詢,連線查詢,巢狀查詢,檢視,這些操作如果不當會給系統帶來非常巨大的壓力,嚴重影響系統效能

效能優化分4部分

1物理儲存方面

2邏輯設計方面

3資料庫的引數調整

4 sql語句優化.

我們如何對效能方面進行測試呢,業界也提供了很多任務具

通過資料庫系統的sql語句分析工具,我們可以分析得到資料庫語句執行的瓶頸,從而優化sql語句

loadrunner

這個不用多說,我們可以通過對協議的程式設計來對資料庫做壓力測試

swingbench(這是乙個重量級別的feature,類似lr,而且非常強大,只不過專門針對oracle而已)

資料庫廠商也意識到這點,例如

還有很多第三方公司開發了sql語句優化工具來幫助你自動的進行語句優化工作從而提高執行效率。

安全測試

軟體日益複雜,而資料又成為了系統中重中之重的核心,從以往對系統的破壞現在更傾向於對資料的獲取和破壞。而資料庫的安全被提到了最前端

自從sql 注入攻擊被發現,冒失萬無一失的資料庫一下從後台變為了前台,而一旦資料庫被攻破,整個系統也會暴露在黑客的手下,通過資料庫強大的儲存過程,黑客可以輕鬆的獲得整個系統的許可權。而sql的注入看似簡單缺很難防範,對於安全測試來說,如何防範系統被注入是測試的難點。

業界也有相關的資料庫注入檢測工具,來幫助使用者對自身系統進行安全檢測。

對於這點來說業界也有標準,例如iso iec 21827,也叫做sse cmm 3.0,是cmm和iso的整合的產物,專門針對系統安全領域的

另外一方面,資料庫的健壯性,容錯性和恢復能力也是我們測試的要點

我們也可以發現功能測試,效能測試,安全測試,是乙個由簡到繁的過程,也是資料庫測試人員需要逐步掌握的技能,這也是以後公司對資料庫測試人員的要求。

資料庫測試

對於資料庫部分,一般需要進行功能測試,容錯測試,效能測試,安全測試等,這個也要根據產品特性和需求決定,具體決定需要測試哪些方面,簡單說明如下,大家可以繼續補充。1.效能併發測試 例如之前updater討論會,有提到的資料庫的併發測試,結合響應時間的測試 1 與資料庫連線的服務程式採用多執行緒同時開啟...

bb資料庫測試

話單入庫後 1話單入庫後原表資料與話單資料對比,對比資料 條數 列數 2異常話單能否入庫及入庫後儲存樣式 3涉及到入庫原表的表,是否會定期刪除,刪除前,資料是否會正常轉移 4入庫表的屬性檢視 表結構定義與話單 預統計 預處理 etl等一致 表空間設定 分割槽設定 有無索引等 表結構 表空間 分割槽 ...

jmeter 資料庫測試

1.引入資料庫驅動包 2.新增資料庫配置元件 配置解析 2.2 新增資料庫請求,選中執行緒組右鍵新增 sampler jdbc request,如圖 配置解析 sql query query type sql語句型別,下拉框有8個選項,查詢語句的話就選select statement,更新語句的話就...