絕大多數的應用都跟數據緊密相關,比如weixin,QQ,都需要存放大量的數據信息:聯系人信息、發送的信息、朋友圈信息等等。這些信息絕大多數是存放在關系型數據庫中。
因此,軟件測試工程師對數據庫的了解,是基本的要求。具體說來,測試工程師應該具備哪些知識呢?我們從測試的各個環節來講吧。
首先,你需要了解軟件的需求。軟件的需求,涉及到數據的部分,比如字段的定義,類型,長度,特別是一致性(比如,一個用戶名,在輸入的時候用到,在打印輸出的地方也會用到,在其他聯系人的聯系信息中也會用到)。因此,在了解軟件需求的時候,我們需要一個“數據字典”,作為今后測試的基礎。
開始設計測試用例了,我們需要知道,如何獲得基礎的測試環境的預埋數據。比如,你想要測試存款功能,那么怎么獲得一個賬號呢?——從數據庫中查找。你需要了解:1)如何訪問數據庫,數據庫的配置信息;2)數據庫訪問的客戶端;3)sql語句;4)數據庫定義(就是你從那張表中查找數據);5)如何把查詢出來的數據“取”到本地。對照數據字典,和需求,你還需要知道這些字段有那些限制,比如數據庫的限制是否和需求一致;也可以查看是否軟件的界面等符合數據字典的要求(一致性)。
此外,在設計檢查點的時候——特別是數據庫檢查點,必須要了解你的檢查點數據如何從數據庫中查找出來?有時候不是一個table能夠包含的,就需要多個表、甚至過濾、處理數據來比對。
然后,測試用例經過了評審,需要執行了。你需要知道如何準備測試環境,最重要的部分是準備測試的基準數據環境。可能用戶會給你一個現有的數據庫,那么需要你做數據清洗(可能),以保證客戶信息不被泄露;現有的數據,可能存在的問題是很多邊界條件沒有數據,因此還需要“造”很多數據,這就需要你熟練使用create語句來創建數據,包括使用ER圖工具來查看數據庫結構。創建基礎的數據環境完成之后,我們就需要備份這個數據庫(打他base),你需要熟悉數據庫的備份命令——備份是為了恢復,因為我們往往不會只測試一個輪次,起碼需要回歸。因此,還需要恢復數據庫的命令語句。
假設你要做自動化測試,那你要做的是把手工測試中的準備數據、數據庫檢查點,編寫成sql的語句,俗稱embed,潛入到腳本語言中。
從以上來看,我們需要熟練的掌握數據庫的知識,包括:數據字典、ER圖,查詢語句,創建數據的語句,以及如何在腳本中使用這些語句來訪問數據庫。
-
測試工程師
+關注
關注
6文章
124瀏覽量
12431
發布評論請先 登錄
相關推薦
評論