自動化測試系列(二)|API測試

圖片

在上次的自動化測試系列(一)中爲大家大體介紹了自動化測試的概念,本文主要針對API測試的概念及API測試在Choerodon豬齒魚中的實踐展開。

API(應用程序編程接口)測試是一種軟件測試,可以直接在API級別執行驗證。它是集成測試的一部分,它確定API是否滿足測試人員對功能,可靠性,性能和安全性的期望。與UI測試不同,API測試是在沒有GUI的消息層執行的。

什麼是API測試

接口(API)是各種系統功能的基礎,一旦接口出現問題可能會引起許多系統功能的問題並且不容易定位。而接口測試則幫助節省了測試成本,促進了測試前移。如圖所示,在軟件的自動化測試金字塔中,越是底層的測試,越是能夠提前發現Bug,而在底層發現的這些Bug造成的影響往往也會更大。所以,我們倡導測試前移,也就是說,在金字塔中層級越低,佔的比重應該更大。(但是在實際工作中,單元測試對技術專業性要求更高,很多情況下都是由開發來實施,因此我們可以先選擇接口測試來更早地介入測試。)

image

其次,接口測試相較於傳統的功能測試,接口測試能夠更好地解決系統測試的複雜度問題,同時避免了UI層可能不穩定的問題,以此來提高測試人員的工作效率。

通過將API測試任務集成至應用流水線,Choerodon平臺實現了接口測試的自動化。

怎樣使用Choerodon API測試功能?

本次旨在爲大家介紹在Choerodon豬齒魚 V0.24.0商業版中API測試相關的功能。

API測試用例管理

Choerodon中的接口測試模塊通過集成Jmeter,實現了API用例的添加、歸集、管理與執行的功能。其中支持基於接口URL或Swagger文檔快速編排接口測試用例,而導入或添加API測試用例的整個過程免代碼編寫,技術門檻低,適合敏捷團隊中各個角色使用。

  • 創建API測試用例

API測試用例主要由4個部分組成,分別是:用例的基礎信息、前置步驟、請求腳本以及斷言。 image

  • 前置步驟用於爲執行用例請求做前置準備,分爲:前置請求、生成隨機數據、前置等待3種類型。
  • 請求腳本中包含了:選擇請求方式、維護URL、維護請求頭、請求參數或請求體,同時還能從對應的響應結果中提取出變量供後續的用例引用。
  • 斷言用於對用例執行後的響應結果做判斷,判斷請求執行後的響應結果是否滿足我們的預期。若滿足,則稱之爲:通過斷言;不滿足,則爲:不滿足斷言;
  • 導入API測試用例

導入用例的功能支持將已有的接口及其相關信息批量快速地導入到用例庫中,並自動生成符合規範的API測試用例。目前支持Swagger導入用例cURL導入用例方式。

  • Swagger導入用例支持輸入Swagger URL從Swagger中批量導入API測試文檔中已經維護的接口信息。

image

  • cURL導入用例支持從瀏覽器(如chrome、safari)中複製請求爲cURL格式,並將其粘貼進圖中的命令行中即可。

image

  • 執行API測試用例

image

執行API測試用例時,需選擇API測試用例,並支持選擇API測試任務-任務配置頁面已經維護好的任務配置,同時支持在此基礎上進行修改,或者直接輸入各項配置。

執行配置中設置的參數支持用於此次執行的所有用例,避免重複多次的維護相同的用例信息。

API測試任務

API測試任務是某些特定用例的集合(這裏可以是產品的某個版本中的API測試用例,或者是其中某個功能塊的API測試用例的集合);從API測試用例庫中選擇用例創建API測試任務成功後,便能以API測試任務爲整體來執行該任務。此外,應用流水線中也集成了API測試任務,從而實現了API測試的自動化執行。

  • 創建API測試任務

創建API測試任務時,需選擇API測試用例,作爲API測試任務中執行的對象。支持選擇API測試任務-任務配置頁面已經維護好的任務配置,同時支持在此基礎上進行修改,或者直接輸入各項配置作爲此任務的通用配置。

任務配置中設置的參數支持用於API測試任務中執行的用例,避免重複多次的維護相同的用例信息。

  • API測試任務記錄

API測試任務菜單下,可查看所有API測試任務的執行記錄,除此之外,還支持查看直接通過執行用例而產生的用例執行的記錄。

測試記錄中包含了兩部分,分別是:執行概覽與執行結果詳情;

1. 執行概覽:其中包括記錄的編號、執行結果、執行者、開始時間、執行耗時、用例通過率、執行成功的用例數、執行失敗的用例數。
2. 執行結果詳情:即每個用例的執行詳情查看;其中包括:用例請求的基本信息(請求方式、URL)、用例執行狀態、開始時間、執行耗時、斷言的通過情況、請求頭、請求體、狀態碼、響應頭以及響應體。

image

  • 任務配置管理

任務配置用於爲執行用例或執行API測試任務提供基礎的配置,其中包括:全局請求頭配置、全局請求配置、授權管理配置以及用戶變量配置,以此來避免在多個用例中頻繁重複地配置這些參數。

image

  • 流水線中集成API測試任務

流水線中API測試任務目前僅支持Choerodon商業版能選擇。當API測試任務觸發後,會立刻執行選中的測試任務。

注意:該類型的CD任務僅Choerodon商業版可用。

  • 選擇添加此類型任務後,首先需要填寫任務名稱、配置觸發分支;觸發分支的匹配方式支持:分支類型匹配、正則匹配、精確匹配以及精確排除。
  • 選擇API測試任務:此處僅支持選擇項目下已有的API測試任務。

總結

持續測試是DevOps流程中重要的一環,而API測試能幫助實現測試前移,從而幫助團隊降低測試成本,更快地發現缺陷與問題。

關於豬齒魚

Choerodon豬齒魚作爲開源全價值鏈多雲敏捷協作平臺,是基於開源技術的Kubernetes,Istio,knative,Gitlab,Spring Cloud來實現本地和雲端環境的集成,實現企業多雲/混合雲應用環境的一致性。平臺通過提供精益敏捷,持續交付,容器環境,微服務,DevOps等能力來幫助組織團隊來完成軟件的生命週期管理,從而轉變,更替代地交付更穩定的軟件。

更多內容

大家可以通過以下社區途徑瞭解Choerodon豬齒魚文檔,最新動態,產品特性:

【Choerodon官網】

https://choerodon.io/zh/

【漢得開放平臺】

https://open.hand-china.com/

【漢得開放論壇】

https://openforum.hand-china.com/

也可以加入Choerodon豬齒魚官方社區用戶交流羣,交流豬齒魚使用心得,Docker,微服務,K8S,敏捷管理等相關理論實踐心得,羣同步更新版本更新等信息,大家可以加羣討論交流。

①-Choerodon豬齒魚官方交流(已滿);

②-Choerodon豬齒魚官方交流(可加);【微信號發至客服郵箱[email protected],運營小夥伴拉您入官方交流羣】

歡迎加入Choerodon豬齒魚社區,共同爲企業數字化服務打造一個開放的生態平臺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章