1. 程式人生 > >【介面測試】介面測試學習之資料總結

【介面測試】介面測試學習之資料總結

一、什麼是介面?

應用程式介面(Application Programming Interface,簡稱:API),又稱為應用程式設計介面。通俗講就是HTTP請求。   二、介面型別 介面一般分為兩種: 1、程式內部的介面 2、系統對外的介面   系統對外的介面:比如你要從別的網站或伺服器上獲取資源或資訊,別人肯定不會把資料庫共享給你,他只能給你提供一個他們寫好的方法來獲取資料,你引用他提供的介面就能使用他寫好的方法,從而達到資料共享的目的。   程式內部的介面:方法與方法之間,模組與模組之間的互動,程式內部丟擲的介面,比如bbs系統,有登入模組、發帖模組等等,那你要發帖就必須先登入,那麼這兩個模組就得有互動,它就會丟擲一個介面,供內部系統進行呼叫。   介面的分類: 1、webserver介面 2、http api介面  

webService介面是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行呼叫,測試。可以使用的工具有SoapUI、jmeter、loadrunner等;

http api介面是走http協議,通過路徑來區分呼叫的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等

說明:json是一種通用的資料型別,所有的語言都認識它。(json的本質是字串,他與其他語言無關,只是可以經過稍稍加工可以轉換成其他語言的資料型別,比如可以轉換成Python中的字典,key-value的形式,可以轉換成JavaScript中的原生物件,可以轉換成java中的類物件等。)

三、介面的組成

首先,介面文件應該包含以下內容:

1、介面說明

2、呼叫url

3、請求方法

4、請求引數、引數型別、請求引數說明

5、返回引數說明

結合介面文件可知,介面至少包含請求地址、請求方法、請求引數(入參和出參)組成,部分介面還有請求頭header

說明:標頭(header):是伺服器以HTTP協議傳HTML資料到瀏覽器前所送出的字串,在標頭與 HTML 檔案之間尚需空一行分隔,一般存放cookie、token等資訊

  四、什麼是介面測試? 介面測試是測試元件間介面的一種測試。 主要用於檢測外部系統與系統之間,系統內部各子系統的互動點,測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。 簡單舉例就是通過URL像伺服器或者其他模組等,傳輸我們想傳輸的資料,然後看看他們返回的是不是我們預期想要的。   五、介面測試的意義 1、越接近底層發現BUG,它的修復成本就越低,且價效比高 2、前端隨便變,介面不變,後端不變,一般前後端分開開發 3、檢查系統的安全性、穩定性 4、介面測試較為容易實現自動化持續整合,且相對UI自動化也比較穩定,可以減少人工成本和時間等   六、如何開展介面測試 --由於專案前後端只要是基於HTTP協議的介面,所以測試介面時主要通過工具或程式碼模擬http請求的傳送與接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。 --也可以用介面自動化實現,利用程式碼和框架編寫,傳送請求用斷言判斷。   七、介面測試的策略  
    八、介面測試 1、介面測試型別 常見:get/post get就是從伺服器獲取資料 post就是往伺服器傳參 2、http狀態碼 每發出一個http請求之後,都會有一個響應,http本身會有一個狀態碼,來標示這個請求是否成功,常見的狀態碼有以下幾種:
200 2開頭的都表示這個請求傳送成功,最常見的就是200,就代表這個請求是ok的,伺服器也返回了。
300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了,
400 400代表客戶端傳送的請求有語法錯誤,401代表訪問的頁面沒有授權,403表示沒有許可權訪問這個頁面,404代表沒有這個頁面
500 5開頭的代表伺服器有異常,500代表伺服器內部異常,504代表伺服器端超時,沒返回結果 3、介面用例設計 1)通用介面用例設計 2)根據業務邏輯來設計用例   資料參考: 1、 http://blog.51cto.com/xqtesting/2148822 2、 https://www.cnblogs.com/feng0815/p/7509541.html 3、 http://www.51testing.com/html/57/n-4421257.html 4、http://www.51testing.com/html/46/n-3722746.html