《1-酷家樂低代碼接口自動化最佳實踐-酷家樂-劉鴿(神雕).pdf》由會員分享,可在線閱讀,更多相關《1-酷家樂低代碼接口自動化最佳實踐-酷家樂-劉鴿(神雕).pdf(45頁珍藏版)》請在三個皮匠報告上搜索。
1、講 師:劉鴿(神雕)阿里,酷家樂測試開發經歷 現酷家樂質量效能團隊定制業務測試專家 對自動化測試和工具構建有濃厚興趣分享人簡介C O N T E N T W S單體應用VS微服務架構 生產力比較AB單體應用AB1B4B2B3微服務化微服務下接口測試訴求增加單元測試接口自動化UI自動化UI自動化單元測試接口自動化單體應用傳統金字塔觀點微服務化實際自動化現狀上浮內部調用To遠程調用測試對象不是代碼本身而是整個系統在線設計工具組合場景多,異步接口多出入參結構體大,校驗難度高應用多,400+后端應用微服務對比項本地代碼可視化平臺編寫成本編寫成本高簡單接口編寫成本低對人員能力需要代碼能力不需要代碼能力結
2、果查看和統計間接轉化為html報告統計更清晰維護更新成本維護成本偏高維護成本降低運行和調度依賴任務調度任務調度自我集成開源接口測試平臺的優勢調試運行遷移腳本導入本地JAVA工程使用開源接口測試平臺(Metersphere)借助通用開源平臺解決了接口測試基礎問題 校驗不能只看response 覆蓋率高但bug發現率低response返回結果assertrequestStep1:接口調用1Step2:接口調用2Step3:接口調用3結果查詢和校驗不能只依賴測試不能只依賴契約測試多接口串聯測試符合業務場景01測試服務化抽象測試腳本無法提供服務02場景編排問題可視化編排操作復雜,喪失代碼靈活度03數據
3、驅動問題不同特征數據如何管理和更新基線04接口校驗成本高復雜接口返回大Json如何校驗標題最佳實踐本地接口測試在線化測試服務化分層放棄可視化場景編排數據驅動對比測試統一JsonDiff建設被測服務注冊和管理測試服務能力分層低代碼編排場景借助gpt進行代碼生成基于對比測試來構建自動化流量錄制截取數據數據驅動+測試報告一體公司級的jsondiff能力jsondiff規則共享測試服務化分層改造實踐一痛點 02測試腳本無法提供遠程服務痛點 01測試代碼工程和工具兩套代碼痛點 04測試代碼owner維護機制缺失痛點 03不同業務測試能力規劃不統一觀點:微服務化解決測試分層問題自動化業務case公共方法層
4、初始化數據數據驅動運行報告任務調度-Jenkins業務腳本組織測試API編排數據驅動結果對比API注冊本地測試框架測試服務層任務調度測試Case層單體工程微服務化測試數據準備能力json對比能力圖片對比能力測試數據查詢能力數據解析能力體現服務化優勢測試腳本能力暴露開發服務配置轉化為統一測試服務API測試API編排結果對比API注冊測試服務層業務測試服務被測系統服務注冊統一域名參數格式標準化結果標準化簡化調用標準化API后易于構建工具API配置工具配置工具暴露高效對服務進行流程編排實踐二痛點:前端交互設計要求高復雜的編程組合難實現復雜邏輯可能導致流程圖復雜運行和調試效率低觀點:腳本語言解決編排問
5、題借助代碼做擅長的事情流程編排基于Groovy在線編輯即刻生效Groovy兼容java代碼業務類型在線平臺易用度本地編程靈活度調試/運行效率更高測試服務組合后成為新測試服務測試服務自增長params=toolId:178,actualParams:id:$id;kuta_res=groovy.callTool(params,cookie);服務調用參數標準化自定義函數作為promptsChatGPT給出Groovy代碼數據驅動的對比測試實踐三01測試數據不豐富02業務細節頻繁變化03數據更新校驗易錯04期望值維護成本高痛 點對比測試模式流量錄制測試環境定向錄制對賬系統推薦流量篩選接口輸入轉化為
6、數據驅動case被測系統返回數據基線采集被測系統返回數據實際數據對比結果測試用例管理測試數據管理預期基線管理結果展示業務測試小站在線數據驅動優勢可批量更新和管理預期值Case查看篩選更易用運行結果清晰運行狀況監控實時對比調試公司級統一JsonDiff實踐四Json結構復雜動輒幾兆Json對比邏輯分散各處代碼個性化對比規則無法共享通用json對比包無法直接使用傳統的json校驗問題:復雜json字段的對比噪音困難根據jsonpath校驗維護成本高各小組實現json對比邏輯重復建設常見規則:忽略字段id,timeStamp 約定容差0.9991.001 JsonArray根據Id排序基于開源庫可擴
7、展的規則提供jar和在線服務提供json對比界面建立統一json對比能力建立json對比規則庫規則由業務線維護統一管理對比規則json對比使用方簡化根據json特點自動識別規則規則舉例json對比流程接口自動化平臺對接口返回內容對比本地UI自動化增強UI自動化校驗流量回放系統流量回放結果對比數據對賬系統對實際業務數據進行基線對比問題定位工具在線json對比頁面統一Jsondiff共享對比規則未來:json對比規則借助ChatGPT生成?前端核心模塊底層服務基建測試小站服務python自定義服務HTTP調用層內置方法Groovy執行器Metabase報表數據表接入看板配置數據聚合腳本調試運行腳本
8、儲存統一權限中心Pub部署Moon部署域名系統OA系統工單系統個人搜藏搜索報表鏈路管理Groovy編輯器業務分類工具管理API管理配置解析生成界面生產被測服務加密/解密Cookies代理post/get/put 調用返回結果封裝數據存儲chatGPT代理接口網絡安全amis支持普通API配置工具服務化配置Groovy API配置和調試數據統計報表調用日志審計業務線分組工單關聯工具服務提供工具說明文檔服務owner維護調用代碼生成業務小站流量錄制接口測試平臺業務生產系統Groovy調試器API管理JSON對比圖片對比工具管理GroovyAPI低代碼服務層工具平臺層被測系統接口測試平臺(Metersphere)覆蓋率統計(Kafu)錄制/回放(Kurepeater)BVT平臺業務自建平臺本地腳本工程測試服務層(Kuta)流量管理編寫和執行構建觸發運行統計持續集成觸發(Moon)數據度量(kerrigan)對賬系統(BCS)5個業務線場景用例 暴露輸出查詢工具208 錄入550+接口場景case更低的接入成本更高的BUG發現率 注冊服務化API 260+平均自動化bug發現率10%(自動化bug/總bug量)編寫成本用例有效性可維護性 測試場景真實性 面向業務覆蓋率統計 線上流量利用 AI參與、MBT生成 測試服務分層抽取 AI參與失敗case的修正酷家樂質量效能公眾號