幕思城 > 電商行情 > 跨境電商 > 跨境運營 > 這半年我做交易鏈路自動化回歸的那些事兒...

    這半年我做交易鏈路自動化回歸的那些事兒...

    2023-01-23 | 09:20 | 發(fā)布在分類 / 跨境運營 | 閱讀:82

    閑魚交易鏈路作為應用中關鍵鏈路的一環(huán),具有多業(yè)務、多狀態(tài)、多操作的特征。以訂單操作舉例:不同的訂單類型、訂單狀態(tài)包含不同的操作;不同操作下觸發(fā)的業(yè)務行為、領域服務的交互行為也各不相同。

    問題

    交易鏈路質量穩(wěn)定性保障的測試難點包括:

    1. 1. 改動點涉及的業(yè)務范圍廣、評估難度高:交易承接著10余種復雜多樣的業(yè)務場景和交易模式,一次改動往往涉及所有業(yè)務場景的驗證。更糟糕的是,一次看似不起眼的線上開關值變更,往往依賴業(yè)務經(jīng)驗來評估其影響范圍,給業(yè)務驗證和變更帶來巨大風險。
    2. 2. 新老鏈路需要雙重保障:鏈路上的數(shù)據(jù)結構變動,需要保障新老版本下調用鏈路切換的問題。
    3. 3. 交易鏈路上訂單標的正確性:一筆交易訂單主訂單上就有超過100個標;這些訂單標以及根據(jù)這些標衍生出的業(yè)務場景如何快速校驗?

    帶著這些問題,閑魚交易鏈路自動化回歸采用接口+鏈路的驗證,在應用交付的全生命周期內,在發(fā)布流水線中不斷運行自動化測試,保障全鏈路,把控發(fā)布質量,成為應用真正上線的最后一道防線。

    方案說明

    通過接口流量錄制回放、定海神針場景鏈路驗證的方式,形成自動化測試任務集,在交易核心應用發(fā)布過程中,新增發(fā)布流水線的測試驗證節(jié)點,當應用完成安全生產環(huán)境部署后,自動化觸發(fā)執(zhí)行關聯(lián)的測試任務。測試任務執(zhí)行后,驗證當前的自動化結果情況、應用核心測試集校驗情況。根據(jù)應用預先配置的卡點閥值來判斷卡點校驗是否通過。如果卡點校驗通過,則可以繼續(xù)進行后續(xù)的發(fā)布流程。如果卡點校驗未通過(即自動化驗證失?。?,需要立即定位自動化失敗的具體原因,避免將變更問題帶到線上,以及發(fā)布流程的長時間阻塞?;诖?,來看看閑魚交易下的自動化體系建設思路:

    自動化測試集設計

    編寫并選擇測試用例是實現(xiàn)自動化驗證的核心。合理的用例設計,既保證自動化的效益和可靠性,又便于測試集的維護和擴展。對于業(yè)務場景多、操作多樣化的閑魚交易域,在自動化測試集設計上,需要確認的問題是:

    1. 1. 想要實現(xiàn)自動化驗證最大產出,在開始實施時,應該選擇哪些用例加入自動化測試任務集?
    2. 2. 對于預先定義的一組或多組輸入、輸出數(shù)據(jù),自動化結果具備可預測性嗎?

    基于以上的考量,進行接口鏈路的編排,并借助接口測試工具來實現(xiàn)交易場景的自動化覆蓋。借助集團的定海神針平臺,進行鏈路自動化用例編寫,包括以下兩個方面:

    數(shù)據(jù)預置

    在用例編寫前,需要準備有效的測試數(shù)據(jù),使用例能夠真正地執(zhí)行起來。不同類型的商品數(shù)據(jù)、買/賣家用戶身份及賬號數(shù)據(jù)、交易資金等都作為生成交易訂單的預置數(shù)據(jù),需要和用例編寫分開,不僅減少用例執(zhí)行成本,更減少用例之間的耦合度。此方案設計中采用閑魚測試設計的測試數(shù)據(jù)構造平臺進行數(shù)據(jù)生成和獲取。

    用例編寫

    準備好測試數(shù)據(jù)后,在編寫場景用例時需要注意:

    • 合理分解:拆分復雜交易場景和業(yè)務邏輯,區(qū)分原子場景,避免測試失敗時阻斷其他功能用例的執(zhí)行,快速得到測試結果,提高用例執(zhí)行穩(wěn)定性。
    • 簡化用例:根據(jù)交易鏈路節(jié)點可復用的性質進行用例簡化。例如在場景分解后,驗證發(fā)貨場景時,不需要重復構造訂單數(shù)據(jù),復用上一節(jié)點的訂單即可。復雜的執(zhí)行和校驗可能影響發(fā)布節(jié)奏,給理解、調試和維護帶來更大的成本和挑戰(zhàn)。
    • 多層校驗:設計合理的斷言,避免由于用例原因造成的隨機失敗。校驗規(guī)則覆蓋接口契約、訂單數(shù)據(jù)(訂單標/ 訂單狀態(tài)/ 訂單操作)、業(yè)務規(guī)則各層次。并學會從線上問題里找反思,補充校驗點。
    • 體現(xiàn)業(yè)務特性:了解用戶和應用的交互,在用例編寫時體現(xiàn)用戶使用系統(tǒng)的實際端到端的歷程,而不只是自動驗收標準的集合,片面強調覆蓋率。在交易場景用例中覆蓋領域交互的驗證,增加對交易狀態(tài)流轉后,買/賣家系統(tǒng)異步消息通知卡片的校驗、資金流向校驗等。

    下圖是以閑魚內基礎c2c交易為例,進行業(yè)務測試用例拆分:

    發(fā)布流水線卡點

    完成自動化測試用例沉淀后,將接口、鏈路質量驗證能力與應用發(fā)布關聯(lián)?;谧兏芸兀瓿勺詣踊貧w驗證、發(fā)布卡點。利用發(fā)布流水線將開發(fā)、測試、發(fā)布、驗證等關鍵活動串接在一起,沒有間斷和跳過,流暢優(yōu)雅。首先簡單介紹:


    集團內開放Aone平臺,提供完整的產品全生命周期管理和協(xié)作能力。在應用發(fā)布內,Aone整合了產品部署發(fā)布、持續(xù)集成服務和測試執(zhí)行實驗室,升級流水線能力,關聯(lián)研發(fā)流程中的各個階段,實現(xiàn)了自動化的構建、部署、測試與發(fā)布,確保讓代碼能夠快速、安全的部署到產品生產環(huán)境中,提升整個研發(fā)體系的效率。

    依賴Aone發(fā)布流水線能力,可以在Aone發(fā)布流程中平穩(wěn)地支持測試校驗,自動觸發(fā)和運行測試任務:在交易核心應用變更代碼部署完成后,自動執(zhí)行指定的測試任務校驗測試,更新用例回歸結果并自動決策研發(fā)流程的執(zhí)行,直觀體現(xiàn)質量信息。在自動化驗證失敗時阻斷發(fā)布,進行100%通過率強卡點,即卡點校驗項未通過時,無法繼續(xù)進行后續(xù)的發(fā)布流程,若想繼續(xù)需進行特殊審批。

    總結及展望

    目前交易鏈路自動化回歸已經(jīng)覆蓋了交易內核心應用的接口質量驗證,同時覆蓋了基礎C2C業(yè)務下場景鏈路質量驗證能力?;AC2C交易回歸驗證由原先的手工耗時半小時、頻繁賬號切換和點擊操作,縮短至一分鐘內自動完成,極大減少手工驗證的重復性,提供更優(yōu)的質量保障能力和執(zhí)行效率。本著沒有適當?shù)臏y試策略,不給予自動化測試的基本原則,閑魚交易域內的自動化體系建設,是建立在基建完善的基礎上,比如解決了數(shù)據(jù)構造問題、應用環(huán)境隔離、發(fā)布流水線引擎的基建統(tǒng)一等,進而助推質量保障、降低發(fā)布風險。后續(xù)我們將持續(xù)推進基建,沉淀更多核心業(yè)務場景下的自動化測試任務集,最終實現(xiàn)向用戶持續(xù)高效地交付價值。

    這個問題還有疑問的話,可以加幕.思.城火星老師免費咨詢,微.信號是為: msc496。

    難題沒解決?加我微信給你講!【僅限淘寶賣家交流運營知識,非賣家不要加我哈】
    >

    推薦閱讀:

    拼多多刷關注會有影響沒?刷關注方法是什么?

    請查收!淘寶客口碑傭金結算規(guī)則

    個人辦理pos機違法嗎?如何選擇好的pos機?

    更多資訊請關注幕 思 城。

    發(fā)表評論

    別默默看了 登錄 \ 注冊 一起參與討論!

      微信掃碼回復「666