接口測試的必要性


     api自動化測試是軟件測試中最基本的一種類型。api就像建造大樓的磚塊,開發人員通過運用一定規則將“磚塊”放在一起來構造程序,本質來說,api測試是用來驗證組成軟件的那些單個方法的正確性,而不是測試整個系統本身。

    api測試又稱接口測試,接口測試是功能測試的一種,主要借助與單元測試技術,通過模擬上層應用或者系統上層調用接口的應用場景,是對系統接口功能進行測試的一種手段,在進行接口測試的過程中,測試工程師並不需要了解被測試系統的所有代碼,而主要通過分析接口定義以及模擬接口調用的業務應用場景來進行測試用例的設計,從而達到對被測試系統功能進行測試的目的。接口測試的重點是要檢查數據的交換、傳遞和控制管理的過程,以及系統間的相互邏輯依賴關系等。

     接口測試一般應用於多系統間交互開發,或者擁有多個子系統的應用系統開發的測試。接口測試適用於為其他系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的接口,驗證其正確性和穩定性。接口測試同樣適用於一個上層系統中的服務層接口,越往上層,其測試的難度越大。

  接口測試實施在多系統多平台的構架下,有着極為高效的成本收益比。接口測試天生為高復雜性的平台帶來高效的缺陷檢測和質量監督能力。平台越復雜,系統越龐大,接口測試的效果越明顯。
接口測試的目的
  接口測試是測試接口,尤其是那些與系統相關聯的外部接口。接口測試的核心戰略在於:以保證系統的正確和穩定為核心,以持續集成為手段,提高測試效率,提升用戶體驗,降低產品研發成本。
 
 ■ 核心:保證系統的穩定
   質量管理的目標是保證系統的正確和穩定,接口測試作為軟件質量管理的一部分也保證系統正確和穩定,更准確地說是保證系統服務端的正確和穩定。一個系統的服務端越接近底層,對系統的影響就越大,甚至有可能牽一發而動全身,服務端的一個缺陷可能會引起客戶端的幾個甚至十幾個缺陷,更可怕的是服務端的缺陷有可能引起系統的崩潰,這對整個系統來說,損失將是不可估量的,因此服務端接口的質量將直接影響到系統的正確和穩定。
  ■ 目的:提高測試效率,提升用戶體驗,降低產品研發成本
  接口測試要為代碼的編寫保駕護航,增強開發人員和測試人員的自信,讓隱含的 Bug提前暴露出來,讓開發人員在第一時間修復Bug,讓功能測試人員和 性能測試人員在測試的時候更加順手,最大限度得減少底層Bug的出現數量,讓產品研發的流程更加順暢,要縮短產品的研發周期,最后在產品上線以后,要讓用戶用得更加便捷,要讓用戶感覺產品服務零缺陷。
       接口測試的意義
  接口測試是單元測試的一個子集,但又不等同於單元測試。從測試的角度來看,接口測試的價值在於其測試投入比單元測試少,而且技術難度也比單元測試小。一般來說,接口測試的粒度要比單元測試更粗,它主要是基於子系統或者子模塊的接口層面的測試。因此,接口測試需要測試的接口或者函數的數量會遠遠小於單元測試,與此同時,接口定義的穩定性會遠遠高於類級別的函數。所以,接口測試用例代碼的改動量也遠遠小於單元測試,代碼維護成本會比單元測試少很多,因而測試的投入量會小很多。從另外一個層面來看,借助於接口測試,可以保證子系統或子模塊在各種應用場景下接口調用的正確性,那么子系統或子模塊的產品質量也可以得到充分的保證。因此,接口測試是一種適度的 白盒測試技術,准確說它是一種灰盒測試,投入產出是非常理想的。
  總的來說,接口測試是保證高復雜性系統質量的內在要求和低成本的經濟利益的驅動作用下的最佳解決方案。主要體現在下面的三個方面:
  首先,接口測試節省了測試成本,根據數據模型推算,底層的一個Bug能夠引發上層8個左右Bug,而且底層的Bug很容易引起全網的死機。相反接口測試能夠提供系統復雜度上升情況下的低成本高效率的解決方案。
  其次,接口測試不同於傳統開發的單元測試,接口測試是站在用戶的角度對系統接口進行全面高效持續的檢測。
  最后,接口測試是自動化並且持續集成的,這也是為什么接口測試能夠低成本高收益的根源。
  


免責聲明!

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



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