1. 程式人生 > >如何進行介面測試,如何做好介面測試

如何進行介面測試,如何做好介面測試

1. 首先,什麼是介面?

   介面無非有兩種,一種是內部介面,一種呼叫對外包裝的介面

   內部介面:方法與方法之間,模組與模組之間的互動,程式內部丟擲的介面,例如下訂單,首先你需要登入,然後呼叫下訂單介面,兩個模組有互動那麼相互之間的呼叫,就屬於內部介面

   對外包裝的介面:例如A部門做一個買車服務,它賣兩種車一是二手,二是新車,那麼它要賣二手車,是不是直接可以呼叫二手車部門共享的資料進行包裝,從而是不是達到資料的共享等等,就不一一舉例子.

2. 常用介面採用方式

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

SoapUIjmeterloadrunner等;

      2http api介面:是走http協議,通過路徑來區分呼叫的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get

post等方法,這也是最常用的兩種請求方式。可以使用的工具有postmanRESTClientjmeterloadrunner等;

3. https並非是應用層的一種新協議,只是http通訊介面部分用SSLSecure socket Layer)和TLSTransport Layer Security)協議代替而已

     那麼上述1,2,3

      webService:返回的格式

xml還需要解析麻煩,而且速度可能有降低(目前開發平臺等都使用的http(get/post實現的)     

http協議時超文字傳輸協議(不安全)

https是安全的超文字傳輸協議,是安全版的http協議,使用安全套接字層(SSL)進行資訊交換。

https協議主要針對解決http協議以下不足:

1.通訊使用明文(不加密),內容可能會被竊聽

2.不驗證通訊方身份,應此可能遭遇偽裝

3.無法證明報文的完整性(即準確性),所以可能已遭篡改

綜上所述:目前我們看到的介面測試.,相信大家用的httpshttp多一些

4. 前端和後端

前端:app,網頁統稱前端(展示-負責貌美如花)

後端: 後臺提供資料,校驗,下訂單等等處理(負責掙錢養家)

5. 介面測試概念

介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等(通俗來說就是,檢查業務邏輯是否滿足業務需求,校驗欄位是否正常你實際結果是否滿足預期)

6. 介面的組成:

    a、介面說明

b、呼叫url

c、請求方法(get\post

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

e、返回引數說明

7. 為什麼要做介面測試,介面測試的目標

介面其實app和前端互動用的,所以好多人問,為啥做功能測試還要測介面,目標是啥不是多此一舉嗎?首先我告訴大家,這種想法是錯誤的

那麼舉一個例子:

例如一個登陸介面,例如產品上規定使用者名稱6-10個字元數字下劃線,但後端沒做判斷。但我們業務人員測試肯定驗證,但只是前端做了校驗,後端壓根就忘了這個小需求.那麼後果來了如果一個懂的直接抓包去篡改你的介面,然後繞過校驗,通過sql注入直接隨意登入。如果你這是一個下單業務,是不是給公司造成了很大損失

 所以此時此刻介面測試目標來了:

1.可能發現客戶端沒有發現的bug(那麼也叫隱藏bug)

2.及早爆出風險(保證質量正常上線)

3.介面穩定了,前端隨便改

4.最重要檢查系統安全性,穩定性

8.常常有人問我怎麼測

  1.無非就兩種get/post工具postman/httprequest

  2.狀態嗎你至少了解

   例如:200(成功)/300(重定向別的地方)/400(請求語法錯誤)/500(伺服器異常)

  怎麼測:

A. 用例設計(根據業務邏輯來設計用例,登入5,需要2分鐘後再登入 刪除關注的車,列表少一條資料)

B. 引數組合(傳入不同值)

C. 介面安全(繞過驗證/繞過身份驗證/引數是否加密等)

D. 異常驗證(輸入異常引數邊界值)

8. 用什麼工具測

功能:Postman/HTTPrequest/jemter

自動化:restassured/ python httprequest

    如果你是一個零基礎,如果第一次接觸介面測試,你還不知道介面怎麼測,還有你目前在介面測試的路上,上面僅僅是開場白,如果你想了解更多介面知識,介面自動化,讓你全新瞭解介面自動化,如何搭建測試自動化,如何整合持續平臺。 微信公眾號:自動化測試以及零基礎測試換行全棧

相關推薦

如何進行介面測試,如何做好介面測試

1. 首先,什麼是介面?   介面無非有兩種,一種是內部介面,一種呼叫對外包裝的介面   內部介面:方法與方法之間,模組與模組之間的互動,程式內部丟擲的介面,例如下訂單,首先你需要登入,然後呼叫下訂單介面,兩個模組有互動那麼相互之間的呼叫,就屬於內部介面   對外包裝的介面:

獲取token,如何進行登入鑑權測試其他介面

1.獲取token 傳送獲取token介面,先進行獲取介面 body裡進行填寫傳送介面所需的引數,點選send,即可獲取獲取token 2.進行鑑權,執行其他介面 輸入url,header裡進行填寫token,key:Authorization   valu

新手小白如何做好介面測試

測試行業中,大多數人接觸的都是所謂的功能測試,也就是人為操作裝置的輸入輸出,在這樣的一個模式下,實際上有很多的細節的邏輯並無法覆蓋到,雖然表面看似沒有問題,但經常會發生所謂的不可重現錯誤、異常錯誤、出現錯亂的資料、甚至被外界攻擊的現象。從另一個角度說這樣測試僅僅滿足了基本功能需求,但實際上系

使用Jmeter進行介面測試和壓力測試的配置和使用

1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不

java介面自動化測試--restassured如何進行檔案上傳介面測試

在我們平時測試介面過程中,可能會遇到一些上傳介面,那麼如何使用restassured進行上傳介面測試呢?非常簡單,見如下程式碼ValidatableResponse res = given().cookies(cookiesName) .queryParam(

效能測試--聯合使用jvisualVM與jmeter進行效能測試介面效能分析

在使用PerfTest進行介面的測試之後,該工具可以進行簡單的效能測試,但是對於http請求進行模擬不方便,趁這次機會,學習使用jmeter進行效能測試及分析。 之前用過jvisualVM,本次就結合jmeter一起,進行效能測試與原因分析。本篇文章分為兩大部

Python測試介面測試的基礎

介面測試基礎   測試對於介面測試的理解總是停留在工具使用層面,很多情況下,測試人員會花很大的代價去學習一個工具,而測試工具本身的侷限性,又導致測試人員陷入想直接用現成的測試框架卻又無法進行擴充套件的僵局,最後由於專案的特殊性等客觀因素,測試人員只能放棄工具,脫離了工具的視覺化介面友好操作,發現直接連線口是

PostMan 測試Query介面

@GET("/api/v2/users") Call<GetUsersResponse> getUsers(@Query("ids") String ids, @Header(HEADER_AUTHORIZATION) String token); PostMan : http:

Android測試,Selenium3自動化測試,Python3 測試,Java介面測試

谷歌的Android生態系統正在不斷地迅速擴張。有證據表明,新的移動OEM正在攻陷世界的每一個角落,不同的螢幕尺寸、ROM /韌體、晶片組以及等等等等,層出不窮。於是乎,對於Android開發人員而言,處理儲存碎片變得越來越困窘。 不過幸運的是,Android(還有iOS)開發人員可以無限制地訪問一些先進的

使用Jmeter測試Restful介面

一、新增執行緒組等元件 新增執行緒組 新增執行緒組,Jmeter執行是通過執行緒組進行驅動的,測試計劃必須最少有一個執行緒組,選中Test Plan,點選右鍵,新增》Threads》執行緒組 新增使用者引數 線上程組上新

使用Jmeter測試WebSocket介面

WebSocket介面需要下載相應的外掛才能進行測試 一、新增執行緒組 新增執行緒組等其他元件 新增執行緒組,Jmeter執行是通過執行緒組進行驅動的,測試計劃必須最少有一個執行緒組,選中Test Plan,點選右鍵,新增》Threads》執行緒組

Ubuntu下使用classification.demo測試MATLAB介面,終於解決的bug!

剛剛解決MATLAB和caffe的介面配置問題,結果在測試MATLAB介面的時候出現了這樣的問題: 昨天一直沒明白,為什麼我明明把 bvlc_reference_caffenet.caffemodel放在了caffe_master/models/路徑下面,還會出現這樣的問題,今天終於才注意到

使用Jmeter測試Dubbo介面

WebSocket介面需要下載dubbo外掛才能使用 本次下載的版本為jmeter-plugins-dubbo-1.3.6 由於工作需要,最近需要對dubbo介面進行測試,查詢了很多資料,最後除錯通過,記錄下 以前也用Jmeter對dubbo介面進行過測試,需要使用jav

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

一、什麼是介面? 應用程式介面(Application Programming Interface,簡稱:API),又稱為應用程式設計介面。通俗講就是HTTP請求。   二、介面型別 介面一般分為兩種: 1、程式內部的介面 2、系統對外的介面 &

Python之測試webservice介面

一、準備環境 A:線上安裝   webservice介面測試,需要用到suds庫,網上百度的各種suds庫都沒法安裝,我這裡的Python3.5版本,所以安裝不了那些suds庫也沒有辦法線上安裝,所以這裡就提供一個大家都可用的方法和suds庫。 1)下載suds庫,地址:http:

走進Java介面測試介面管理工具Swagger2

文章目錄 前言 Swagger2綜述 Swagger-UI 是什麼? 為什麼API介面文件用Swagger-UI ? Swagger-UI 怎麼用? 與SpringBoot整合 Sw

測試http介面的類的實現

package com.goldgrid.utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import

LoadRunner測試WebService介面(Soap介面)——內附公共Web Services API

1、什麼是Web Service介面 講不好,請參考文章 https://www.cnblogs.com/thiaoqueen/p/7143797.html https://www.cnblogs.com/phoebes/p/8029464.html 2、公共資源 天氣預

隨行付微服務測試介面測試和契約測試

背景 日常開發過程中,專案的介面通常由服務提供方約定和提供,微服務模式下介面被多個消費者呼叫更是常態,那麼提供方介面的變更如何快速、高效、無遺漏的通知給消費者呢?另外,當一個service同時被多個使用者呼叫,如何保證對service的修改可以讓其它所有使用者造成的影響都能被感知到?這些問題契約測試可以給你答

python指令碼測試websocket介面協議

import websocket url = 'wss://host:port/rt/tr' #websocket連線地址 ws = websocket.create_connection(url) #建立連線'''data為json格式''' data = {"body":{"address"