1、什么是接口測試?
定義:測試系統(tǒng)組件間接口的一種測試。主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn),重點(diǎn)是檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等;
目的:測試接口的正確性和穩(wěn)定性;
原理:模擬客戶端向服務(wù)器發(fā)送請求報(bào)文,服務(wù)器接收請求報(bào)文后對相應(yīng)的報(bào)文做處理并向客戶端返回應(yīng)答,客戶端接收應(yīng)答的過程;
重點(diǎn):檢查數(shù)據(jù)的交換,傳遞和控制管理過程,還包括處理的次數(shù);
核心:持續(xù)集成是接口測試的核心;
優(yōu)點(diǎn):為高復(fù)雜性的平臺帶來高效的缺陷監(jiān)測和質(zhì)量監(jiān)督能力,平臺越復(fù)雜,系統(tǒng)越龐大,接口測試的效果越明顯(提高測試效率,提升用戶體驗(yàn),降低研發(fā)成本);
用例設(shè)計(jì)重點(diǎn):通常情況下主要測試最外層的兩類接口:數(shù)據(jù)進(jìn)入系統(tǒng)接口(調(diào)用外部系統(tǒng)的參數(shù)為本系統(tǒng)使用)和數(shù)據(jù)流出系統(tǒng)接口(驗(yàn)證系統(tǒng)處理后的數(shù)據(jù)是否正常);
PS:設(shè)計(jì)用例時(shí)還需要注意外部接口提供給使用這些接口的外部用戶什么功能,外部用戶真正需要什么功能;
2、接口測試需要會什么?
?、倭私庀到y(tǒng)及內(nèi)部各個(gè)組件之間的業(yè)務(wù)邏輯交互;
?、诹私饨涌诘腎/O(input/output:輸入輸出);
?、哿私鈪f(xié)議的基本內(nèi)容,包括:通信原理、三次握手、常用的協(xié)議類型、報(bào)文構(gòu)成、數(shù)據(jù)傳輸方式、常見的狀態(tài)碼、URL構(gòu)成等;
④常用的接口測試工具,比如:jmeter、loadrunner、postman、soapUI等;
?、輸?shù)據(jù)庫基礎(chǔ)操作命令(檢查數(shù)據(jù)入庫、提取測試數(shù)據(jù)等);
?、蕹R姷淖址愋停热纾篶har、varchar、text、int、float、datatime、string等;
3、如何學(xué)這些技能?
①系統(tǒng)間業(yè)務(wù)交互邏輯:通過需求文檔、流程圖、思維導(dǎo)圖、溝通等很多渠道和方式;
②接口測試工具:百度這些工具,然后你會發(fā)現(xiàn),好多的教學(xué)博客、相關(guān)問題解決方案、以及一些基于工具的書籍.
4、如何獲取接口相關(guān)信息?
接口文檔八要素:
封面:封面最好是本公司規(guī)定的封面,有l(wèi)ogo,內(nèi)容標(biāo)題,版本號,公司名稱,文檔產(chǎn)生日期;
修訂歷史:表格形式較好些,包括:版本、修訂說明、修訂日期、修訂人、審核時(shí)間審核人等;
接口信息:接口調(diào)用方式,常用的GET/POST方式,接口地址;
功能描述:簡潔清晰的描述接口功能,比如:接口獲取的信息不包括哪些;
接口參數(shù)說明:每個(gè)參數(shù)都要和實(shí)際中調(diào)用的一樣,包括大小寫;參數(shù)的含義言簡意賅的說明,格式,是string 還是int 還是long等格式;
說明部分,說明參數(shù)值是需要哪里提供,并詳細(xì)說明參數(shù)怎么生成的,例如時(shí)間戳,是哪個(gè)時(shí)間段的,參數(shù)是否必填,一些參數(shù)是必須要有的,有些是可選參數(shù)等;
返回值說明:
?、僮詈糜幸粋€(gè)模板返回值,并說明每個(gè)返回參數(shù)的意義;
?、谔峁┮粋€(gè)真實(shí)的調(diào)用接口,真實(shí)的返回值;
文檔維護(hù):文檔在維護(hù)的時(shí)候,如有修改一定要寫上修改日期,修改人,對大的修改要有版本號變更;
5、自動化接口測試
前面說過,接口測試的核心就是持續(xù)集成,而自動化測試,可以提升工作效率,降低成本,接口測試的自動化,就顯得很有必要。
至于接口自動化的框架,可以說有很多種,根據(jù)使用的工具不同、個(gè)人擅長的編程語言、工作環(huán)境需要等情況,靈活性較大。
專注數(shù)字化方案建設(shè),推動智慧企業(yè)生態(tài)圈的升級發(fā)展