對接口測試的一些思考

模型

我們在接口測試理論階段,可能接觸過金字塔模型:

通過之前對金字塔結構的學習,大概瞭解到了金字塔模型想告訴我們的幾個道理:

  1. 越底層,越穩定。

  金字塔主要觀點認爲單元測試的穩定性高,需要多投入。

  2. 越底層,越高效。

  程序的問題,最終還得落在具體的代碼上,所以底層的測試更容易發現問題。

  3. 越底層,越低成本。

  越底層測試能越早發現問題,越早發現問題,修復的成本自然越低。

  4. 越底層,越難實施。

  越底層的實現對技術專業性要求越高,這點跟第三點有點矛盾,往往越專業的人才也意味着人力成本越高。

  綜合下金字塔模型,其實還有一個橄欖模型(不倒翁模型),拿接口測試和UI層測試以及單元測試做了比較,最終認定接口(API)測試可以獲得較高的投資回報。

什麼是接口(API)

API全稱Application Programming Interface,這裏面我們其實不用去關注AP,只需要I上就可以。一個API就是一個Interface。我們無時不刻不在使用interfaces。我們乘坐電梯裏面的按鈕是一個interface。我們開車一個踩油門它也是一個interface。我們計算機操作系統也是有很多的接口。(這是目前個人找到比較好理解的一段解釋)
接口就是一個位於複雜系統之上並且能簡化你的任務,它就像一箇中間人讓你不需要了解詳細的所有細節。像谷歌搜索,它提供了搜索接口,簡化了你的搜索任務。再像用戶登錄頁面,我們只需要調用我們的登錄接口,我們就可以達到登錄系統的目的。

什麼是接口測試和爲什麼要做接口測試

接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。
現在很多系統前後端架構是分離的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前端太容易了), 需要後端同樣進行控制,在這種情況下就需要從接口層面進行驗證。
如今系統越來越複雜,傳統的靠前端測試已經大大降低了效率,而且現在我們都推崇測試前移,希望測試能更早的介入測試,那接口測試就是一種及早介入的方式。例如傳統測試,你是不是得等前後端都完成你才能進行測試,才能進行自動化代碼編寫。 而如果是接口測試,只需要前後端定義好接口,那這時自動化就可以介入編寫接口自動化測試代碼,手工測試只需要後端代碼完成就可以介入測試後端邏輯而不用等待前端工作完成。

結合業務的一些思考

曾經針對手機QQ小程序在做接口測試。這其實也是我對接口測試第一次真正實踐。之前雖然學了很多理論,但是真正用於實戰,也遇到了不少困難。按照自己對業務需求的理解,我認爲接口測試需要分兩個階段:冒煙階段與參數階段。

1.冒煙階段

以接口層爲界限,由開發編寫接口的底層實現,而測試人員負責編寫調用接口的程序,當聯調時,如果測試程序表現正常,說明冒煙測試階段是成功的。

2.參數階段

冒煙階段是一個概括性的測試階段,不可能完全精確,所以下一步就要進行參數級別的覆蓋,要針對每個接口進行抓包,對其中的請求參數與返回參數的類型、值、邊界範圍等進行溝通。

參考:http://www.51testing.com/html/46/n-3722746.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章