接口自動化化實現基本方式:
- 什麼是接口測試
- 基本流程
- 需求分析
- 用例設計
- 腳本開發
- 結果分析
使用框架Maven+TestNg+Jenkins+Java
- 什麼是接口測試
顧名思義,接口測試是對系統或組件之間的接口進行測試,主要是校驗數據的交換,傳遞和控制管理過程,以及相互邏輯依賴關係。其中接口協議分爲HTTP,WebService,Dubbo,Thrift,Socket等類型,測試類型又主要分爲功能測試,性能測試,穩定性測試,安全性測試等。
在分層測試的“金字塔”模型中,接口測試屬於第二層服務集成測試範疇。相比UI層(主要是WEB或APP)自動化測試而言,接口自動化測試收益更大,且容易實現,維護成本低,有着更高的投入產出比,是每個公司開展自動化測試的首選。
下面我們以一個HTTP接口爲例,完整的介紹接口自動化測試流程:從需求分析到用例設計,從腳本編寫、測試執行到結果分析,並提供完整的用例設計及測試腳本。
-
基本流程
基本的接口功能自動化測試流程如下:
需求分析 -> 用例設計 -> 腳本開發 -> 測試執行 -> 結果分析 -
需求分析
需求分析是參考需求、設計等文檔,在瞭解需求的基礎上還需清楚內部的實現邏輯,並且可以在這一階段提出需求、設計存在的不合理或遺漏之處。 -
用例設計
用例設計是在理解接口測試需求的基礎上,使用MindManager或XMind等思維導圖軟件編寫測試用例設計,主要內容包括參數校驗,功能校驗、業務場景校驗、安全性及性能校驗等,常用的用例設計方法有等價類劃分法,邊界值分析法,場景分析法,因果圖,正交表等。
- 腳本開發
依據上面編寫的測試用例設計,我們使用Maven+Java+TestNg+Jenkins框架編寫了相關自動化測試腳本。可以完整實現接口自動化測試、自動執行及郵件發送測試報告功能。
5.1 相關Maven安裝
5.2 接口調用
使用requests庫,我們可以很方便的編寫上述接口調用方法
5.3我們按照測試用例設計,依次編寫每個功能的自動化測試腳本即可。
5.4 結果校驗
在手工測試接口的時候,我們需要通過接口返回的結果判斷本次測試是否通過,自動化測試也是如此。
5.4 執行測試
5.5 發送郵件報告
測試完成之後,我們可以使用TestNg模塊提供的方法發送html格式測試報告。基本流程是讀取測試報告 -> 添加郵件內容及附件 -> 連接郵件服務器 -> 發送郵件 -> 退出,示例代碼如下:
複製代
6. 結果分析
打開nosetests運行完成後生成的測試報告,可以看出本次測試共執行了51條測試用例,50條成功,1條失敗。