首頁  >  文章  >  科技週邊  >  API全場景零碼測試機器人,華為雲端發布ATGen in CodeArts TestPlan

API全場景零碼測試機器人,華為雲端發布ATGen in CodeArts TestPlan

王林
王林轉載
2023-06-06 13:11:47781瀏覽

眾所周知,軟體服務及元件之間的互動主要依賴大量的API介面。
以華為雲端300多個商用雲端服務為例,平均每個服務含500 接口,接口總數高達10萬 ,接口調用上下文業務場景超乎想像的錯綜複雜。

如何保障API測試場景盡量完備、不遺漏、不造成嚴重現網問題?這是當前人們遇到的經典難題,而其中常見的瓶頸主要如下:

  • 目前介面測試設計依賴人員經驗,測試資料建構手段單一,難以反應現網真實應用資料分佈場景;
  • 面對成千上萬的API接口,可構成上萬甚至十幾萬的操作路徑,E2E場景測試編排工作量巨大;
  • 現有的API介面測試產生工具,基本上採用Fuzz測試基於程式碼覆蓋目標引導的SBST,或基於現網資料的單一介面回放,不感知介面業務上下文,對於多介面功能互動場景,產生有效性較差且效率低。

那麼,華為雲是如何破解這些問題的呢?

▶華為雲端ATGen:感知API介面上下文,自主產生API全場景測試,變革人機互動模式

ATGen (APITestGenerator) 是一種基於上下文感知(Context-aware)的API場景級零代碼自主測試生成服務,實現應用API場景級測試全自動設計、生成、執行和判定,整個過程無需編寫一行程式碼。

傳統的測試設計和執行互動模式,需要人工理解設計文檔、編排測試方案、測試自動化開發,這要求參與者熟知產品或服務業務及介面文檔,熟練測試技術、測試自動化框架、測試自動化程式碼編寫。

如今,在自主設計、自主產生、自主執行、自主判定的AI演算法加持下,API場景層級測試的人機互動模式已發生了巨大的轉變。

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

  • 智慧演算法加持下ATGen人機互動模式

#在測試過程中,機器自主解析文件和數據,自動產生API場景層級操作依賴ODG(OperationDependencyGraph)圖,測試人員只需做適量修訂,機器便可自主探索遍歷ODG圖執行,並同步完成結果的判定和報告的生成,測試人員只需按類批量確認結果。

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

▶華為雲端ATGen:亮點技術與業務價值

華為雲ATGen基於正向API介面定義文檔,自動挖掘API測試上下文操作依賴圖(ODG),探索遍歷ODG自主產生API測試序列,即時建構並下發API測試請求,判定API測試響應結果,動態修正ODG圖,優化下一輪生成。

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

華為雲端ATGen六大關鍵特性:

    #
  • 支援基於Rest API介面定義Yaml文件零碼全自動智慧測試產生;
  • 感知Rest API 介面呼叫上下文:解析介面定義Yaml文檔,挖掘API介面間出參與入參的上下文傳參依賴,以及CRUD增刪改查依賴,產生介面操作序列依賴圖ODG ;
  • 自主探索遍歷與修正ODG:探索遍歷ODG批次產生測試序列,自動下發執行,依據回應回饋動態修正ODG圖;
  • 13種介面測試資料產生方法:支援介面上下文自動傳參、重複使用字典取值、enum值、example值、example變異值、邊界值、中間值、隨機值等13種測試資料產生方法;
  • 自動挖掘生成測試判定點:基於介面定義和狀態碼產生顯性測試判定點;
  • 測試結果聚類和批次高效確認:支援依照業務回傳碼、相似子序列,參數產生類型對測試結果分層聚類,以便於測試人員按類別批次確認失敗,並一鍵提單;

*具體技術細節可參考發表在ICSE, ASE的頂會論文【1,2】。

華為雲端ATGen業務價值與應用前景:

#
  • 快速建置介面與功能品質防護網:對於新成立的產品服務團隊,或無專職測試人員的全功能團隊,可實現少人參與或無人參與的零程式碼全自動介面全場景層級測試,快速建構起介面級與功能場景層級測試基礎品質防護網;
  • 低成本、高覆蓋率:對於有專職測試人員、測試專家、成熟度較高的測試團隊,可以極大提升測試設計效率, 低成本實現更高的測試場景覆蓋率和缺陷攔截率;
  • 流水線品質門禁加固:可與現有流水線集成,加固現有冒煙測試門禁,進一步攔截業務邏輯深度缺陷;
  • 面向介面的全場景全屬性測試無碼化:可以在API正常場景測試基礎上實現異常場景(可靠性測試)和並發場景(效能壓力模型)的全自動化生成,完全取代現有介面fuzz測試,實作介面全場景測試零碼。

華為雲ATGen在華為內部已規模部署30 產品服務日常應用,以三個維度來度量業務應用效果

  • 產生有效性:包含介面請求成功通過率,請求成功的最長序列長度和長度分佈,業務採納並基線化沉澱的用例數等;
  • 缺陷偵測數:缺陷攔截能力,即發現產品服務缺陷的問題數及誤報率;
  • 覆蓋率:包含白灰黑盒覆蓋,即程式碼覆蓋、介面及參數組合覆蓋、業務場景覆蓋等。

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

華為內部三個典型的業務應用場景實踐

  • 業務應用程式場景1
# 產品形態:儲存管理&控制服務類雲端化產品,北向服務化,南向控制嵌入式儲存設備
測試團隊規模:50 人
北向Restful介面總數:2300
應用前現況:團隊新成立,缺乏介面和功能測試自動化防護網
應用模式:從零快速建置起介面測試和功能測試防護網測試案例
應用效果:共發現350 個介面有缺陷,涵蓋3大類缺陷,API介面等級請求有效性可達80% ,誤報率10%。

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

  • 業務應用程式場景2
# 產品形態:營運商&企業網路保障&智慧維運類雲服務,公有雲/私有雲部署
測試團隊規模:50人
北向Restful介面總數:10000
應用前現況:8000 介面&功能測試案例
應用模式:對現有測試案例的覆蓋增強補充
應用效果:場景測試涵蓋提升30%,新發現30 深層業務邏輯問題,樣例如下:

API全场景零码测试机器人,华为云发布ATGen in CodeArts TestPlan

  • 業務應用程式場景3
# 產品形態: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中文網其他相關文章!

陳述:
本文轉載於:sohu.com。如有侵權,請聯絡admin@php.cn刪除