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