您好,登錄后才能下訂單哦!
一、什么是數據庫測試?
數據庫測試也稱為后端測試。數據庫測試分為四個不同的類別。
[if !supportLists]· [endif]數據完整性測試
[if !supportLists]· [endif]數據有效性測試
[if !supportLists]· [endif]數據庫相關的性能
[if !supportLists]· [endif]測試功能,程序和觸發器
二、數據庫中數據的基本結構
定義一:數據元素集合(也可稱數據對象)中各元素的關系。
定義二:相互之間存在特定關系的數據元素集合。
一個表(數據庫),我們就稱它為一個數據結構,它由很多記錄(數據元素)組成,每個元素又包括很多 字段(數據項)組成數據庫測試分類系統測試、集成測試、單元測試、功能測試、性能測試、安全測試系統測試、數據庫在初期設計中需要進行分析測試。
三、數據庫測試分類
從測試過程的角度來說我們也可以把數據庫測試分為
系統測試
數據庫在初期設計中需要對需求覆蓋進行分析,測試..另一方面需要確認數據庫設計文檔和最終的數據庫相同,當設計文檔變化時我們同樣要驗證改修改是否落實到數據庫上。
這個階段我們的測試主要通過數據庫設計評審來實現。
集成測試
集成測試是主要針對接口進行的測試工作,數據庫需要考慮的是
數據項的修改操作
數據項的增加操作
數據項的刪除操作
數據表增加滿
數據表刪除空
刪除空表中的記錄
數據表的并發操作
針對存儲過程的接口測試
結合業務邏輯做關聯表的接口測試
同樣我們需要對這些接口考慮采用等價類、邊界值、錯誤猜測等方法進行測試
單元測試
單元測試側重于邏輯覆蓋,數據庫開發的單元測試相對簡單些,可以通過語句覆蓋和走讀的方式完成。
而我們也可以從測試關注點的角度對數據庫進行分類
功能測試
對數據庫功能的測試我們可以依賴與工具進行
DBunit
一款開源的數據庫功能測試框架,可以對數據庫的基本操作進行白盒的單元測試,對輸入輸出進行校驗
QTP
通過對對象的捕捉識別,我們可以通過QTP來模擬用戶的操作流程,通過其中的校驗方法或者結合數據庫后臺的監控對整個數據庫中的數據進行測試。比較偏向灰盒。
DataFactory
一款優秀的數據庫數據自動生成工具,通過它你可以輕松的生成任意結構數據庫,對數據庫進行填充,幫助你生成所需要的大量數據從而驗證我們數據庫中的功能是否正確。屬于黑盒測試。
數據庫性能
性能優化分4部分
1.物理存儲方面
2.邏輯設計方面
3.數據庫的參數調整
4.SQL語句優化.
數據庫性能測試工具:
Loadrunner
可以通過對協議的編程來對數據庫做壓力測試
Swingbench(這是一個重量級別的feature,類似LR,而且非常強大,只不過專門針對oracle而已)
安全測試
自從SQL 注入攻擊被發現,冒失萬無一失的數據庫一下從后臺變為了前臺,而一旦數據庫被攻破,整個系統也會暴露在黑客的手下,通過數據庫強大的存儲過程,黑客可以輕松的獲得整個系統的權限。而SQL的注入看似簡單缺很難防范,對于安全測試來說,如何防范系統被注入是測試的難點。
四、在數據庫測試中,我們需要正常檢查什么?
通常,我們在DB Testing中檢查的內容是:
[if !supportLists]· [endif]約束檢查
[if !supportLists]· [endif]驗證字段大小
[if !supportLists]· [endif]存儲過程
[if !supportLists]· [endif]將應用程序字段大小與數據庫匹配
[if !supportLists]· [endif]基于績效的問題的索引
五、解釋什么是數據驅動測試?
在數據表中,為了測試多個數據,使用數據驅動的測試。通過使用它,它可以很容易地從不同位置同時替換參數。
六、什么是連接并提及不同類型的連接?
Join用于顯示兩個或兩個以上的表,連接類型為:
[if !supportLists]· [endif]自然加入
[if !supportLists]· [endif]內部聯接
[if !supportLists]· [endif]外加入
[if !supportLists]· [endif]交叉加入
外部聯接又分為兩部分:
[if !supportLists]· [endif]左外連接
[if !supportLists]· [endif]右外連接
七、什么是索引并提及不同類型的索引?
索引是數據庫對象,它們是在列上創建的。為了快速獲取數據,經常訪問它們。不同類型的索引是:
[if !supportLists]· [endif]B樹索引
[if !supportLists]· [endif]位圖索引
[if !supportLists]· [endif]聚集索引
[if !supportLists]· [endif]覆蓋指數
[if !supportLists]· [endif]非唯一索引
[if !supportLists]· [endif]獨特的指數
八、在數據庫測試中,測試數據加載的步驟是什么?
以下步驟需要遵循測試數據加載
[if !supportLists]· [endif]應該知道源數據
[if !supportLists]· [endif]目標數據應該是已知的
[if !supportLists]· [endif]應檢查源和目標的兼容性
[if !supportLists]· [endif]在SQLEnterprise管理器中,打開相應的DTS包后運行DTS包
[if !supportLists]· [endif]您必須比較目標和數據源的列
[if !supportLists]· [endif]應檢查目標和源的行數
[if !supportLists]· [endif]更新源中的數據后,檢查更改是否顯示在目標中。
[if !supportLists]· [endif]檢查NULL和垃圾字符
九、為數據庫測試編寫測試用例的方法是什么?
編寫測試用例就像功能測試一樣。首先,您必須了解應用程序的功能要求。然后你必須決定編寫測試用例的參數
[if !supportLists]· [endif]目標:寫出您想要測試的目標
[if !supportLists]· [endif]輸入法:編寫要執行的操作方法或輸入
[if !supportLists]· [endif]預期:它應該如何出現在數據庫中
十、要管理和操作測試表,您在數據庫測試中使用了哪些SQL語句?
SELECT,INSERT,UPDATE,DELETE等語句用于操作表,而ALTER TABLE,CREATE TABLE和DELETE TABLE用于管理表。
總結:
數據庫的健壯性,容錯性和恢復能力也是我們測試的要點,我們也可以發現功能測試,性能測試,安全測試,是一個由簡到繁的過程,也是數據庫測試人員需要逐步掌握的技能,這也是以后公司對數據庫測試人員的基本要求。
歡迎加入 51軟件測試大家庭,在這里你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟件測試技術干貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。