介面測試,介面協議以及常用介面測試工具詳解

一、前言:什麼是介面

1.介面指的是軟體提供給外界的一種服務。作用在於使其內部的數據能被外部進行修改的交互方式。

例如:USB介面,電腦里的數據可以看成是內容數據,而U盤裡的數據可以看成是外部數據,那麼USB介面的作用就是:電腦和U盤交互數據,也就是使電腦內部的數據能夠和外部的U盤交換數據。

例如:微信的提現和充值,就調用銀行對外開放的介面,  這些介面有許可權控制,一般需要鑒權碼token才可以訪問。那為什麼要鑒權碼呢?如果沒有鑒權碼約束,那是不是誰也可以修改銀行內部的數據?那還得了,那就真可以定一個小目標了!

2.介面一般來說有兩種:一種是程式內部的介面,一種是系統對外的介面。

系統對外的介面:比如你要從別的網站或伺服器上獲取資源或資訊,別人肯定不會把數據共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的介面就能使用他寫好的方法,從而達到數據共享的目的,比如說咱們用的app它在進行數據處理的時候都是通過介面來進行調用的。

程式內部的介面:方法與方法之間,模組與模組之間的交互,程式內部拋出的介面,比如bbs系統,有登錄模組、發帖模組等等,那你要發帖就必須先登錄,要發帖就得登錄,那麼這兩個模組就得有交互,它就會拋出一個介面,供內部系統進行調用。

二、介面協議以及對應的介面測試工具

1、基於http協議的介面:

http協議又叫超文本傳輸協議,主要是用於瀏覽器和伺服器之間交互數據,這種介面常使用get和post兩種方法請求,基於這種協議開發的介面是目前市面上面最多的!一般使用的介面測試工具有:

Postman

Jmeter

2、基於webService協議的介面

webService是基於soap的通訊協議,請求和返回報文一般是xml格式的。一般使用的介面測試工具有:

SoapUI

3、基於Dubbo協議的介面

1、dubbo 預設協議 採用單一長連接和NIO非同步通訊,適合於小數據量大並發的服務調用,以及服務消費者機器數遠大於服務提供者機器數的情況
2、不適合傳送大數據量的服務,比如傳文件,傳影片等,除非請求量很低。

3、基於Dubbo協議的介面一般也是使用SoapUI工具進行測試。

三、介面測試如何設計測試用例?

介面測試一般考慮入參形式的變化和介面的業務邏輯,一般設計介面測試用例採用等價類、邊界值、場景法居多!

介面測試設計測試用例的思路如下:
1.介面業務邏輯測試?(正例)
      介面邏輯測試是指根據業務邏輯、輸入參數、輸出值的描述,對正常輸入情況下所得的輸出值
      是否正確的測試,也就是測試對外提供的介面服務是否正常工作。
2.模組介面測試?(反例)
      模組介面測試是為了保證數據的安全及程式在異常情況下的邏輯的正確性而進行的測試。?
      模組介面測試的主要包括以下幾個方面?


      1)鑒權碼token異常(鑒權碼為空<沒有鑒權碼>,錯誤的鑒權碼,過期的鑒權碼)。
      2)其他參數異常。
          1、必填項檢查
          2、參數的長度、類型、格式異常:
                常規參數:(數字、字元串、日期)
                參數長度:6-18位。或身份證、電話的長度。
                參數類型:數字(精度),字母,中文,帶空格的參數,特殊字元。
                日期格式:日期:年月日,年月日時分秒,日期格式(包括/,-,:等)。
      3)錯誤碼異常覆蓋。
      4)介面測試其他的關注點
          介面有翻頁時,頁碼與頁數的異常值測試
          資料庫的增刪改查,比如一個post介面操作完成後,通過列表頁介面看下新的數據是否和剛才的post一致
          介面返回的圖片地址能否打開,圖片尺寸是否符合需求
          當輸出參數有聯動性時,需要校驗返回兩參數的實際結果是否都符合需求。
          所有列表頁介面必須考慮排序值
          所有功能都要考慮兼容舊版本

四、介面組成?

1.介面都有那些部分組成呢?

由介面文檔可知,介面至少應有:請求地址、請求方法、請求參數(入參和出參)組成,部分介面有請求頭header。

2.header請求頭和入參都是發送到伺服器他們有什麼區別呢?

首先,它們確實都是發送到伺服器里的參數,但它們是有區別的,header里存放的參數一般存放的是一些校驗資訊,比如cookie,它是為了校驗這個請求是否有許可權請求伺服器,如果有,它才能請求伺服器,然後把請求地址連同入參一起發送到伺服器,然後伺服器會根據地址和入參來返回出參。也就是說,伺服器是先接受header資訊進行判斷該請求是否有許可權請求,判斷有許可權後,才會接受請求地址和入參的。

五、總結

如果你覺得此文對你有幫助,如果你對此文有任何疑問,如果你對軟體測試、介面測試、自動化測試、面試經驗交流感興趣歡迎加入:

軟體測試技術群:695458161,群里發放的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

作者:諸葛
出處://www.cnblogs.com/csmashang/p/12741059.html
原創不易,歡迎轉載,但未經作者同意請保留此段聲明,並在文章頁面明顯位置給出原文鏈接。