眾所周知,軟體服務及元件之間的互動主要依賴大量的API介面。
以華為雲端300多個商用雲端服務為例,平均每個服務含500 接口,接口總數高達10萬 ,接口調用上下文業務場景超乎想像的錯綜複雜。
如何保障API測試場景盡量完備、不遺漏、不造成嚴重現網問題?這是當前人們遇到的經典難題,而其中常見的瓶頸主要如下:
那麼,華為雲是如何破解這些問題的呢?
ATGen (APITestGenerator) 是一種基於上下文感知(Context-aware)的API場景級零代碼自主測試生成服務,實現應用API場景級測試全自動設計、生成、執行和判定,整個過程無需編寫一行程式碼。
傳統的測試設計和執行互動模式,需要人工理解設計文檔、編排測試方案、測試自動化開發,這要求參與者熟知產品或服務業務及介面文檔,熟練測試技術、測試自動化框架、測試自動化程式碼編寫。
如今,在自主設計、自主產生、自主執行、自主判定的AI演算法加持下,API場景層級測試的人機互動模式已發生了巨大的轉變。
#在測試過程中,機器自主解析文件和數據,自動產生API場景層級操作依賴ODG(OperationDependencyGraph)圖,測試人員只需做適量修訂,機器便可自主探索遍歷ODG圖執行,並同步完成結果的判定和報告的生成,測試人員只需按類批量確認結果。
華為雲ATGen基於正向API介面定義文檔,自動挖掘API測試上下文操作依賴圖(ODG),探索遍歷ODG自主產生API測試序列,即時建構並下發API測試請求,判定API測試響應結果,動態修正ODG圖,優化下一輪生成。
華為雲端ATGen六大關鍵特性:
*具體技術細節可參考發表在ICSE, ASE的頂會論文【1,2】。
華為雲端ATGen業務價值與應用前景:
#華為雲ATGen在華為內部已規模部署30 產品服務日常應用,以三個維度來度量業務應用效果:
華為內部三個典型的業務應用場景實踐
# 產品形態:儲存管理&控制服務類雲端化產品,北向服務化,南向控制嵌入式儲存設備
測試團隊規模:50 人
北向Restful介面總數:2300
應用前現況:團隊新成立,缺乏介面和功能測試自動化防護網
應用模式:從零快速建置起介面測試和功能測試防護網測試案例
應用效果:共發現350 個介面有缺陷,涵蓋3大類缺陷,API介面等級請求有效性可達80% ,誤報率10%。
# 產品形態:營運商&企業網路保障&智慧維運類雲服務,公有雲/私有雲部署
測試團隊規模:50人
北向Restful介面總數:10000
應用前現況:8000 介面&功能測試案例
應用模式:對現有測試案例的覆蓋增強補充
應用效果:場景測試涵蓋提升30%,新發現30 深層業務邏輯問題,樣例如下:
# 產品形態:XX工具類雲原生服務
測試團隊規模:全功能團隊,無專職測試
Restful介面總數:1300
應用前現況:10000 介面測試案例
應用模式:將ATGen整合到工具服務alpha、beta環境流水線,build完成及回歸測試任務之後自動觸發生成任務檢測是否有失敗接口,作為alpha、beta門禁加固
應用效果:補充發現60 個介面缺陷,API介面測試產生有效性可達82%。
面對雲化產品版本的快速迭代,應用場景的日益豐富,產品功能漸趨複雜,完全依靠人員測試經驗來保障品質變得越來越困難,自主生成全場景功能測試機器人ATGen應運而生,可實現低成本、零碼、高覆蓋、低誤報的API全場景測試,持續為開發者提供優質服務。
【1】“MOREST: Model-based RESTful API Testing with Execution Feedback”,ICSE ’22,
【2】「Industry practice of automatic RESTful API testing」, ASE’22
追蹤@華為雲,了解更多資訊
以上是API全場景零碼測試機器人,華為雲端發布ATGen in CodeArts TestPlan的詳細內容。更多資訊請關注PHP中文網其他相關文章!