如何做接口測試?

今天來聊聊接口測試,現在是2020年了,打開招聘網站隨便點開一個招聘帖子,幾乎都可以看到崗位JD要求寫着有接口測試經驗優先。其重要性可見一斑!

目前,凡是好一點稍具規模的公司哪怕是大廠外包也幾乎都要求會接口測試,接口測試已經成爲測試工程師的必備基礎技能。

但是,還是瞭解到不少小夥伴所在的公司不做接口測試驗證,只做web,app UI層面的校驗。甚至,有些公司測試人員數據庫都不需要校驗,只是純粹的黑盒測試,俗稱點點點。這些公司都不建議久待,短時間做個跳板還行。

接口測試本質上也是功能測試的一種,屬於後端服務器測試。但是它的影響範圍要遠廣於web,app層面。原因很簡單,因爲目前很多公司,服務架構都是多端公用一套接口。

也就是說,和用戶直接交互的UI界面,web,app,小程序,H5,它們有可能都是公用一套接口邏輯。後端如果服務器掛了,或者出bug了,這些終端可能都會出問題。所以,做接口測試就非常有必要了!

因爲一個軟件大部分的校驗邏輯都在後端,前端僅僅是用來向用戶展示數據以及輸入數據。這就可以用來解釋爲什麼公司的CTO一般都是後端程序猿出身。因爲,後端遠比前端要爲複雜,需要考慮架構設計,併發,數據庫架構存儲......

由於關注小牛公衆號的不少讀者都是轉行過來的,之前完全沒IT基礎,所以接口理解起來就是個很抽象的東西,不像前端頁面那樣直觀。先來聊聊什麼是接口?

簡單來說,比如電腦的USB接口,你插上U盤就能拷貝數據,完全不需要關注電腦內部是如何實現的,USB接口就像一個橋樑一樣將U盤和電腦連接到了一起,用來傳輸數據。

具體回到軟件上來說,接口其實就是連接前端頁面和後端的橋樑,主要就是用來傳輸數據,數據格式一般是json字符串。前端就包括web,app,H5等等,所以它們可以共用一套接口邏輯,只要定義好入參,暴露給這些終端調用就可以了。

具體到工作中來接口測試是怎麼做的呢?以小牛公司爲例,公司架構根據業務的不同劃分爲多個組,每個組都承擔相應的業務。然後,這些不同組之間是如何協作交互的呢?沒錯,就是通過接口之間互相調用!

一般做接口測試時,開發都會提供相應的接口文檔,接口文檔上面定義了這個接口的url是什麼,入參是如何定義的,返回信息是什麼.....有同學會問,沒有接口文檔怎麼辦?這時候,你可以使用抓包工具進行抓包,然後查看分析即可。

對於公司規模較大,業務比較複雜,關聯繫統比較多時。拿到一個接口我們應該首先分析這個接口的上下游是誰?發起方是誰?這些接口之間調用邏輯是什麼?把這些問題先搞明白再去具體分析這個接口的入參返參之類的。

最後纔是測試這個接口,具體接下來怎麼測試就要結合公司具體業務來講了。

說了這麼多,接口測試如何重要,那麼作爲萌新小白應該如何學習接口測試呢?重點來了!

首先,你要學習網絡協議知識,因爲大部分接口都是基於http協議的,當然還有其它的比如dubbo協議。其次,你需要學習兩款測試工具,postman用來調用接口,fiddler用來抓包定位bug,當然,你使用瀏覽器自帶的F12也是可以的。

當然,既然都到這了,送佛送到西,小牛都爲你準備好了!關注公衆號,後臺分別回覆網絡,postman,fiddler就可以免費領取相關學習資源進行學習了!

最後,再說一下,爲什麼讓大家一定要掌握好接口測試?

原因也簡單,因爲它是你後續深入進階學習自動化和性能測試的基礎。拿接口自動化來說,這是目前公司使用性價比最高的自動化,原因就在於ui自動化成本太高,經常頁面大改,可能整個框架就廢了,所以很多公司都優先做接口自動化,比較穩定,目前需求最多的。所以找工作,優先學習掌握接口自動化!

再來說說性能測試,目前做的最多的就是接口壓測了,至於併發啊,負載啊全部是基於接口的,所以你說一下,接口測試重要不!當然性能測試水比較深,遠不止這麼簡單,難點在於分析性能瓶頸,你需要對服務器以及數據庫等做監控,然後分別排查分析,配合開發,找到系統瓶頸在哪裏......

當然,這部分資源也爲大家準備好了,後臺回覆java,python,性能就可以免費領取啦!

最後總結一下,接口測試不僅僅是你找工作的必備技能,更是你以後深入學習自動化以及性能測試的基礎。除非,你想一直做點點點工程師,不然自動化測試和性能測試重要性不言而喻。當然,也不是你想點就一直能點的,非常容易就被淘汰!

所以,快快開啓你的學習之旅吧!

 

本人現在某世界500強某廠做測試開發,空閒時間做了個測試學習公衆號叫測試小牛進階,免費分享了簡歷模版,筆試題,java/python全棧自動化,性能,測開等等測試資源,掃描下方二維碼或者搜索公衆號測試小牛進階關注公衆號回覆關鍵詞即可領取

掃描下方二維碼關注公衆號

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