接口測試總結


一、什么是接口測試

以下是百度百科所定義的接口測試內容:

接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。

接口測試一般包括:接口的功能測試,接口的性能測試,接口的安全測試。

一些大公司會專門設置功能測試組,自動化測試組,性能測試組;

而平時我們所說的接口測試指接口的功能測試具體就包括一些業務功能測試,邊界值測試,參數組合測試,異常情況測試等;

二、什么是接口,接口都有哪些分類

接口:

        做接口測試,首先要了解什么是接口,接口是一種抽象性的概念,編程接口(API)通俗的解釋應該是:一個組件(或程序庫)提供給開發者進行編程使用的,通過代碼可以與之溝通的入口,用於連接連個功能模塊或代碼模塊;接口定義了一種能力,有定義者和實現者,接口定義一般是抽象的,不包括具體實現。

        接口一般分為兩種,一種是程序內部的接口,一種是系統對外的接口;

        程序內部的接口是用於一個系統內程序之間方法與方法,模塊與模塊之間的交互;

        系統對外的接口主要用於共享一些信息,通過一個方法來獲取數據。

常用的接口類型:webservice接口、HTTP接口

webservice接口

Web Service是構建互聯網分布式系統的基本部件,它是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,別人能夠用編程的方法通過Web來調用這個應用程序。

它通過標准通信協議,在互聯網上以服務的方式發布有用的程序模塊,目前大部分是用SOAP作為通信協議。

 它提供一份詳細的接口說明書,來幫助用戶構建應用程序,這個接口說明書叫WSDL(Web服務描述語言,Web Service Description Language)。

請求報文和返回報文都是XML格式的,XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized MarkupLanguage,標准通用標記語言)。

HTTP 接口

HTTP是hypertext transfer protocol(超文本傳輸協議)的簡寫,它是TCP/IP協議的一個應用層協議,用於定義WEB瀏覽器與WEB服務器之間交換數據的過程。客戶端連上 web服務器后,若想獲得web服務器中的某個web資源,需遵守一定的通訊格式,HTTP協議用於定義客戶端與web服務器通迅的格式;http接口最主要的作用是能夠較好地解決不同系統(可能是功能不同、開發語言不同、服務商不同,等等,但都是基於http服務的)之間的交互的需求;

請求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST

 返回的內容為json串形式

json 和xml 的比較,例如:

 

用XML表示《中國》部分省市數據如下:  

 

<?xml version="1.0" encoding="utf-8"?>  

 

<country><name>中國</name>  

 

<province><name>黑龍江</name><cities><city>哈爾濱</city><city>大慶</city></cities></province>

 

<province><name>廣東</name><cities><city>廣州</city><city>深圳</city><city>珠海</city></cities></province>

用JSON表示如下:

 {name:"中國",</country>
  province:[{name:"黑龍江",cities:{city:["哈爾濱","大慶"]}},
                      {name:"廣東",cities:{city:["廣州","深圳","珠海"]}}]}

JSON VS XML 

·可讀性  JSON和XML的可讀性可謂不相上下,一邊是建議的語法,一邊是規范的標簽形式,很難分出勝負。

·可擴展性  XML天生有很好的擴展性,JSON當然也有,沒有什么是XML能擴展,JSON不能的。

·編碼難度  XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的編碼明顯比XML容易許多,即使不借助工具也能寫出JSON的代碼,可是要寫好XML就不太容易了。

·解碼難度  XML的解析得考慮子節點父節點,讓人頭昏眼花,而JSON的解析難度幾乎為0。這一點XML輸的真是沒話說。

·流行度  XML已經被業界廣泛的使用,而JSON才剛剛開始,但是在Ajax這個特定的領域,未來的發展一定是XML讓位於JSON。

 

三、接口測試目的及測試用例設計

1、為什么要做接口測試
     接口測試實際就是黑盒測試,基本的測試思路是通過輸入輸出判斷系統的邏輯,可以更早的發現系統的bug,提高測試效率;
     而且接口測試相對更加簡單,不會受web頁面的干擾,比較容易實現自動化持續集成,減少人工回歸測試的成本,縮短測試周期;
     由於前段與后台系統開發一般是分離的,只依賴前端進行限制已經完全不能滿足系統的安全要求,需要后端同樣進行控制,在這種情況下就需要從接口層面進行驗證。其次一些涉及用戶隱私的也需要前后台同時進行加密驗證。
     從而進一步提高系統的質量。
2、接口測試用例怎么設計
剛剛說了,接口測試實際就是黑盒測試,當然設計用例的時候也能遵循黑盒測試設計用例的規則;
業務功能測試:即正常的業務場景、異常業務場景測試;
邊界值測試:業務規則邊界值,輸入輸出參數的邊界值分析,覆蓋所有必選參數,組合可選參數,參數有、無、null,參數的順序、個數、類型,參數類型數值大小,輸入的位數限制,參數包含特殊字符;
參數組合測試:各必填參數、非必填參數組合;
異常情況測試:重復提交、並發測試、環境異常、0數據、大量數據;
安全測試:敏感信息加密測試(前端傳輸是否加密,后台日志信息是否加密)、sql注入;
 
四、接口測試常用工具
1、切換host工具:SwithHosts  
2、抓包: Charles 、fiddler、wireshark
3、調試工具:firebug等 
4、http測試工具:Postman、HttpRequest、火狐JsonHandle 
5、webservice接口測試工具:soapUI
6、性能測試工具:LoadRunner、Apache JMeter

 后續會具體講解一些常用工具的用法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM