一、什么是接口绍傲?
接口分兩種:
1扔傅、系統(tǒng)對外的接口:為了保護(hù)本系統(tǒng)的信息和數(shù)據(jù)的安全,要對外提供數(shù)據(jù)時(shí)烫饼,必須通過接口的形式來實(shí)現(xiàn)猎塞,別人找你的系統(tǒng)獲取數(shù)據(jù),肯定不能允許它直接讀寫我們的數(shù)據(jù)庫杠纵,只能是通過它引用我們的接口荠耽,用我們寫好的方法,獲取到我們提供的數(shù)據(jù)(我們不想提供的絕對不能獲取到)比藻,這樣才能做到安全可靠铝量,獨(dú)立自主
2、程序內(nèi)部的接口:程序方法與方法之間银亲,模塊與模塊之間的交互慢叨,程序內(nèi)部拋出的接口,比如OA系統(tǒng)务蝠,有登錄模塊拍谐、發(fā)起流程模塊等等,那你要發(fā)起流程前提是要先登錄馏段,那么這兩個(gè)模塊就得有交互轩拨,它就會(huì)拋出一個(gè)接口,供內(nèi)部系統(tǒng)模塊之間互相進(jìn)行調(diào)用院喜。
二气嫁、常見的接口:
1、WebServices接口:是通過soap協(xié)議通過http傳輸?shù)墓蛔埱蠛头祷氐谋囟际莤ml格式的,我們在測試的時(shí)候都通過工具來調(diào)用崖面,測試元咙,我用過的SoapUI專測這類接口報(bào)文,非常好用
2巫员、HTTP API接口:通過http協(xié)議庶香,通過路徑來區(qū)分調(diào)用方法,請求和保溫都是key-value形式的简识,是json格式赶掖,有g(shù)et和post感猛、put、delete等方法奢赂,這類接口可以用postman等工具測試陪白,都比較方便
三、什么是接口測試膳灶?
接口測試是測試系統(tǒng)組件間接口的一種測試咱士。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)。測試的重點(diǎn)是要檢查數(shù)據(jù)的交換轧钓,傳遞和控制管理過程序厉,以及系統(tǒng)間的相互邏輯依賴關(guān)系等。所謂接口測試就是通過測試不同情況下的入?yún)⑴c之相應(yīng)的出參信息來判斷接口是否符合或滿足相應(yīng)的功能性毕箍、安全性要求弛房。接口測試沒有頁面,它是通過接口規(guī)范文檔上的調(diào)用地址而柑、請求參數(shù)文捶,拼接報(bào)文,然后發(fā)送請求牺堰,檢查返回結(jié)果拄轻,所以它只需測入?yún)⒑统鰠ⅰ?/p>
四、什么是接口文檔伟葫?
接口文檔是接口測試的依據(jù)恨搓,只有研發(fā)團(tuán)隊(duì)提供了接口文檔,你才能順利的開展接口測試筏养,否則接口斧抱,參數(shù),地址渐溶,返回值等全部不清楚的情況下辉浦,是無法做接口測試的,所以接口文檔就是接口測試的需求文檔
1茎辐、接口說明
2宪郊、調(diào)用的url地址
3、請求方法(get or post)
4拖陆、請求參數(shù)弛槐,參數(shù)的類型,參數(shù)的意義說明
5依啰、返回的參數(shù)乎串,反饋參數(shù)的意義說明
五、為什么要做接口測試速警?
1叹誉、可以發(fā)現(xiàn)很多在頁面上操作發(fā)現(xiàn)不了的bug
2鸯两、檢查系統(tǒng)的異常處理能力
3、檢查系統(tǒng)的安全性长豁、穩(wěn)定性
4钧唐、前端隨便變,接口測好了蕉斜,后端不用變
前端和后端都需要校驗(yàn)的內(nèi)容逾柿,如果前端校驗(yàn)了,那么在功能測試時(shí)可以發(fā)現(xiàn)宅此,但是后端是否校驗(yàn)机错,此時(shí)功能測試是不能發(fā)現(xiàn)的,只能通過接口測試的方式來驗(yàn)證父腕,這樣可以保證壞人不會(huì)繞過前端校驗(yàn)直接進(jìn)入后端操作弱匪,提升系統(tǒng)的安全性,所以接口測試還是相當(dāng)有必要的璧亮!
六萧诫、接口測試的主流工具
1、Postman
2枝嘶、SoapUI
3帘饶、Jmeter(這不是性能測試工具嗎?)
4群扶、LoadRunner(這不也是性能測試工具嗎及刻?)
5、RESTClient等
七竞阐、HTTP請求及狀態(tài)碼
說到接口缴饭,不得不先說一下請求,有了接口骆莹,只有對接口請求時(shí)颗搂,才能發(fā)現(xiàn)其是否生效,有效幕垦,安全可靠丢氢,接口就是用來請求的!那么請求有以下幾種:GET先改、POST卖丸、PUT、Delete等等盏道,主要還使用前兩個(gè)。
GET和POST請求:如果是get請求的話载碌,直接在瀏覽器里輸入就行了猜嘱,只要在瀏覽器里面直接能請求到的衅枫,都是get請求,如果是post的請求的話朗伶,就不行了弦撩,就得借助工具來發(fā)送。
GET請求和POST請求的區(qū)別:
1论皆、GET使用URL或Cookie傳參益楼。而POST將數(shù)據(jù)放在BODY中。
2点晴、GET的URL會(huì)有長度上的限制感凤,則POST的數(shù)據(jù)則可以非常大。
3粒督、POST比GET安全陪竿,因?yàn)閿?shù)據(jù)在地址欄上不可見。
4屠橄、一般get請求用來獲取數(shù)據(jù)族跛,post請求用來發(fā)送數(shù)據(jù)。
有了請求锐墙,就有響應(yīng)礁哄,說到響應(yīng)讽坏,就要明確http的狀態(tài)碼恶耽,狀態(tài)碼就是來說明響應(yīng)結(jié)果的意義的雇寇,每發(fā)出一個(gè)http請求之后屑那,都會(huì)有一個(gè)響應(yīng)庆锦,http本身會(huì)有一個(gè)狀態(tài)碼躬柬,來標(biāo)示這個(gè)請求是否成功原杂,常見的狀態(tài)碼有以下幾種:
1链蕊、200 ?2開頭的都表示這個(gè)請求發(fā)送成功敦锌,最常見的就是200馒疹,就代表這個(gè)請求是ok的,服務(wù)器也返回了乙墙。
2颖变、300 ?3開頭的代表重定向,最常見的是302听想,把這個(gè)請求重定向到別的地方了腥刹,
3、400 ?400代表客戶端發(fā)送的請求有語法錯(cuò)誤汉买,401代表訪問的頁面沒有授權(quán)衔峰,403表示沒有權(quán)限訪問這個(gè)頁面,404代表沒有這個(gè)頁面
4、500 5開頭的代表服務(wù)器有異常垫卤,500代表服務(wù)器內(nèi)部異常威彰,504代表服務(wù)器端超時(shí),沒返回結(jié)果
八穴肘、接口測試用例設(shè)計(jì)原則
1歇盼、通過性驗(yàn)證用例:按照正常的參數(shù)測試接口是否正常可用评抚,返回值是否正常等豹缀,單個(gè)參數(shù)逐一驗(yàn)證
2、通過性驗(yàn)證用例:按照正常的參數(shù)測試接口是否正晨可用邢笙,返回值是否正常等,多個(gè)參數(shù)組合驗(yàn)證
3鱼响、接口安全用例:繞過驗(yàn)證鸣剪,修改服務(wù)端數(shù)據(jù),是否成功丈积,比如修改商品價(jià)格等操作的用例
4筐骇、接口安全用例:繞過授權(quán),比如買家修改賣家才有權(quán)限修改的信息
5江滨、接口安全用例:參數(shù)是否加密铛纬,不加密傳輸,加密傳輸唬滑,是否成功
6告唆、接口安全用例:密碼的復(fù)雜度驗(yàn)證,通過不同的密碼組合晶密,來驗(yàn)證后端對密碼的判斷是否全面
7擒悬、失敗型驗(yàn)證用例:不按要求傳參數(shù),參數(shù)不完整稻艰,長度不正確懂牧,必傳不傳等等
以上就是接口測試的基本知識,下一篇將開始介紹接口測試工具的實(shí)戰(zhàn)用法
作者碼字辛苦尊勿,凡是讀后有益者僧凤,請麻煩給個(gè)評價(jià),點(diǎn)個(gè)喜歡元扔,如果喜歡我的文章躯保,請長期關(guān)注。2018年澎语,長期更新途事。
有興趣溝通交流的可以加QQ群:222728298 ? ?