大體流程: 1,、(閱讀)測(cè)試接口文檔 現(xiàn)狀: 1.給的接口文檔不規(guī)范 2.沒(méi)有接口文檔 若是有測(cè)試經(jīng)理,建議找測(cè)試經(jīng)理去溝通,,讓測(cè)試經(jīng)理去找開發(fā)溝通,。總之是要搞到接口文檔,,接口文檔就是需求依據(jù),。 3.測(cè)試人員自己形成的一份接口文檔 自身整理出來(lái)的接口文檔要給對(duì)應(yīng)的開發(fā)人員看,若沒(méi)有問(wèn)題,,發(fā)郵件出來(lái),。
學(xué)習(xí)總結(jié)——接口測(cè)試基礎(chǔ)什么是接口測(cè)試 測(cè)試人員通常所說(shuō)的“接口測(cè)試”是針對(duì)系統(tǒng)各組件之間接口的一種測(cè)試,它屬于功能測(cè)試,。接口能測(cè)出普通界面操作難以發(fā)現(xiàn)的問(wèn)題,。如,我們都知道系統(tǒng)是由前端后端組成,,一些數(shù)據(jù)在前端做了校驗(yàn),,后端同樣也需要校驗(yàn)才能保證安全,界面操作顯然只能檢查到前端校驗(yàn)這一層,,只有直接面對(duì)前后端之間的該接口才能檢驗(yàn)出后端是否也做了校驗(yàn),。
接口測(cè)試的必要性 ? 可以發(fā)現(xiàn)很多頁(yè)面操作發(fā)現(xiàn)不了的問(wèn)題 ? 檢查系統(tǒng)的異常處理能力 ? 檢查系統(tǒng)的安全性,、穩(wěn)定性 ? 前端隨便變,接口測(cè)好了,,后端不用變
接口測(cè)試的流程 ? 需求評(píng)審,,熟悉業(yè)務(wù)和需求 ? 開發(fā)提供接口文檔 ? 編寫接口測(cè)試用例 ? 用例評(píng)審 ? 提測(cè)后開始測(cè)試 ? 提交測(cè)試報(bào)告
接口文檔 是接口測(cè)試的參照,至少包括: 1,、接口說(shuō)明 2,、調(diào)用url 3、請(qǐng)求方法(get\post ……) 4,、請(qǐng)求參數(shù),、參數(shù)類型、請(qǐng)求參數(shù)說(shuō)明 5,、返回參數(shù)說(shuō)明
接口測(cè)試用例設(shè)計(jì) 通過(guò)性驗(yàn)證:首先保證接口好用,,按文檔正常傳入,查看是否可以返回正確的結(jié)果,。 參數(shù)組合: 按接口文檔中對(duì)參數(shù)的要求進(jìn)行有目的的組合,,比如必填未填是否通過(guò),標(biāo)志類參數(shù)值的切換是否能對(duì)應(yīng)正確的功能等,。(這部分很關(guān)鍵) 接口安全: 1,、繞過(guò)正常值驗(yàn)證。 2,、繞過(guò)身份授權(quán)驗(yàn)證,。 3、參數(shù)是否加密,,加密規(guī)則是否容易破解,。 4、密碼安全規(guī)則,,密碼的復(fù)雜程度校驗(yàn),。 異常驗(yàn)證:不按照接口文檔上的要求輸入?yún)?shù),來(lái)驗(yàn)證接口對(duì)異常情況的反應(yīng),。
接口測(cè)試用例模板 (可根據(jù)項(xiàng)目實(shí)際情況設(shè)計(jì)增減) 1,、項(xiàng)目 測(cè)試針對(duì)哪個(gè)項(xiàng)目 2、模塊 哪個(gè)功能模塊 3,、用例id 4,、接口名稱 5、用例標(biāo)題 測(cè)試用途概括 6,、請(qǐng)求方式 GET/POST 7,、請(qǐng)求url URL地址 8、請(qǐng)求參數(shù) 9、前置條件 執(zhí)行當(dāng)前請(qǐng)求依賴的條件,,不滿足就不能正確執(zhí)行 10,、結(jié)果驗(yàn)證 預(yù)期結(jié)果 11、請(qǐng)求報(bào)文 可以不寫 12,、返回報(bào)文 一定要寫,,這里應(yīng)該是你請(qǐng)求返回的真實(shí)結(jié)果 13、測(cè)試結(jié)果 通過(guò)/失敗 14,、測(cè)試人員
測(cè)試http接口 請(qǐng)求常見有Get請(qǐng)求和Post請(qǐng)求,。Get請(qǐng)求通常用來(lái)接收數(shù)據(jù),Post請(qǐng)求通常用來(lái)發(fā)送數(shù)據(jù),;測(cè)Get請(qǐng)求可用瀏覽器完成,,參數(shù)都可以寫在URL里面,測(cè)Post請(qǐng)求需要借助工具如Postman,,因?yàn)榭蛻舳诵枰峁┙o服務(wù)器的信息較多,,你要寫body傳輸大量數(shù)據(jù)。 接口調(diào)用有兩種傳參方式:key-value形式,,Json串傳參形式,。 key-value形式可以把參數(shù)拼接在url的后面由?相連,多個(gè)參數(shù)之間用&相連,,如url?parameter1=key1¶meter2=key2… Json串傳參不能把參數(shù)直接連在url中,,需要寫在請(qǐng)求的body里面,可借助工具Postman,,打開請(qǐng)求的body寫入Json格式參數(shù)(由花括號(hào)括起來(lái)的'鍵:值’對(duì))如 { “count”: 1, “start”: 0, “total”: 1 } 請(qǐng)求發(fā)出后,http會(huì)返回一個(gè)狀態(tài)碼表示請(qǐng)求是否成功,,狀態(tài)碼有三位,,其中開頭一位確定了狀態(tài)類型: ? 2xx: 表示請(qǐng)求發(fā)送成功,常見200,。 ? 3xx: 代表重定向,,要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作,或把請(qǐng)求重定向到別的地方了,,最常見的是302,。 ? 4xx: 客戶端錯(cuò)誤,請(qǐng)求有語(yǔ)法錯(cuò)誤或請(qǐng)求無(wú)法實(shí)現(xiàn),。400代表客戶端發(fā)送的請(qǐng)求有語(yǔ)法錯(cuò)誤,,不能被服務(wù)器所理解;401代表訪問(wèn)的頁(yè)面沒(méi)有授權(quán),;403服務(wù)器收到請(qǐng)求,,但是拒絕提供服務(wù),比如沒(méi)有權(quán)限訪問(wèn)這個(gè)頁(yè)面,;404請(qǐng)求的資源不存在,,比如輸入錯(cuò)的URL沒(méi)有這個(gè)頁(yè)面,。 ? 5xx: 代表服務(wù)器有異常,500代表服務(wù)器內(nèi)部異常,;503服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,,一段時(shí)間后可能恢復(fù)正常;504代表服務(wù)器端超時(shí),,沒(méi)返回結(jié)果,。
測(cè)試WebSevice接口 不需要像測(cè)http接口那樣拼報(bào)文,直接把wsdl地址或wsdl文件(這兩個(gè)都由開發(fā)人員提供)填寫或?qū)氲焦ぞ逽oapUI里面,,工具里可顯示所有相關(guān)接口或報(bào)文,,直接填入?yún)?shù)發(fā)送請(qǐng)求參照接口文檔查看結(jié)果即可。
Cookie 和 Session Cookie是存在于本地的一個(gè)鍵值對(duì),,Session是存在于服務(wù)器端的一個(gè)鍵值對(duì),,通常保存在數(shù)據(jù)庫(kù)或緩存里。Cookie和Session在第一次發(fā)送某個(gè)請(qǐng)求時(shí)成對(duì)生成,,兩端都會(huì)記錄下生成的時(shí)間,,超出既定的時(shí)限后便會(huì)自動(dòng)刪除。當(dāng)請(qǐng)求在時(shí)限內(nèi)再次發(fā)出后,,Cookie和Session兩者會(huì)相互比對(duì),,匹配上了便執(zhí)行某些操作,匹配不上則不允許執(zhí)行某些操作,,以此實(shí)現(xiàn)快速處理,,它們并不是孤立作用的。 |
|