介面測試的工具postman和jmeter
介面:什麼是介面呢?介面一般來說有兩種,一種是程式內部的介面,一種是系統對外的介面。
系統對外的介面:比如你要從別的網站或伺服器上獲取資源或資訊,別人肯定不會把資料庫共享給你,他只能給你提供一個他們寫好的方法來獲取資料,你引用他提供的介面就能使用他寫好的方法,從而達到資料共享的目的,比如說咱們用的app、網址這些它在進行資料處理的時候都是通過介面來進行呼叫的。 程式內部的介面:方法與方法之間,模組與模組之間的互動,程式內部丟擲的介面,比如bbs系統,有登入模組、發帖模組等等,那你要發帖就必須先登入,要發帖就得登入,那麼這兩個模組就得有互動,它就會丟擲一個介面,供內部系統進行呼叫。
現在我們最常用的兩種介面就是webservice介面和http api介面
webService介面是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行呼叫,測試。
http api介面是走http協議,通過路徑來區分呼叫的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。
介面測試的目的是測試介面,尤其是那些與系統相關聯的外部介面,測試的重點是要檢查資料的交換,傳遞和控制管理過程,還包括處理的次數。
介面測試是測試系統元件間介面的一種測試。
介面測試就和普通功能測試沒什麼區別,區別就是功能測試是在頁面上點點點,在頁面上輸入值,提交資料看結果,而介面測試沒有頁面,通過介面規範文件上的呼叫地址、請求引數,拼接報文,然後傳送請求,檢查返回結果。
介面測試的必要性
一、可以發現很多在頁面上操作發現不了的bug
二、檢查系統的異常處理能力
三、檢查系統的安全性、穩定性
四、前端隨便變,介面測好了,後端不用變
介面測試流程
一、需求評審,熟悉業務和需求
二、開發提供介面文件
三、編寫介面測試用例
四、用例評審
五、提測後開始測試
六、提交測試報告
介面測試的前提:測介面的話,必須得有介面文件,知道 url的請求方式 引數 以及引數的說明
介面文件至少包括:
1、介面說明 2、呼叫url 3、請求方法(get\post) 4、請求引數、引數型別、請求引數說明 5、返回引數說明
http://doc.nnzhp.cn/index.php?s=/5&page_id=7
為什麼要做介面測試呢? 我們知道,其實介面也是app端或者說是web前端進行呼叫的,那我們直接在app或者web端直接測試不就好了,反正它都是呼叫的介面,app和web端功能測試通過了,那介面不就是好使的嘛。 真的是這樣嗎?說的好像很有道理,其實不然,要是真的是這樣的話,那我還講啥介面測試。 思考一個問題,假如現在在京東app上買東西,支付訂單,訂單金額是500元,支付的話,那肯定要呼叫支付介面,你在頁面上操作的話,訂單金額是修改不了的,那如果你想測試一下服務端有沒有校驗訂單的金額,我想把訂單金額改成5元,那在頁面上點是測試不了的,這個時候我們就可以直接用介面來呼叫,修改一下訂單金額的值,然後再發請求就可以了。 當然這只是我舉個例子,介面測試當然不只是這一點原因,總的來說還是為了更好的提高我們產品的質量。
怎麼來測介面-http介面
get請求:
介面請求報文拼接 1、url?param=value¶m2=value 這種是最簡單的一種,問號前面是請求url,後面是請求的引數名和引數值,多個引數用&來連線 https://api.douban.com/v2/book/search?q=鄒偉偉
單個引數:http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑
多個引數用&符連線:
介面測試工具:Postman
簡要描述:
- 獲取學生資訊介面
請求URL:
http://api.nnzhp.cn/api/user/stu_info
請求方式:
- get
引數:
引數名 | 必選 | 型別 | 說明 |
---|---|---|---|
stu_name | 是 | string | 學生姓名 |
返回引數說明
引數名 | 型別 | 說明 |
---|---|---|
error_code | int | 錯誤編碼,0為操作成功 |
stu_info | object | 學生物件資訊 |
id | int | 學生id |
name | string | 學生姓名 |
sex | string | 學生性別 |
age | int | 年齡 |
addr | string | 家庭住址 |
phone | string | 手機號 |
grade | string | 班級 |
gold | int | 金幣 |