天天看點

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

作者|何霜霜(謝萱)

出品|阿裡巴巴新零售淘系技術部

背景

新奧創技術體系,是手機淘寶端搭載着星環中台的整個商業化研發體系,孵化出的面對無線電商領域的技術體系。過去一年在手淘完成了下單、詳情、購物車三大業務域的改造,接下來還會在訂單、手淘導購等領域進行技術更新。目前新奧創已經接入阿裡内的9個 App,逐漸成為阿裡集團無線領域電商系的技術解決方案。

本文主要圍繞新奧創技術體系的更新,剖析架構更新對測試保障帶來的新的轉變,也是新的機遇。

新奧創的更新

新奧創是在基于元件化協定産品的基礎上誕生的,并且結合端側動态化技術,整

體架構上更新了5大能力:

▐ 端側動态化能力引入(DinamicX)

新奧創在解決業務端側發版和用戶端單點資源問題上,引入了DinamicX動态化能力。DinamicX是一套純native的解決方案,專注于UI模闆渲染,優勢是高性能、高可用。它重點解決了奧創上元件native化随版本釋出的限制,且同時支援android/ios/H5/小程式的跨終端的動态化方案,為多端業務體驗一緻性打下了基礎。

▐ 事件驅動的能力加持

DinamicX 主要解決還是動态化UI渲染的能力,它提供觸發事件的能力,友善業務方做定向的事件操作定制。在新奧創中,由新奧創用戶端容器将使用者端上不同操作的邏輯抽象成了一個個通用事件,同時定義頁面操作的熱點區域,将事件的配置放到了新奧創平台上,服務端在元件次元下發事件,當事件對應的熱點區域發生操作時,用戶端調用封裝的事件邏輯。通過這個抽象,服務端可以控制某些元件是否需要響應使用者操作【比如某些業務方希望使用者點選商品時不跳轉,可以通過不下發事件來完成】。

▐ 新通信協定的更新

新奧創在通信協定上增加了視圖協定,協定中記錄了元件具體的模闆資訊(模闆類型,版本,以及資源連結),模闆支援DinamicX模闆,同時也支援weex和H5。有了視圖協定,多端投放(PC/android/IOS/H5)的需求,隻需要新奧創平台一次配置搭建,不同端可以下發不同的元件模闆資訊,提高了投放效率。

▐ 業務的隔離與熱發

以上三個能力的更新,讓端側業務有了共建的技術能力,但同時也需要有一定的限制,例如A業務不能改B業務的元件,業務不能改平台的配置,這些有助于減少互相之間的依賴和感覺,最大程度的保證整個體系的穩定可靠。是以新奧創與星環深度結合,提供了基于業務身份的頁面、元件、規則隔離能力,在這個基礎上,平台提供了各業務自助式的并行開發的能力,保障各業務之間互相不幹擾;同時與星環共同實作了元件規則粒度的熱發能力,提供7*24小時的實時釋出能力。

▐ 統一端側業務容器保障

新奧創的頁面動态化方案的實施,依賴用戶端業務容器的保障。端側容器在整體設計上保持架構分層,業務隔離,業務邏輯變更不會影響全局環境,為業務共建和解放端側資源提供了能力。

統一的端側容器帶來更多的好處在于能在端側提供統一的異常處理能力,包括必要的端上監控能力,這在新奧創放量過程中起到了關鍵,非常平滑的過渡了奧創到新奧創的更新。

通過前面5個部分的更新,讓新奧創成為具備開放/隔離性,實時性以及全域性的端到端動态化的架構特性。詳細的新奧創了解,參看這篇《新奧創:多APP場景端到端的技術體系探索與突破》

測試的影響

好的架構更新,勢必會帶來新的測試方案的更新。新奧創的更新上,從以上5個架構優勢上剖析,俨然已經形成了具備開放/隔離,實時性,以及全域性的頁面動态化方案,随之新奧創架構上的業務生産模式也發生了變革。

舉例一個業務需求的落地:需要在XX端/XX端/XX端實作一個新業務下單。

改造前的生産模式:疊代各端上線,依賴多角色協同,全端上線跨度好幾周;同樣的模式需要在其他電商端重複被執行。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

改造後的生産模式:賦能多角色業務同時開展,架構隔離業務避免代碼互相影響。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

再進一步提升:多電商領域APP更新新奧創,需求同步跨端産品生效。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

讓需求跑的更快一點:新奧創端側容器對業務基礎元件擴充和統一渲染體驗支援,以及端側不同操作邏輯進一步抽象通用事件,讓元件更加靈活,業務複用率更高。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

如此,新奧創架構讓需求跑的更快,參與的開發人數越少,相應的需求傳遞時間則更多的壓在了測試端。如何拆解這個難題,站在新奧創測試角度,我們的重點有兩個:

**1、維持新奧創整體架構的穩定性

2、需要提升業務測試效率**

應對新奧創整體架構的穩定性,我們産出了兩個品質保障方案,DinamicX動态化保障和新奧創體系保障:

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

DinamicX 方面整體的解法主要在三個方面:

通過持續內建的規範、場景和性能測試能力的建設保障基礎品質。

通過改進研發适配&測試流程,使得業務方流程提效。

建立線上資料采集-圈選的方式構模組化型,将海量資料轉變為測試度量名額,減輕業務回歸的壓力。

DinamicX 提供的是UI模闆渲染能力,是以在利用單測/場景測試/性能基線等保障疊代基礎品質之外,我們在元件模闆的釋出流程上,提供了真機自動化适配的能力,并結合元件的協定,自動轉化生成正常&異常的測試用例,将邊界場景和真機适配一鍵自動化執行。

以上,我們還是在保障自有能力的穩定性以及釋出新元件流程上的提效,但基于底層SDK的能力架構更新,勢必會存在一些不相容或業務使用上可能存在的業務問題,是以即便我們有了完備的卡口保障方案,但每次的SDK更新還是無法完全評估對業務的影響,随着DinamicX的業務使用擴充,這個影響會成幾何倍數成長。正常的保障方式需要每次疊代時由業務介入來保障業務自身的影響,但這勢必會拖慢整個研發疊代周期,也對本身DinamicX帶來的優勢變成了不穩定劣勢。

我們開始思考能不能有一種輕量的方式來輔助評估SDK改動帶來的業務影響,規避每次SDK疊代更新的業務渲染異常問題。我們可以複用元件自動化适配和校驗的能力,但同時我們還需要拿到業務方的使用資料,技術上我們将各業務方元件渲染上屏時進行資料埋點,埋點的時效性高,且正确性可以保障,它們能随着小時表更新,是一個巨大的資料寶藏。

通過這種方式,我們大大減少了元件平台上備援無效資料(測試/下線元件等)的幹擾,使回歸更加精準。同時,不同的圈選條件可以滿足我們不同的回歸需求,自動化的執行和截圖比對像素級校驗結果的方式也解放了人力投入,增強了結果的準确性。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

DinamicX 動态化元件保障解決的是動态化的穩定性,新奧創體系保障則注重在新奧創鍊路各環節中提供相應的保障措施。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

測試體系化的建立,對業務最大的輔助是在底層 SDK 和平台更新時,在每個環節做好測試覆寫,規避業務更新影響,減少協同業務側測試的業務回歸投入工作量。

站在業務測試角度,更關心新奧創架構如何提升業務保障效率,以下會分3個次元重點講解新奧創架構帶來的能力和品質演變帶來的效益。

▐ 降低用戶端保障的難度&風險

抛開平台穩定性的部分,對業務測試來說,新奧創架構下的業務測試,也發生了變化,這部分更多聚集在用戶端測試側。新奧創更新之後,用戶端上的邏輯變成以不同的元件渲染&互動來表達,在新奧創統一端側容器之上,更少的端測代碼改動,大大降低了用戶端保障的難度&風險,讓服務端測試和用戶端測試的角色歸一成為可能。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

▐ 業務的可自動化能力加強

新奧創架構的更新,在用戶端角度上以業務資料元件渲染&互動替代了複雜的用戶端邏輯,也讓我們有了新的視角去解決用戶端UI自動化的問題。用戶端方面想要提高測試效率,自然免不了端側UI自動化的方式。傳統端側UI自動化,都是利用自動化架構,應對每個業務UI界面編寫測試腳本,免不了因為UI界面的變更帶來的重複投入,以及因為UI元素的不穩定導緻腳本執行的不穩定,整體在端側UI上投入産出不成正比,這也加劇了用戶端側測試驗證的人工投入。

站在新奧創的架構上,參考新奧創架構的資料驅動頁面生成的思路,新奧創測試的UI架構也是有一份統一的自動化通信協定,來驅動執行用戶端的渲染、操作。新奧創在布局+資料+行為上均有語義描述,實作了從整體頁面布局到元件元素渲染,再到元件觸發區域事件響應,異步參數回收一體化的操作鍊路閉環,且新奧創對于元件元素除了關聯元件唯一辨別,元件模闆辨別,元件渲染字段清單之外,還添加了事件的描述,用于描述目前元件的異步觸發區域以及事件描述的元資訊。

端側UI自動化基于新奧創元件及事件,同樣也能産生一份自動化協定,進行端側UI的自動化語義驅動,并且在UI層使用新奧創元件識别的方式相較于OCR圖像或關鍵詞識别更準确及高效。而對于非新奧創語義内的頁面元素,全端品質通過自定義語義、OCR識别、定制識别等多種方式,有效補充了UI自動化引擎的可執行範圍。

以上便構成了新奧創端側UI具備的特性:

  • 無需UI腳本能力,即可完成端側業務交易UI定制,持續內建使用者無需關心端側驅動實作,平台根據業務資料自動生成一套自動化協定,交給端側自動化引擎實作多端自動化
  • 無感錄制,支援元件/業務的線上資料采集,線下回放通過流量采集補全資料,進行全端品質用例自動收錄
  • 支援跨端,多APP的交易場景覆寫一份自動化協定、一條自動化用例可同時支援多端執行自動化回放。
  • 端側容器化檢測能力針對僅UI圖像覆寫不全的場景,補充端側容器化資料的檢測能力
服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

▐ 多樣性保障能力的延伸

在端側UI自動化的基礎上,我們有更多的能力與和目前優秀的測試産品合作,來擴充端側多樣性保障的能力。

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

品質平台的 UI 自動化目前能力主要在基礎交易鍊路場景,與域内效能産品合作,提前對新業務/大促場景進行測試驗證,從19年雙11開始,成為大促品質保障的主要測試驗證能力。

結束語

新奧創已接入/正在接入 9 個 app :手淘,手貓,躺平,AE ,盒馬,口碑,大麥、特價版,飛豬完成了詳情、購物車、下單三大基礎業務域的改造,接下來還會在訂單、手淘導購等領域進行技術更新。

應對新的生産關系和新的業務特性,新奧創架構更新還在持續疊代中,希望能服務更多的業務場景,相應的品質保障也在逐漸完善中,是新奧創更新的基石,已經是日常新奧創業務疊代釋出的保障手段,也在輔助新奧創架構下的app更新。

相信不久的未來,新奧創能從幫助業務實作研發效率提升,更新成為幫助業務實作業務整體傳遞效率的提升。

招招招招人啦!

淘系技術品質部電商豐富的場景,廣闊的平台等你一起來挑戰!在這裡你可以接觸到全鍊路壓測、海量的資料處理、人工智能推薦算法等領域;可以涉獵業界最前沿的測試技術、定期而豐富的技術分享;還可以與層層選拔的各路優秀同學共同戰鬥,共同成長!

歡迎測試開發工程師/專家加入我們,讓科技引領面向未來的商業創新和進步。

履歷投遞至📮:[email protected]

關注「淘系技術」微信公衆号,一個有溫度有内容的技術社群~

服務阿裡 9 個APP|揭秘新奧創更新的品質演變背景新奧創的更新測試的影響結束語招招招招人啦!

繼續閱讀