常見(jiàn)的接口測(cè)試
1 接口
[if !supportLists]1.?[endif]API接口
定義:接口就是API(application programming interface粥血,應(yīng)用程序接口),是一個(gè)軟件或服務(wù)對(duì)外提供的接口趾娃,別人只要調(diào)用這接口缔御,而內(nèi)部如何實(shí)現(xiàn),不需要關(guān)心笤成。 你只要按照要求進(jìn)行接口調(diào)用即可。 內(nèi)部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各子系統(tǒng)之間的交互點(diǎn)炕泳。包括外部接口上祈,內(nèi)部接口。
[if !supportLists]2.?[endif]GUI
GUI是Graphic User Interface,是圖形用戶接口茁裙,主要提供可視化界面方面的接口
圖形用戶界面(Graphic User Interface,簡(jiǎn)稱GUI 又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面
2 接口的表現(xiàn)形式
1采用的協(xié)議(http:):一般來(lái)講網(wǎng)址中第一個(gè)“:”前面的就是該網(wǎng)址所采用的協(xié)議掉蔬。這里的HTTP就是個(gè)協(xié)議 。HTTPS是HTTP的安全版本女轿,HTTPS在HTTP的基礎(chǔ)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行了加密和簽名,以保證數(shù)據(jù)傳輸?shù)陌踩愿倒选N覀兤匠4蜷_(kāi)兩頁(yè)的時(shí)候會(huì)看到網(wǎng)址前面都有一個(gè)HTTP或HTTPS,這就是告訴你荐操,你在向服務(wù)器發(fā)送此請(qǐng)求的過(guò)程中要遵循的協(xié)議是HTTP或HTTPS (也就是規(guī)則)珍策。
2服務(wù)器地址(//www.qubaobei.com)):以雙斜杠“//”開(kāi)頭,后面跟的就是這個(gè)服務(wù)器的地址屯耸,專業(yè)術(shù)語(yǔ)叫域名
3 請(qǐng)求資源路徑(/ios/cf/dish_list.php) :表示你要請(qǐng)求的資源在該服務(wù)器下/ios/cf/dish_list.php的路徑下
4 參數(shù)(?stage_id=1&limit=20&page=1):參數(shù)可以找到具體內(nèi)容蹭劈,和路徑之間使用“?”隔開(kāi),參數(shù)之間使用“&”隔開(kāi)链方。參數(shù)是以鍵值對(duì)的形式表現(xiàn)出來(lái)的。
2接口傳遞數(shù)據(jù)的方式
get方法 get方式是從服務(wù)器上獲取數(shù)據(jù)工窍;在做數(shù)據(jù)查詢時(shí)前酿,建議用Get方式;如:公共服務(wù)部五大服務(wù)接口罢维、查詢接 口,搜索接口匀借、博客訪客系統(tǒng)接口等
Post方法 Post方式是向服務(wù)器傳送數(shù)據(jù) 平窘;在做數(shù)據(jù)添加、修改或刪除時(shí)瑰艘,建議用Post方式 肤舞;如:微博圖片上傳圖片 接口李剖、Picself API接口等
Put方法 put這個(gè)方法比較少見(jiàn)。HTML表單也不支持這個(gè)篙顺。本質(zhì)上來(lái)講紫皇, PUT和POST極為相似,都是向服務(wù)器發(fā)送數(shù) 據(jù)聪铺,但它們之間有一個(gè)重要區(qū)別,PUT通常指定了資源的存放位置撒桨,而POST則沒(méi)有键兜,POST的數(shù)據(jù)存放位置由 服務(wù)器自己決定
Delect方法 刪除某一個(gè)資源∑掌基本上這個(gè)也很少見(jiàn)
接口傳遞數(shù)據(jù)的差異性
Get后退按鈕/刷新按鈕無(wú)害,post數(shù)據(jù)會(huì)被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會(huì)被重新提交)
GET書簽可收藏夷磕,POST為書簽不可收藏仔沿。
GET能被緩存,POST不能緩存
GET歷史參數(shù)保留在瀏覽器歷史中绵跷。POST參數(shù)不會(huì)保存在瀏覽器歷史中 GET對(duì)數(shù)據(jù)長(zhǎng)度有限制,當(dāng)發(fā)送數(shù)據(jù)時(shí)碾局,GET 方法向 URL 添加數(shù)據(jù)奴艾;URL 的長(zhǎng)度是受限制的(URL 的最大 長(zhǎng)度是 2048 個(gè)字符)。POST無(wú)限制
與POST 相比蚯瞧,GET 的安全性較差,因?yàn)樗l(fā)送的數(shù)據(jù)是 URL 的一部分埋合。在發(fā)送密碼或其他敏感信息時(shí)絕 不要使用 GET
POST 比 GET 更安全萄传,因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或 web 服務(wù)器日志中。
GET的數(shù)據(jù)在 URL 中對(duì)所有人都是可見(jiàn)的振诬。POST的數(shù)據(jù)不會(huì)顯示在 URL 中
接口測(cè)試
概念測(cè)試系統(tǒng)組件間接口的一種測(cè)試。接口測(cè)試主要用于檢測(cè)外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個(gè)子系統(tǒng)之間的交互點(diǎn)赶么。
接口測(cè)試本質(zhì)和目的
實(shí)質(zhì)就是檢驗(yàn)數(shù)據(jù)的傳輸和接受是否正常脊串,傳輸?shù)氖墙涌诘刂分械膮?shù),接受的是文本字符串/文件放闺,然后對(duì)比內(nèi)容是否和預(yù)期的一樣。
目的:測(cè)試接口的正確性和穩(wěn)定性怖侦。
接口測(cè)試流程
需求討論→需求評(píng)審→場(chǎng)景設(shè)計(jì)→用例設(shè)計(jì)→數(shù)據(jù)準(zhǔn)備→執(zhí)行→測(cè)試報(bào)告
接口測(cè)試內(nèi)容四要素
功能邏輯:通過(guò)查數(shù)據(jù)庫(kù)或緩存等驗(yàn)證數(shù)據(jù)是否處理正確匾寝。通過(guò)其他輔助途徑進(jìn)行驗(yàn)證
異常測(cè)試叉谜;接口測(cè)試中主要測(cè)試接口正常邏輯,但僅邏輯測(cè)試不能保證數(shù)據(jù)的安全及程序接口在異常情況下的邏輯處理的正確性
路徑測(cè)試:當(dāng)被測(cè)接口的實(shí)現(xiàn)方法中停局,判斷邏輯復(fù)雜分支多,且判斷中又調(diào)用了其他的接口码倦,此時(shí)必須要進(jìn)行路徑覆蓋測(cè)試
結(jié)構(gòu)檢查:1檢查返回值的結(jié)構(gòu)是否正確锭碳,如是json類型還是xml類型的數(shù)據(jù)2字段名稱是否正確等
其他異常場(chǎng)景:研發(fā)的項(xiàng)目,有些項(xiàng)目是底層使用的系統(tǒng)擒抛,根據(jù)項(xiàng)目特點(diǎn)补疑,可能會(huì)存在特殊的異常場(chǎng)景歹撒。
常用接口測(cè)試工具
LoadRunner
SoapUI
Jmeter
Postman