這半年我做交易鏈路自動化回歸的那些事兒...
2023-01-23 | 09:20 | 發(fā)布在分類 / 跨境運營 | 閱讀:82
2023-01-23 | 09:20 | 發(fā)布在分類 / 跨境運營 | 閱讀:82
閑魚交易鏈路作為應用中關鍵鏈路的一環(huán),具有多業(yè)務、多狀態(tài)、多操作的特征。以訂單操作舉例:不同的訂單類型、訂單狀態(tài)包含不同的操作;不同操作下觸發(fā)的業(yè)務行為、領域服務的交互行為也各不相同。
交易鏈路質量穩(wěn)定性保障的測試難點包括:
帶著這些問題,閑魚交易鏈路自動化回歸采用接口+鏈路的驗證,在應用交付的全生命周期內,在發(fā)布流水線中不斷運行自動化測試,保障全鏈路,把控發(fā)布質量,成為應用真正上線的最后一道防線。
通過接口流量錄制回放、定海神針場景鏈路驗證的方式,形成自動化測試任務集,在交易核心應用發(fā)布過程中,新增發(fā)布流水線的測試驗證節(jié)點,當應用完成安全生產環(huán)境部署后,自動化觸發(fā)執(zhí)行關聯(lián)的測試任務。測試任務執(zhí)行后,驗證當前的自動化結果情況、應用核心測試集校驗情況。根據(jù)應用預先配置的卡點閥值來判斷卡點校驗是否通過。如果卡點校驗通過,則可以繼續(xù)進行后續(xù)的發(fā)布流程。如果卡點校驗未通過(即自動化驗證失?。?,需要立即定位自動化失敗的具體原因,避免將變更問題帶到線上,以及發(fā)布流程的長時間阻塞?;诖?,來看看閑魚交易下的自動化體系建設思路:
編寫并選擇測試用例是實現(xiàn)自動化驗證的核心。合理的用例設計,既保證自動化的效益和可靠性,又便于測試集的維護和擴展。對于業(yè)務場景多、操作多樣化的閑魚交易域,在自動化測試集設計上,需要確認的問題是:
基于以上的考量,進行接口鏈路的編排,并借助接口測試工具來實現(xiàn)交易場景的自動化覆蓋。借助集團的定海神針平臺,進行鏈路自動化用例編寫,包括以下兩個方面:
在用例編寫前,需要準備有效的測試數(shù)據(jù),使用例能夠真正地執(zhí)行起來。不同類型的商品數(shù)據(jù)、買/賣家用戶身份及賬號數(shù)據(jù)、交易資金等都作為生成交易訂單的預置數(shù)據(jù),需要和用例編寫分開,不僅減少用例執(zhí)行成本,更減少用例之間的耦合度。此方案設計中采用閑魚測試設計的測試數(shù)據(jù)構造平臺進行數(shù)據(jù)生成和獲取。
準備好測試數(shù)據(jù)后,在編寫場景用例時需要注意:
下圖是以閑魚內基礎c2c交易為例,進行業(yè)務測試用例拆分:
完成自動化測試用例沉淀后,將接口、鏈路質量驗證能力與應用發(fā)布關聯(lián)?;谧兏芸兀瓿勺詣踊貧w驗證、發(fā)布卡點。利用發(fā)布流水線將開發(fā)、測試、發(fā)布、驗證等關鍵活動串接在一起,沒有間斷和跳過,流暢優(yōu)雅。首先簡單介紹:
依賴Aone發(fā)布流水線能力,可以在Aone發(fā)布流程中平穩(wěn)地支持測試校驗,自動觸發(fā)和運行測試任務:在交易核心應用變更代碼部署完成后,自動執(zhí)行指定的測試任務校驗測試,更新用例回歸結果并自動決策研發(fā)流程的執(zhí)行,直觀體現(xiàn)質量信息。在自動化驗證失敗時阻斷發(fā)布,進行100%通過率強卡點,即卡點校驗項未通過時,無法繼續(xù)進行后續(xù)的發(fā)布流程,若想繼續(xù)需進行特殊審批。
集團內開放Aone平臺,提供完整的產品全生命周期管理和協(xié)作能力。在應用發(fā)布內,Aone整合了產品部署發(fā)布、持續(xù)集成服務和測試執(zhí)行實驗室,升級流水線能力,關聯(lián)研發(fā)流程中的各個階段,實現(xiàn)了自動化的構建、部署、測試與發(fā)布,確保讓代碼能夠快速、安全的部署到產品生產環(huán)境中,提升整個研發(fā)體系的效率。
這個問題還有疑問的話,可以加幕.思.城火星老師免費咨詢,微.信號是為: msc496。
推薦閱讀:
更多資訊請關注幕 思 城。
微信掃碼回復「666」
別默默看了 登錄 \ 注冊 一起參與討論!