溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如果這10道關(guān)于數(shù)據(jù)庫的測試題你都會(huì),面試必過!

發(fā)布時(shí)間:2020-08-07 15:48:23 來源:ITPUB博客 閱讀:169 作者:博為峰網(wǎng)校 欄目:網(wǎng)絡(luò)管理

一、什么是數(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ā)器

如果這10道關(guān)于數(shù)據(jù)庫的測試題你都會(huì),面試必過!

二、數(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


向AI問一下細(xì)節(jié)

免責(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)容。

AI