應該說,絕大多數的應用都跟資料緊密相關,比如weixin,需要存放大量的資料資訊:聯絡人資訊、傳送的資訊、朋友圈資訊等等。這些資訊絕大多數是存放在關係型資料庫中。
因此,測試工程師對資料庫的了解,是基本的要求。
具體說來,測試工程師應該具備哪些知識呢?我們從測試的各個環節來講吧。
首先,你需要了解軟體的需求。軟體的需求,涉及到資料的部分,比如欄位的定義,型別,長度,特別是一致性(比如,乙個使用者名稱,在輸入的時候用到,在列印輸出的地方也會用到,在其他聯絡人的聯絡資訊中也會用到)。因此,在了解軟體需求的時候,我們需要乙個「資料字典」,作為今後測試的基礎。
開始設計測試用例了,我們需要知道,如何獲得基礎的測試環境的預埋資料。比如,你想要測試存款功能,那麼怎麼獲得乙個賬號呢?——從資料庫中查詢。你需要了解:1)如何訪問資料庫,資料庫的配置資訊;2)資料庫訪問的客戶端;3)sql語句;4)資料庫定義(就是你從那張表中查詢資料);5)如何把查詢出來的資料「取」到本地。對照資料字典,和需求,你還需要知道這些欄位有那些限制,比如資料庫的限制是否和需求一致;也可以檢視是否軟體的介面等符合資料字典的要求(一致性)。
此外,在設計檢查點的時候——特別是資料庫檢查點,必須要了解你的檢查點資料如何從資料庫中查詢出來?有時候不是乙個table能夠包含的,就需要多個表、甚至過濾、處理資料來比對。
然後,測試用例經過了評審,需要執行了。你需要知道如何準備測試環境,最重要的部分是準備測試的基準資料環境。可能使用者會給你乙個現有的資料庫,那麼需要你做資料清洗(可能),以保證客戶資訊不被洩露;現有的資料,可能存在的問題是很多邊界條件沒有資料,因此還需要「造」很多資料,這就需要你熟練使用create語句來建立資料,包括使用er圖工具來檢視資料庫結構。建立基礎的資料環境完成之後,我們就需要備份這個資料庫(打他base),你需要熟悉資料庫的備份命令——備份是為了恢復,因為我們往往不會只測試乙個輪次,起碼需要回歸。因此,還需要恢復資料庫的命令語句。
假設你要做自動化測試,那你要做的是把手工測試中的準備資料、資料庫檢查點,編寫成sql的語句,俗稱embed,潛入到指令碼語言中。
從以上來看,是否做自動化測試,我們都需要熟練
的掌握資料庫的知識,包括:資料字典、er圖,查詢語句,建立資料的語句,以及如何在指令碼中使用這些語句來訪問資料庫。
測試工程師都要了解的介面測試基礎
介面是為了實現區域性資料的共享,同時又考慮到安全性的需要,提供給外部系統呼叫的乙個入口,介面用來交換資料,控制資料的輸入與輸出。介面包含 外部介面 供外部系統的呼叫,是外部系統與系統之間的互動點。內部介面 系統內部各子系統之間的互動點,供資料在系統內流動。常見web介面分類 json rpc dub...
NFC 驅動工程師需要了解的硬體知識
dh 是 device host dh nfcee 是 nfc execution environment running on the dh,nfc 在主機上的執行環境 uicc 是 universal integrated circuit card,通用積體電路卡片 支援 nfc 的 sim 卡...
測試工程師基礎知識
什麼是測試?發現軟體中隱藏的缺陷 bug 使用人工或者自動化手段來執行或者測試某個系統的過程,其目的在於檢驗它是夠滿足規定的需求或者弄清預期結果與實際結果之間的差距。測試的目的是什麼?確保產品完成了它所承諾或公布的功能 確保產品滿足效能和效率的要求 確保產品是健壯的 適應使用者環境的 測試有哪些原則...