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