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