什么是接口測試,為什么做接口測試


什么是接口測試

  接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。 

  一般來說,測試接口,就是指測試接口的功能,性能和穩定性測試,當然可能還有安全性測試。這個入門系列會讓你掌握接口的功能測試。一般,來說我們聽說到的接口基本上都是指HTTP或者HTTPS協議的接口測試,也就是一些web服務請求。一個軟件項目中,

有很多接口,少的有幾十個,多的有幾百上千個接口。這個時候,我們沒有軟件界面,沒有具體的測試場景,只有一個接口描述文檔。我們需要把接口這樣抽象的東西,通過軟件測試的理論和方法去測試接口,找出接口的功能和安全性的缺陷。接口有內部接口和外部

接口。內部接口就是開發人員自己開發的接口。外部接口,好比網站調用微信支付和支付寶支付接口。還有一些模塊與模塊之間的接口。學習過Java或者用過selenium的人,應該對接口有了解。你的自動化腳本調用了很多selenium的接口。

為什么要做接口測試

  1、現在很多系統前后端架構是分離的,因為不同端(前段,后端)的工作進度不一樣,所以我們要針對最開始出來的接口,以及需要調用其他公司的(銀行,支付寶,微信,qq等)一些接口進行接口測試及驗證數據,從安全層面來說,
 
只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前端太容易了), 需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。在這種情況下就需要從接口層面進行驗證。前后端傳輸、日志打印等信息是否加密傳輸也是需
 
要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。
 
 2、如今系統越來越復雜,傳統的靠前端測試已經大大降低了效率,而且現在我們都推崇測試前移也叫 測試左移,希望測試能更早的介入測試,那接口測試就是一種及早介入的方式。例如傳統測試,你是不是得等前后端都完成你才能進行測試,才能進行自動化代碼編
 
寫。 而如果是接口測試,只需要前后端定義好接口,那這時自動化就可以介入編寫接口 自動化測試代碼,手工測試只需要后端代碼完成就可以介入測試后端邏輯而不用等待前端工作完成。
  
   測試左移這個是一次偶然的機會在群里看到的,孤陋寡聞的我,第一次看到,也是一知半解,后來查了一些資料供大家參考。
  
   測試左移的原則支持測試團隊在軟件開發周期早期和所有干系人合作。因此他們能清晰地理解需求以及設計測試用例去幫助軟件“快速失敗”,促使團隊更早的修改所有的bug。  
  
   測試左移並沒有什么獨特的,只是讓測試人員在軟件開發生命周期內更早的參與進來,同時讓他們去理解需求、軟件設計、軟件架構以及軟件功能,也讓他們去向客戶、商業分析師和開發人員問問題,尋找答案,提供反饋結果已達到支持團隊的工作得可能性。參
 
與和理解會使測試人員獲取產品完整的知識,徹底想清楚各種場景,根據軟件行為設計實時的場景,這些都會幫助團隊在編碼完成之前識別出一些缺陷。這樣也可以更好的的體現我們作為一個QA的價值體     

  簡單概括:

①.越底層發現bug,它的修復成本是越低的。

 

②.前端隨便變,接口測好了,后端不用變,前后端是兩撥人開發的。

 

③.檢查系統的安全性、穩定性,前端傳參不可信,比如京東購物,前端價格不可能傳入-1元,但是通過接口可以傳入-1元。

 

④.如今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,接口測試可以提供這種情況下的解決方案。

 

⑤. 接口測試相對容易實現自動化持續集成,且相對UI自動化也比較穩定,可以減少人工回歸測試人力成本與時間,縮短測試周期,支持后端快速發版需求。接口持續集成是為什么能低成本高收益的根源。

 

⑥.   現在很多系統前后端架構是分離的,從安全層面來說:

 

(1)、只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。

 

(2)、前后端傳輸、日志打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM