1. 程式人生 > >介面測試教程(1)-介面測試概述

介面測試教程(1)-介面測試概述

1介面測試概述
介面是用來資訊互動的媒介,人類與電腦等資訊機器或人類與程式之間的介面稱為使用者介面。電腦等資訊機器硬體元件間的介面叫硬體介面。電腦等資訊機器軟體元件間的介面叫軟體介面。

API(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,目的是提供應用程式與開發人員基於某軟體或硬體得以訪問一組例程的能力,而又無需訪問原始碼,或理解內部工作機制的細節。

舉例
這裡寫圖片描述

2什麼是介面測試,為什麼需要介面測試
介面測試是測試系統元件間介面的一種測試。介面測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的互動點。測試的重點是要檢查資料的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關係等。

由於如今的系統複雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降,所以就要做介面測試。同時,介面測試相對容易實現自動化持續整合,且相對UI自動化也比較穩定,可以減少人工迴歸測試人力成本與時間,縮短測試周期,支援後端快速發版需求。介面持續整合是為什麼能低成本高收益的根源。現在很多系統前後端架構是分離的,從安全層面來說,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要後端同樣進行控制,在這種情況下就需要從介面層面進行驗證。前後端傳輸、日誌列印等資訊是否加密傳輸也是需要驗證的,特別是涉及到使用者的隱私資訊,如身份證,銀行卡等。常用的用例設計方法有等價類劃分法,邊界值分析法,場景分析法,因果圖,正交表等。
這裡寫圖片描述


後端介面測試測什麼?
這裡寫圖片描述

3 怎麼做介面測試?
  一般情況下,由於我們專案前後呼叫主要是基於http協議的介面,所以測試介面時主要是通過工具或程式碼模擬http請求的傳送和接收。所以我們下面整理了一下使用Jmeter工具進行http介面測試。

  3.1 開發介面測試案例的整體方案
    第一步: 分析出測試需求,並拿到開發提供的介面說明文件;

     第二步: 從介面說明文件中整理出介面測試案例,裡面要包括詳細的入參和出引數據以及明確的格式和檢查點;

     第三步: 和開發一起對介面測試案例進行評審;

     第四步: 結合開發庫,準備介面測試案例中的入參和出引數據,並整理成csv格式的檔案;

     第五步: 結合介面測試案例文件和csv格式的資料文件,做介面測試案例的自動化案例開發。

  3.2 介面自動化適用場景
    目前設計的自動化介面測試案例有兩個執行場景:

    (1)測試前置、開發自測:一個新的自動化介面測試案例開發完成後,直接發給介面對應的開發,安排在開發本地環境執行,一旦開發確認完成介面開發,就開始執行介面測試案例,基本上可以實時拿到測試結果,方便開發快速做出判斷。(開發本地執行的方式就是開啟JMeter工具,匯入JMX檔案,開始執行可。)

    (2)迴歸測試:開發本地測試通過後,或整個需求手工測試通過後,把自動化的介面測試案例做分類整理,挑選出需要納入到迴歸測試中的案例,在持續整合環境重新準備測試資料,並把案例納入到持續整合的job中來,這些用於迴歸的介面測試案例需要配置到持續整合平臺自動執行。

  對介面測試而言,持續整合自動化是核心內容,通過持自動化的手段我們才能做到低成本高收益。目前我們已經實現了介面自動化,主要應用於迴歸階段,後續還需要加強自動化的程度,包括但不限於下面的內容:

  a) 流程方面:在迴歸階段加強介面異常場景的覆蓋度,並逐步向系統測試,冒煙測試階段延伸,最終達到全流程自動化。

  b) 結果展示:更加豐富的結果展示、趨勢分析,質量統計和分析等

  c) 問題定位:報錯資訊、日誌更精準,方便問題復現與定位。

  d) 結果校驗:加強自動化校驗能力,如資料庫資訊校驗。

  e) 程式碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高程式碼覆蓋率。

  f) 效能需求:完善效能測試體系,通過自動化的手段監控介面效能指標是否正常。

  1. 介面測試質量評估標準

      a) 業務功能覆蓋是否完整

      b) 業務規則覆蓋是否完整

      c) 引數驗證是否達到要求(邊界、業務規則)

      d) 介面異常場景覆蓋是否完整

      e) 介面覆蓋率是否達到要求

      f) 程式碼覆蓋率是否達到要求

      g) 效能指標是否滿足要求

      h) 安全指標是否滿足要求

相關推薦

介面測試教程(1)-介面測試概述

1介面測試概述 介面是用來資訊互動的媒介,人類與電腦等資訊機器或人類與程式之間的介面稱為使用者介面。電腦等資訊機器硬體元件間的介面叫硬體介面。電腦等資訊機器軟體元件間的介面叫軟體介面。 API(Application Programming Interfac

軟體測試_BadBoy自動化測試工具1 介面介紹

    由於開發的需要進行效能測試,無意中接觸到了BadBoy,我使用的版本為Badboy 2.2, 下面開始課程: 一 下載 2. 點選Download 3. 註冊個人資訊及使用原因(放心是免費的) 4. 下載後安裝 5. 點選圖示,你將看到Badboy的IDE

jmeter介面效能測試1)----簡單的介面測試入門

首先來看一下介面的資訊:host:http://api.jhled888.comuri: /cgi-bin/get.json 介面請求方式: GET 入參:appid: jhyjlhxa03q4f2qlmfappsecret:eb28066907b14310a9401c0586c840

介面測試教程(2)-HTTP簡介與請求

什麼是HTTP 超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的WWW檔案都必須遵守這個標準。設計HTTP最初的目的是為了提供一種釋出和接收HTML頁面的方法。 技術框架 HT

介面自動化測試1)-認識requests

即使開始寫這篇部落格,我也沒完全明白介面自動化到底是何物,能自動化到什麼地步。買了一套相關課程,開始只是入門級,介面自動化測試後面應該會根據課程進度,把這系列部落格寫完。今天先寫入門。 環境:python3 環境準備好以後,安裝requests,cmd下輸入命令:pip

【selenium3+JAVA】介面自動化測試教程(一)——瀏覽器的啟動之IE瀏覽器的啟動

前言 同chrome、firefox,ie瀏覽器的啟動一樣需要driver,但是IEDriver不像chromeDriver一樣有多個版本,不同版本對應不同的chrome版本,它只有32位版本和64位版本兩種; 下載地址為:https://www.seleniu

【selenium3+JAVA】介面自動化測試教程(二)——瀏覽器的關閉

瀏覽器的關閉有兩個方法,如下所示: System.setProperty("webdriver.chrome.driver", "D:\\test\\driver\\chromedriver.exe"); ChromeDriver chrome = new Ch

【selenium3+JAVA】介面自動化測試教程(三)——瀏覽器的全屏、最大化和設定大小位置

1、瀏覽器全屏 使用程式碼如下: ChromeDriver chrome = new ChromeDriver(); chrome.manage().window().fullscreen(); 如上程式碼會把瀏覽器全屏,效果嘛就是除了網站的內容部分,其他全部

【selenium3+JAVA】介面自動化測試教程(五)——等待設定

超時設定分為三種,分別為顯性等待,隱性等待和強制等待,如下所示: 1、隱式等待 此等待方式為全域性共用,此處共有三個方法,分別為查詢元素的等待超時時間、頁面載入等待超時時間和js指令碼執行超時時間,方法如下程式碼所示 System.setProperty("we

【selenium3+JAVA】介面自動化測試教程(六)——元素查詢和操作

一、前言 元素查詢為selenium的基礎操作,基本上大部分操作都是基於元素的,故此部分為必須掌握內容,方法包括通過名稱、id、tagName、xpath等方法,下面會詳細介紹這些方法; 二、元素查詢 下面一一介紹這些方法,無論哪種查詢方式,記得都應該在網站的開

【selenim3+Python】介面自動化測試教程

一、開啟瀏覽器 selenium3支援基本上目前市面上最常見的幾種瀏覽器,本文只寫其中的chrome、firefox和ie的相關操作; 1、chrome瀏覽器 (1)、chromeDriver獲取 chromeDriver獲取地址為:http://chromed

python+requests+unittest介面自動化(1):介面測試

使用的庫就是requests 安裝很簡單,尤其python3+(之後簡稱python3),自帶pip(python2+的朋友可以自行百度下pip的安裝) pip install requests 在開始做介面測試之前,我們先稍微瞭解一下介面是什麼? 首先,百度結果: 結合實

Jmeter3.1介面測試使用技巧

本文主要總結windows下使用apache-jmeter-3.1測試介面時使用的技巧。因將各點寫在不同的文章,不易查詢,遂整理在一個篇章裡,篇幅略長。 一、Config Element(配置元件) 1.http資訊頭管理器 JMeter不是瀏覽器,因此其行為

jmeter3.2介面測試壓力測試示例1【使用者登入】CSV Data Set Config

1、post因為是使用者登入介面,所以其中測試資料檔案為使用者名稱和密碼:CSV Data Set Config:被用來從檔案中讀取資料,並將它們分割儲存到變數中,適合處理多變數。如:登入,在文字文件內把使用者名稱和密碼引數化,執行操作時,會自動迴圈讀取文本里的使用者名稱和密

【selenium3+JAVA】介面自動化測試教程(七)——frame切換方法

在selenium的使用過程中,有時候會發現網站會有frame這種東西,如果某個元素在frame中,直接進行查詢是無法查詢到的,那麼這時候就需要先切換frame再進行元素查詢; 1.切換到頂層frame: driver.switchTo().defaultCon

PostMan介面測試(很全面的介面測試教程)

## 一:理論部分 ### 1. 前言 在前後端分離開發時,後端工作人員完成系統介面開發後,需要與前端人員對接,測試除錯介面,驗證介面的正確性可用性。而這要求前端開發進度和後端進度保持基本一致,任何一方的進度跟不上,都無法及時完成功能模組的測試。 ​ 做為後端開發人員,要求獨立開發完成某個介面

up7.1-asp.net-本地測試教程

baidu height 數據表 ng- padding mil sql .config -h 1.1. ASP.NET 框架:.NET Framework 4.5 依賴庫:csredis,Newtonsoft.Json   安裝redis 下載 re

App測試1-App測試概述

.cn 極限 刪除 文件 bsp 測試的 更新 性能測試 測試 App測試的分類 1、UI測試 2、功能測試 安裝:斷網、弱網、安裝後刪除安裝文件 卸載、 更新 3、兼容性測試 4、穩定性測試:monkey 5、極限測試 耗電量測試: 1) 2) 弱網環境測

【高速介面-RapidIO】1、RapidIO協議概述

一、RapidIO背景介紹        RapidIO是由Motorola和Mercury等公司率先倡導的一種高效能、 低引腳數、 基於資料包交換的互連體系結構,是為滿足和未來高效能嵌入式系統需求而設計的一種開放式互連技術標準。RapidIO主要

jmeter之介面測試(http介面測試

基礎知識儲備 一、瞭解jmeter介面測試請求介面的原理 客戶端--傳送一個請求動作--伺服器響應--返回客戶端 客戶端--傳送一個請求動作--jmeter代理伺服器---伺服器--jmeter代理伺服器--伺服器 二、瞭解基礎介面知識: 1、什麼是介面:前端與後臺之間的橋樑、資料傳輸的通道,就是一