本文的接口隻是限于HTTP的接口,其他的接口由于沒有業務上的需求,也沒有多做研究。關于接口測試,本人嘗試過很多的方法,下面是過程中的一些想法,随感而發。
接口測試概念
1. Q:什麼是接口?
A:子子產品或者子系統間互動并互相作用的部分; WindowsAPI, 資料庫通路接口;WebService;Http Rest
2. Q:Http接口是什麼?包括哪些部分?
A:http接口就是一種基于http服務的api,是系統之間互動的一種約定,所謂的webservice其實也就是一種http接口,隻不過它是比較規範的、通用的。
主要包括Http協定,請求值,傳回值,調用方式,實作方式等
3. Q:為什麼要測試接口?
A: 移動網際網路;産品疊代加快,測試需要提速,前端界面修改頻繁
4. Q:為什麼可以提前測試接口?
A:不需要前端頁面完成,可以直接模拟一個前端請求,測試接口,驗證傳回結果,能提早發現問題;而且還可以測試一些不容易在界面産生的請求,比如壓力和性能測試等,可以提前測試接口的性能。還可以明确産品的狀态,友善管理。
5. Q: 怎麼測試接口?
A: 有很多開源的接口測試工具,比如postman,還有線上的http接口測試工具;SoapUI;開發腳本等。
6. Q:接口應該測試什麼?
A:單一接口測試:測試某個接口的功能
組合接口測試: 類似于業務流程測試
結構檢查: 驗證發送和傳回資料的結構
接口測試的必要性
1. Q: 我們需要做接口測試麼?
A: 我們屬于大型的網際網路産品,結構複雜,功能繁多,疊代快速; 那麼在有限的測試時間裡面,要完成新功能的測試以及原有功能的回歸測試将是一個很有挑戰性的工作,這還不算中間可能會出現的突發性問題。 是以,本人認為,接口測試可以做到兩點:第一,在前端界面完全做好前,測試app接口的正确性;第二,快速的回歸測試,那麼測試人員就可以把精力放在UI層面和業務層面。
2. Q:接口測試的投入産出比,即維護成本很大麼?
A: 我們一直在做web自動化測試,并且為之付出了很多的努力,但是投入産出比仍然不高,主要原因有兩個: 第一,前端頁面變化太頻繁;第二,人員不夠,需要大量投入。但是如果做接口測試,那麼工作量和維護成本就會下降至少2倍,而且由于不涉及到前端顯示,隻要接口不變,那麼維護成本也不會很高。
3. Q: 做了接口測試,web自動化怎麼辦呢?
A: 其實這兩個不沖突,還可以做到互補,雖然不是沒有交集,但是也可以設計得交集很少,并且各有針對性。Web自動化主要針對前端比較穩定的功能,既不會頻繁改動的頁面,可以做回歸測試;而接口測試則可以補充web的空缺,并且可以模拟一些前端不好模拟的測試場景。并且,接口測試的執行速度更快些。
未完待續... ...