APP接口測試


什么是接口測試?接口測試很難學嗎?No!且聽作者“沉默小生”向你娓娓道來。

 

最近有朋友問我接口測試是怎么回事?怎么測?我想說,其實很簡單,和功能測試一樣,把它當一個沒有界面的應用去理解,就可以測了。

功能測試大家應該都熟悉吧:看流程設計流程測試點;看字段要求設計功能測試點,然后考慮考慮輸入、考慮考慮輸出,再加上些異常操作、兼容、易用性等問題驗證,感覺就差不多了(業務復雜程度暫且不管)。而上面說到的這些功能測試的考量,其實也是接口測試的測試點。

接口嘛,顧名思義,就是對接時的一個口子。對於App來說,其實就是咱們在點點點時,移動端(app)與服務器(Server)數據交互時的一個交互地址,英文叫API,也有就叫URL的。我接觸的接口是Rest風格的,由請求(Request)和響應(Response),以及相應的信息頭(Request Header和 Response Header)組成。而咱們看到的URL,實際上是接口請求的地址(Request URL)。在操作App時,會將操作或填入的信息,都轉成一一對應的參數,然后在Request Header里寫好請求的識別規則,請求接口,之后服務器接收並解析處理。處理好后再寫好的結果的識別規則,再返給App解析加載結果。

例如:

Remote Address:125.39.7.139:80

Request URL:http://www.bilibili.com/api_proxy?app=tag&action=/tags/archive_list&aid=4177630&nomid=1

Request Method:GET

Status Code:200 OK

Response Content: {"code":0,"result":[{…}]}

這是bilibili視頻播放頁中,一個關於視頻標簽的接口(返回結果我人工省略了,太長)。可以看到,它包含①Remote Address、②Request URL、③Request Method、④Status Code、⑤Response Content五個部分。分別為①接口連接的服務器IP地址、②接口請求URL、③接口請求方法類型、④接口狀態值、⑤接口返回結果。而這幾個東西,咱們在使用app時,每個頁面的數據交互,都會請求次接口,都會包含這些東西。而除IP地址只要知道連得是哪即可,下面會詳細說下后幾個,以理解接口是怎么用的。

Request Method:請求方法,該接口是GET的,一般常見的有GET、POST、PUT、DELETE,對應數據庫的增刪改查四種情況(CREATE -PUT、QUERY-GET、UPDATE-POST、DELETE-DELETE),作為概念理解,了解什么操作大概用什么請求方法即可。

Request URL:請求的地址,大家抓包時看到的URL就是它,它按“網絡協議類型(http)+ “://” + 域名(www.bilibili.com,英文host) + 路徑(/api_proxy,英文Path) + “?” + 參數(app=tag&…到結尾)組成。根據操作的不同,使用不同的請求方法和參數的,以讓服務器接收進行不同的處理。一般查詢用GET、提交用POST,參數分為key和value。GET方法,參數會附在路徑Path后面,測試時就測試按照接口文檔傳入預期的值,是否能得到預期結果,以及檢查是否有遺漏的選項值、有沒有缺少必填字段情況等;POST方法,參數放入Header后面進行傳參,測試時就測試按接口文檔傳入預期參數,是否能得到有效的修改、傳入異常值(等價類、邊界值等)是否能返回合適的容錯提示等。(有興趣的可以擴展了解下:http://blog.csdn.net/mfe10714022/article/details/39692305,Header內容直接百度百科即可)

Status Code:接口狀態值,用於表明當前接口處於什么狀況,一般Code值為200,表示接口正常;500,表示服務器內部錯誤;404,表示找不到數據等等。接口狀態值很多,但要求都是一種業務結果,對應一個接口狀態值。所以在接口測試時,除了參數的測試,也需要測試一下接口的狀態值是否能滿足業務中的各種結果、並與其結果都是一一對應的。(有興趣請擴展:http://www.tuicool.com/articles/Ermmmyn

Response Content:接口返回結果,顧名思義就是返回的數據,就是咱們在app上見到的那些顯示數據。格式有的是JSON的、有的是HTML的,JSON格式的,百度下鍵值對和UML類圖,按key和value對應着看,然后研發要個UML類圖,方便理解。HTML的,最好復制下來,拖到瀏覽器打開,方便理解。

大概接口就這么些東西,url、請求、相應、參數、狀態值、UML圖,了解這些,大概就對接口有個足夠的認識了。抓過包的、沒接觸過接口測試的童鞋們,可以開始試一試了,自己動手搞搞,快速加深對接口的理解,來對增加你的測試緯度吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM