如果這10道關於資料庫的測試題你都會,面試必過!

博為峰網校發表於2019-01-30

一、什麼是資料庫測試?

資料庫測試也稱為後端測試。資料庫測試分為四個不同的類別。

[if !supportLists]· [endif]資料完整性測試

[if !supportLists]· [endif]資料有效性測試

[if !supportLists]· [endif]資料庫相關的效能

[if !supportLists]· [endif]測試功能,程式和觸發器

如果這10道關於資料庫的測試題你都會,面試必過!

二、資料庫中資料的基本結構

定義一:資料元素集合(也可稱資料物件)中各元素的關係。

定義二:相互之間存在特定關係的資料元素集合。

一個表(資料庫),我們就稱它為一個資料結構,它由很多記錄(資料元素)組成,每個元素又包括很多 欄位(資料項)組成資料庫測試分類系統測試、整合測試、單元測試、功能測試、效能測試、安全測試系統測試、資料庫在初期設計中需要進行分析測試。

三、資料庫測試分類

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

系統測試

資料庫在初期設計中需要對需求覆蓋進行分析,測試..另一方面需要確認資料庫設計文件和最終的資料庫相同,當設計文件變化時我們同樣要驗證改修改是否落實到資料庫上。

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

整合測試

整合測試是主要針對介面進行的測試工作,資料庫需要考慮的是

資料項的修改操作

資料項的增加操作

資料項的刪除操作

資料表增加滿

資料表刪除空

刪除空表中的記錄

資料表的併發操作

針對儲存過程的介面測試

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

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

單元測試

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

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

功能測試

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

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2565269/,如需轉載,請註明出處,否則將追究法律責任。

相關文章