在上次的自動化測試系列(一)中爲你們大致介紹了自動化測試的概念,本文主要針對API測試的概念及API測試在Choerodon豬齒魚中的實踐展開。chrome
API(應用程序編程接口)測試是一種軟件測試,能夠直接在API級別執行驗證。它是集成測試的一部分,它肯定API是否知足測試人員對功能,可靠性,性能和安全性的指望。與UI測試不一樣,API測試是在沒有GUI的消息層執行的。編程
接口(API)是各類系統功能的基礎,一旦接口出現問題可能會引發許多系統功能的問題而且不容易定位。而接口測試則幫助節省了測試成本,促進了測試前移。如圖所示,在軟件的自動化測試金字塔中,越是底層的測試,越是可以提早發現Bug,而在底層發現的這些Bug形成的影響每每也會更大。因此,咱們倡導測試前移,也就是說,在金字塔中層級越低,佔的比重應該更大。(可是在實際工做中,單元測試對技術專業性要求更高,不少狀況下都是由開發來實施,所以咱們能夠先選擇接口測試來更早地介入測試。)瀏覽器
其次,接口測試相較於傳統的功能測試,接口測試可以更好地解決系統測試的複雜度問題,同時避免了UI層可能不穩定的問題,以此來提升測試人員的工做效率。安全
經過將API測試任務集成至應用流水線,Choerodon平臺實現了接口測試的自動化。性能
本次旨在爲你們介紹在Choerodon豬齒魚 V0.24.0商業版中API測試相關的功能。單元測試
Choerodon中的接口測試模塊經過集成Jmeter,實現了API用例的添加、歸集、管理與執行的功能。其中支持基於接口URL或Swagger文檔快速編排接口測試用例,而導入或添加API測試用例的整個過程免代碼編寫,技術門檻低,適合敏捷團隊中各個角色使用。測試
API測試用例主要由4個部分組成,分別是:用例的基礎信息、前置步驟、請求腳本以及斷言。
spa
導入用例
的功能支持將已有的接口及其相關信息批量快速地導入到用例庫中,並自動生成符合規範的API測試用例。目前支持Swagger導入用例
與cURL導入用例
方式。命令行
Swagger導入用例
支持輸入Swagger URL從Swagger中批量導入API測試文檔中已經維護的接口信息。
cURL導入用例
支持從瀏覽器(如chrome、safari)中複製請求爲cURL格式,並將其粘貼進圖中的命令行中便可。
執行API測試用例時,需選擇API測試用例,並支持選擇API測試任務-任務配置
頁面已經維護好的任務配置,同時支持在此基礎上進行修改,或者直接輸入各項配置。code
執行配置中設置的參數支持用於這次執行的全部用例,避免重複屢次的維護相同的用例信息。
API測試任務是某些特定用例的集合(這裏能夠是產品的某個版本中的API測試用例,或者是其中某個功能塊的API測試用例的集合);從API測試用例庫中選擇用例建立API測試任務成功後,便能以API測試任務爲總體來執行該任務。此外,應用流水線中也集成了API測試任務,從而實現了API測試的自動化執行。
建立API測試任務時,需選擇API測試用例,做爲API測試任務中執行的對象。支持選擇API測試任務-任務配置
頁面已經維護好的任務配置,同時支持在此基礎上進行修改,或者直接輸入各項配置做爲此任務的通用配置。
任務配置中設置的參數支持用於API測試任務中執行的用例,避免重複屢次的維護相同的用例信息。
API測試任務
菜單下,可查看全部API測試任務
的執行記錄,除此以外,還支持查看直接經過執行用例而產生的用例執行
的記錄。
測試記錄中包含了兩部分,分別是:執行概覽與執行結果詳情;
1. 執行概覽:其中包括記錄的編號、執行結果、執行者、開始時間、執行耗時、用例經過率、執行成功的用例數、執行失敗的用例數。 2. 執行結果詳情:即每一個用例的執行詳情查看;其中包括:用例請求的基本信息(請求方式、URL)、用例執行狀態、開始時間、執行耗時、斷言的經過狀況、請求頭、請求體、狀態碼、響應頭以及響應體。
任務配置用於爲執行用例或執行API測試任務提供基礎的配置,其中包括:全局請求頭配置、全局請求配置、受權管理配置以及用戶變量配置,以此來避免在多個用例中頻繁重複地配置這些參數。
流水線中API測試任務
目前僅支持Choerodon商業版能選擇。當API測試任務觸發後,會馬上執行選中的測試任務。
注意:該類型的CD任務僅Choerodon商業版可用。
持續測試是DevOps流程中重要的一環,而API測試能幫助實現測試前移,從而幫助團隊下降測試成本,更快地發現缺陷與問題。