-
1 # platform
-
2 # 安全時刻
何為介面?
生活中,當你進入電梯按下二樓時,電梯會到二樓,按下五樓時電梯就會到五樓;電梯製造商給你提供了一個他們設計好的按鈕,來獲取你想要到達的樓層,而你按下他的按鈕,就能使用他設定好的方法到達自己想要的樓層。在這個例子中,電梯裡的按鈕就可以理解為介面。介面一般可以分為兩種,一種是程式內部的介面,一種是系統對外的介面。
一、常見的介面
1、webService介面:是走soap協議透過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用透過工具才能進行呼叫,測試。可以使用的工具有SoapUI、jmeter、loadrunner等;
2、http api介面:是走http協議,透過路徑來區分呼叫的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
二、介面的組成
首先,我們看一下範例介面的介面文件;
如圖,介面文件中包含的內容有:1.介面說明:獲取token2.呼叫URL:http://xxx/v1/products/xxx/access_token3.請求方法:POST4.請求引數、資料型別、是否必填、引數型別、描述5.響應引數說明
以上就是介面的組成。
注意:部分介面有請求頭header。標頭 (header):是伺服器以HTTP協議傳HTML資料到瀏覽器前所送出的字串,一般存放cookie、token等資訊(本文的介面就是用於獲取token)。
一般存放的是一些校驗資訊,比如cookie,它是為了校驗這個請求是否有許可權請求伺服器,如果有,它才能請求伺服器,然後把請求地址連同入參一起傳送到伺服器,然後伺服器會根據地址和入參來返回出參。也就是說,伺服器是先接受header資訊進行判斷該請求是否有許可權請求,判斷有許可權後,才會接受請求地址和入參的。
三、何為介面測試?
百度百科:“介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。”我的理解:“介面測試是透過針對輸入,分析輸出是否滿足需求的測試過程。”
四、為什麼要做介面測試
一棟大樓在修建過程中,如果在打地基階段發現了問題,那麼只需要重新打地基即可,而如果等到大樓建造完成時才發現問題,那麼整個大樓可能都要推倒重建了,提早發現問題百利無害。而且,介面測試可以發現功能測試發現不了的問題,檢查系統的安全性和穩定性。
五、介面測試流程
在實際工作中,拿到介面文件後,就可以著手開始設計場景和編寫用例了,有問題及時與開發同學交流,因為文件並非絕對正確。
六、介面用例設計
可參照 介面測試用例設計(詳細乾貨)中學習瞭解,此處不再累述。附範例介面的測試腦圖:
七、介面測試工具
推薦Postman和JMeter,這兩個工具已經可以滿足工作需要,而且教程較多,方便學習。其他工具比如:RESTClient、Loadrunner、SoapUI等,可自行了解。
Postman下載地址Windows版JMeter下載安裝教程
接下來就簡單圖示Postman和JMeter兩款工具的使用。
八、工具使用
舉例文中“獲取token”介面文件的測試用例。注:以下用例中資訊皆馬賽克處理,見諒。
1.Postman中的請求如下:
2.JMeter中的請求如下:
回覆列表
測試有黑盒測試、白盒測試,黑盒測試把測試物件作為一個完全未知東西對待,輸入介面所需的引數值,透過介面得到想要的結果,介面內部怎麼運轉作測試方不關心;白盒測試則不一樣,除了黑盒測試要測試要求外,還要關注介面內部流程與功能。
介面測試除了功能測試,要特別注意測試使用者設計,特別是邊界值在測試用例需要覆蓋到。測試除了功能測試外,還需要關注非功性需求的測試,如併發、穩定性、效能等。
測試時可來用人工測試與自動化測試相接合,自動化測試要熟練各種測試工具,同時要寫自動化測試指令碼。