如果這10道關於資料庫的測試題你都會,面試必過!
一、什麼是資料庫測試?
資料庫測試也稱為後端測試。資料庫測試分為四個不同的類別。
[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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2565269/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 速看!這8道嵌入式面試題你都會嗎?面試題
- 面試現場:這些常問的面試題你都會了嗎面試題
- 3道常見的vue面試題,你都會了嗎?Vue面試題
- 邦芒面試:這10個問題都答不上來,你還想透過面試?面試
- 關於大資料測試,你一定要試試python的fake庫大資料Python
- (四) BAT面試的20道高頻資料庫面試題BAT資料庫面試題
- 【面試篇】金九銀十面試季,這些面試題你都會了嗎?面試題
- 資料庫面試簡答、30道高頻面試題資料庫面試題
- 20道你必須要背會的微服務面試題,面試一定會被問到微服務面試題
- 你會這道阿里多執行緒面試題嗎?阿里執行緒面試題
- 10道機器學習、深度學習必會面試題機器學習深度學習面試題
- 軟體測試工程師必會的面試題目工程師面試題
- 10道Python基礎面試題附答案,你都掌握了嗎?Python面試題
- 最新阿里Java面試題,這些面試題你會嗎?阿里Java面試題
- 面試現場!月薪3w+的這些資料探勘SQL面試題你都掌握了嗎?SQL面試題
- 這是今年前端最常見的面試題,你都會了嗎?前端面試題
- 關於Tomcat的13道面試題,你能答對幾個?Tomcat面試題
- 面試一線網際網路大廠?那這道題目你必須得會!面試
- 關於PHP字串的一道面試題PHP字串面試題
- 這幾道Java集合框架面試題在面試中幾乎必問Java框架面試題
- 10道不得不會的JavaEE面試題Java面試題
- 騰訊這套SpringMvc面試題你懂多少(面試必備)SpringMVC面試題
- 這10道springboot常見面試題你需要了解下Spring Boot面試題
- 幾道特別難搞的資料庫面試題資料庫面試題
- 關於資料庫壓力測試的故事資料庫
- 24個必須掌握的資料庫面試問題~資料庫面試
- web前端工程師面試題10條必會筆試題Web前端工程師面試題筆試
- 關於Python爬蟲面試50道題Python爬蟲面試
- 面試前必須要知道的21道Redis面試題Redis面試題
- 這些 SpringBoot 面試題你會嗎?Spring Boot面試題
- 一道神奇的Python面試題,你會嗎?Python面試題
- 關聯式資料庫SQL面試排名前100道問答題資料庫SQL面試
- 資料庫面試題資料庫面試題
- 分享10道Docker容器相關面試題!!!Docker面試題
- Linux運維必會的100道MySql面試題之(三)Linux運維MySql面試題
- 金三銀四跳槽季,這些面試題你都會了嗎?面試題
- 2019年Spring Boot面試都問了什麼?快看看這22道面試題!Spring Boot面試題
- 面試官帶你學Android——面試中Handler 這些必備知識點你都知道嗎?面試Android