接口測試總結


網絡上接口測試資料很多,但是都是很散亂的,於是整理下資料,就有了這個blog

什么是接口測試

接口測試是測試系統組件間接口的一種測試。

接口測試可以分為哪幾種

  1、系統與系統之間的調用,比如銀行會提供接口供電子商務網站調用,或者說,支付寶會提供接口給淘寶調用

  2、上層服務對下層服務的調用,比如service層會調用DAO層的接口,而應用層又會調用服務層提供的接口,一般會通過

3、服務之間的調用,比如注冊用戶時,會先調用用戶查詢的服務,查看該用戶是否已經注冊。

測試思路

對於接口測試,首先測試人員要懂代碼,你只需要知道接口的作用是什么就可以了(有文檔更好,但大部分都沒有);其次,自己去讀開發的代碼;然后,根據該接口功能及代碼寫測試用例。

用例設計:

1:寫一個程序去調用該接口,看是否能夠達到該接口所定義的功能

2:根據該接口參數,構造不同的用例,測試接口在參數合法及非法情況下能否達到預期效果

3:根據該接口中的邏輯,設計不同條件的用例,測試該接口實現代碼的邏輯

4:進行容錯及健壯性測試

5:靜態檢測代碼,看是否有內存泄露、或永遠走不到的分支、代碼規范及邏輯是否合理。

6:對於一些接口,需要進行多線程測試

實現方法

工具來說是很多的,比如loadrunnersoapUIJemter等都是可以實現的,本文章中就直接用loadrunner實現,下面的是例子,測試的接口WSDL的鏈接:

http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL

接口測試協議說明

接口測試我們一般用WSDL協議的,WSDL是網絡服務描述語言 ,是對Web Service的描述語言,是一種接口定義語言,用於描述Web Service的接口信息等。

測試步驟

創建腳本

LRVirtual User Generator並新建一個協議為“Web Services”的腳本如下圖:

 

導入WSDL 

新建成功后進入功能和編寫界面后,先點擊“Manage Services”打開管理服務界面(如下圖①),在彈出的“Manage Services”窗口中點擊“Import”(如下圖②),然后在新打開的“Import Service”的窗口中選擇WSDL的導入形式(如下圖③)。因根據WSDL來自不同的方式,選擇對應的方式進行導入

 

而本手冊以“URL”的形式進行導入,因此填入對應WSDLURL后點擊“import”(http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDLWSDL為公網的各地市天氣Web ServiceWSDL描述地址)。導入成功后將可以看到該WSDL提供的接口描述信息,最后點擊“OK”完成WSDL導入。

 

選擇發送請求的方法和內容

導入WSDL成功后,進入默認生成的Action函數中,並讓光標停留在該函數中(為了便於后續測試將“Service Call的方法”添加至Action函數中,如下圖①及畫圈處);點擊“Add Service Call”(如下圖②);在打開的“New Web Service Call”窗口中,右上角呈現可調取的方法(如下圖③)。

 

選取其中一個方法“getSupportCityString”,可在下圖中左下角查看到這個方法中的相關參數,而我們主要使用輸入參數“Input Arguments”(具體輸入填寫規則可見WSDL描述文檔,若沒有明確文檔,需與對應開發人員溝通),對應填入合規的請求值“福建”后點擊“OK

 

點擊“OK”后界面回到了腳本編輯界面,並且LR自動把填寫的請求轉化為具體的腳本。我們通過“運行按鈕”(下圖畫圈處)進行回放並查看回放日志結果

 

默認配置的回放日志如下圖

 

若要查看詳細日志可通過Vuser菜單下的“Run-time Settings”中General-log下的日志開啟相應的日志類別,成功設置后將會在下一次回放中生效。(回放內容較多因此不在該冊內貼事例圖)

 

獲取單個結果處理方式

在成功回放腳本后Virture User Generator工具欄點“Tree”(如下圖①)將編寫界面切換至樹形界面,再選擇對應的發送請求動作(如下圖②),並切換至該動作對應的快照頁簽下的接收顯示內容(快照是必須成功回放一次腳本后才可生成)

 

展開上圖的Response信息下的“soap:Body”將呈現服務端返回給我們發出請求的對應數據

 

 

然后我們把其中的一個結果作為參數獲取如下圖:

 

在打開的“XML Parameter Properties”窗口中給該變量定義名稱

 

點擊OK后在Virture User Generator工具欄點“Script”將樹形界面切換至編碼界面,后可見LR對應生成的獲取單個結果的代碼

 

我們通過以下語句進行打印獲取參數的結果以驗證是否正確

lr_output_message(lr_eval_string("{ParamValueA}"));  //{ParamValueA}”對應定義的變量名

 

 

 






免責聲明!

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



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