介面測試那些事兒

2021-10-10 13:34:40 字數 971 閱讀 1578

首先,在講介面測試之前,我們先要搞清楚介面型別的概念。

介面:可能是系統與系統(包括服務與服務)之間的呼叫,像a系統(服務)給b系統(服務)提供的服務,通過比如常見的dubbo介面來實現;也有可能是上層服務對下層服務的呼叫,比如service層會呼叫dao層的介面。目前在我司,主流的介面自動化測試涵蓋rpc和http兩個協議型別。

自動化測試指令碼互不影響的,隔離的(解耦)

自動化測試中被測功能是互不影響的

自動化測試能夠快速定位bug位置

自動化測試指令碼是易於閱讀的,能幫助我們理解產品的

自動化測試指令碼是易於編寫的,易於維護的以及易於擴充套件的

指令碼間沒有聯絡,保持原子性

資料與指令碼盡量分離,指令碼執行不影響基礎資料(還原資料)

指令碼可重複執行,不依賴執行順序

測試覆蓋率:現在市面上主流公司都會有自研的**覆蓋率統計工具,其原理基本都是基於jacoco的二次開發來實現**的行覆蓋率、方法覆蓋率、類覆蓋率統計。有了覆蓋率的資料支撐,我們對指令碼就可以進行查漏補缺,心裡也有了底。

測試回歸時間上:如果指令碼數量比較多(數千以上),那麼每次如果都是全量回歸的話時間持續比較久,那麼我們就要考慮一方面指令碼是否需要多執行緒執行(testng可以提供這樣的功能,parallel+thread-count),另一方面我們就要考慮精準回歸。(對指令碼用例進行分層執行)

介面測試因為各種問題,其實並不能100%覆蓋線上。因此,誕生了一種更加全面的測試手段,就是流量回放。

核心:基於阿里開源工具——jvm-sandbox-repeater (github 位址)

原理在這裡就不多做解釋了,可以參考:流量回放框架 jvm-sandbox-repeater 的實踐

最後說一句,最重要的,衡量指令碼回歸是否有效的指標,就是通過持續整合,在平時最終能發現多少問題,這才是介面測試持續整合的價值。

自動化測試的那些事兒

什麼是自動化?編寫軟體去測試其他軟體 編寫驅動被測試應用程式的測試指令碼以執行鍵盤 滑鼠動作和後台程序並驗證應用程式響應和行為。手工測試的侷限性 無法做到覆蓋所有 路徑 機械 重複,工作量大 許多與時序 死鎖 資源衝突 多執行緒等有關的錯誤,通過手工測試很難捕捉到 進行負載 效能測試,很難通過手工測...

鏈結那些事兒

鏈結,就是將不同部分的 和資料收集和組合成為乙個單一檔案的過程,這個檔案可被載入到儲存器中執行。鏈結可以執行於編譯時 compile time 也就是源 被翻譯成機器 時 eg.普通的鏈結器鏈結,以及靜態鏈結庫,由靜態鏈結器鏈結 也可以執行於載入時 例如動態鏈結庫的載入時鏈結 也可以執行於執行時 r...

指標那些事兒

1.野指標 也叫懸擺指標,迷失指標 野指標是導致bug的罪魁禍首之一。對指標呼叫delete後 釋放掉了它指向的記憶體,野指標還是指向原來的位址 如果沒有重新賦值就使用它,將導致難以預料的後果。因為此時操作野指標,它指向的記憶體位址可能已經分配給其他變數在使用了。所以指標在delete之後,如果不再...