免(miǎn)費谘詢(xún)熱線(xiàn)

13621929115
行業新聞
您的位置: 主頁 > 新聞動態(tài) > 行業(yè)新聞

場(chǎng)景模型驅動自動化測試(shì)在盒馬(mǎ)的探索及實踐

發布(bù)日(rì)期:2021-11-22 13:09瀏覽次數:

場景模型驅動自動化測試(shì)在盒馬的探索及實踐

場景模(mó)型驅動自動化測試在盒馬的探索及實踐(圖1) 
 

一  引言

 
盒(hé)馬業務有如下幾個特點:線上線下(xià)一體(tǐ)化、倉儲配送一體化、超市餐飲一體化、經營(yíng)作業一體化、多業(yè)態(tài)與平台化。
在以上(shàng)的種種原(yuán)因,生鮮及物流體驗(yàn)是盒馬的特點,但倉儲配(pèi)送一體化作業中,如何能更高效的提升測試效率也是盒馬質量團隊的重點探索。

二  背景及待解決問題介紹

 

1  盒(hé)馬自動化體係發展新挑戰

 
在(zài)盒馬,前期業務在狂奔,自(zì)動化基礎較薄弱,近三年來,經過盒馬人的不斷突破,已經具(jù)備了一定的自動化體係,因為盒馬業務的特點,盒馬屬於麻(má)雀雖小但五(wǔ)髒(zāng)俱(jù)全,有獨立App,有自營的物流體係(xì),有自己的供應(yīng)鏈體係,因此(cǐ)在自動化方麵,www.17C.com從最基(jī)礎的單元(yuán)測試、到接口測試、再(zài)到領域場景自動化及跨(kuà)領域的自動化以及端的自動化方麵都有積累。即(jí)便如(rú)此,www.17C.com的代碼覆(fù)蓋率在(zài)超過50%之後很(hěn)難有比較大的提升,另外,代碼的覆蓋並不能全部代表業務場景(jǐng)的覆蓋,一些線上漏測的問題仍然偶爾發生,因此,對於盒馬來說,基於較全場景的測(cè)試是(shì)必(bì)須。
場景模型驅動(dòng)自動化測試在盒馬的探索及實踐(jiàn)(圖2)
在這種背景下(xià),盒馬質量團隊進行了較全場景驅(qū)動自動化測試的探索,利用線上數據建立測試場景模型。下麵會更加詳細的進(jìn)行講述。

2  業務場景(jǐng)全覆蓋的(de)挑戰

 
從業界來說,比較難的也同(tóng)樣是(shì)如何(hé)用比較(jiào)簡單的手段(duàn)做到業務(wù)的全場景覆蓋,對盒馬來(lái)說也同樣。
首先,盒馬的業務場景眾多,包括inbound與outbound全流程,端到端的全流程多業態,含O2O模式、B2C模式、F2模式、Mini模式、Mall模式、X會員店模式、產地量販模式、盒馬鄰裏模式等。這麽多種業務場景很難一一枚舉。
其次,業務場景(jǐng)自動化(huà)編寫效率也較低,在人工枚舉場景,腳本化實現,這種效率(lǜ)比較低,場景難以枚舉全,容易遺漏。
業務場景(jǐng)的真實覆蓋率也難以(yǐ)度量,人工枚舉的(de)業(yè)務場景極易有遺漏,線上已頻發漏測問題,無法覆蓋線上全(quán)量場景,同(tóng)時測試的場景覆蓋率難以衡量,需(xū)要(yào)找到線上(shàng)場景分(fèn)母。
傳統自動化來說,校(xiào)驗一般基於字段級別,容易遺漏。傳統校驗方式根據預期(qī)逐個(gè)字段加斷(duàn)點校驗,新增字段或缺失字段極容易造成遺漏。
場景模型驅動自動化測試在(zài)盒馬的探索及實踐(圖3)
因此,在(zài)這種多種(zhǒng)挑戰下(xià),www.17C.com嚐試了基於(yú)線上海量數據(jù)模型構建全行經模型,同時用(yòng)場景驅動自動化執行的方案。
 

3  場景(jǐng)模型驅動自動化的思考


回到本文初心,www.17C.com希望通過線上場景來驅動自動化測試的(de)方式進行測試場景的全量覆蓋。思路如下:
一、場景業務(wù)模(mó)型構建:重點在於如(rú)何自動化的構建出場景化(huà)的模型數據(jù)。大致的思路為:1)線上執行過後的訂單數據存在諸多特(tè)征;2)根據線上落(luò)盤數據進行特征值分析(xī);3)構建數據特征集合與對應的樣本數據;
二(èr)、執行鏈路構建:重(chóng)點在(zài)於如何(hé)自動構建出克執(zhí)行的係統(tǒng)調用鏈路(lù)。大致思路為:1)基於落盤數據獲取線上執行全鏈路的所有鷹眼;2)根據鷹眼(yǎn)(trace)及係(xì)統調用關係構建執行鏈路;3)執(zhí)行鏈路編(biān)排構建鏈路執行能(néng)力;
三、執行結果的校驗:重(chóng)點在(zài)於如何自動的(de)進行結果數據的一致性校驗。大致思路為:1)所有的數據最終會(huì)持久化落盤;2)基於持久化數(shù)據(jù)進行(háng)全(quán)字段對比;3)忽略規則配(pèi)置;
場景(jǐng)模型驅動自動化測試在盒馬(mǎ)的探索及實踐(圖4)
 

 

三(sān)  解決思路

 

1  模型驅動自動化解決策略

 
結合上文的背景及思(sī)考,推演出本文的模型驅動自動(dòng)化解決(jué)策略包含(hán):特征提取(qǔ)、場景建模、鏈路(lù)執行、結果驗證、覆蓋率分析、缺陷定位及報告。
場景模型驅動自動化測試在盒(hé)馬的探索及實踐(圖5)

2  業務場景建模問(wèn)題定義

 
針對業務場景模型,www.17C.com首先要思考www.17C.com麵(miàn)向的是什麽係統,係統的規律是(shì)什麽,該係(xì)統的哪些數據(jù)可以被規則化出來的,如何規則(zé)出來,最終如何表達,帶著這些問題www.17C.com一步步介紹www.17C.com(men)的(de)解決方案。
場景模型驅動自動化測試在盒馬的探索及實踐(圖6)
 
業務場景建模-特征提取方法
 
本(běn)節重點介紹特征提取的通常方法,當前階段,www.17C.com是以數據庫的全量數據作為(wéi)特征提取的來源(yuán),當(dāng)然不少團隊也在嚐試使用接口(kǒu)調用過程中的全量入參數(shù)據。具體為:
1)DB全量數據查詢(xún):通過odps查詢方式獲取全量多表關聯數據,用以作為分析的數據(jù)源。
2)數據(jù)的聚合:對於查詢的(de)數據進行信息補齊後(hòu),字段打平,采用聚類的方式針對每一字段進行聚合,以出現(xiàn)有限(xiàn)數量的字段(duàn)作為特征字段進(jìn)行基線特征的沉澱,對於離散型的數據會選擇合適的區間進行分(fèn)段處理。
3)特征推薦:針對上(shàng)述聚合的內容進行推(tuī)薦,此部分會將潛在的特征(zhēng)字段全量進行推薦。
4)特征基線沉(chén)澱:基於推薦的數(shù)據,結合專家經驗進(jìn)行特征字段(duàn)的選取,並進行標注選擇為基線特征。
場景模型(xíng)驅動自動化測試在盒馬的探索及實踐(jiàn)(圖7)
接下來一一根據細化場景進行介紹。

業務場(chǎng)景的建模-特征提取過程

 
如下圖所示,為數據(jù)表數據示例,從數據層麵可以看出,有一部分字段是有意義的,如isParent是否主單,businessType業務類型,orderTerminal訂(dìng)單終端類型等等,也有一部分字段是離散且無意義的,如orderId訂(dìng)單(dān)ID,itemId商品id,GMTCreate創建時間等。特征提取的過程目標就是自動的提取出有意義的字段,忽略無意義的字段。
場景模型驅動自動化測試(shì)在盒(hé)馬的(de)探索及實踐(圖8)
實際實踐過程(chéng)中,www.17C.com通過不斷的迭代以提升(shēng)特征的精準度與全麵度,具體(tǐ)的核(hé)心幾(jǐ)個(gè)提取過程(chéng)為:
1、特征(zhēng)擴充:元數(shù)據中的字段有可能(néng)為原始(shǐ)數據,這部分需要關聯到具體數據表並找(zhǎo)出有意義的(de)字段(duàn)。
2、特征分類:根據數據的聚合(hé),對於有(yǒu)意義的離散類型數據,比如訂單總價,往往www.17C.com希(xī)望得到零(líng)價訂單,高值訂單及普通訂單三類,這三類是未自動(dòng)打標的,需要(yào)www.17C.com聚合出範圍在特(tè)征提取(qǔ)過程中動態識別並(bìng)分類。
3、特征聚合:依賴於特征的規(guī)則,進行所有字段的聚合,最終根(gēn)據(jù)枚舉類型字(zì)段出(chū)現次數進行有效判斷,目前www.17C.com設定的(de)值為20,這個(gè)值可以動態調整(zhěng),僅僅為(wéi)參考值而已。
4、特征決策(cè):針對(duì)聚合出來的潛在特(tè)征,進行基於代碼、經驗、默認值等多(duō)種維度的判斷,最終進行特征的推薦,這部分因為業務屬性比較重,www.17C.com在推薦出來的同時,最終更依賴於專家經驗進行(háng)字段的最終判斷,目前(qián)推薦出來和最終采納的比例約為50%,www.17C.com後續會升級算(suàn)法和參(cān)考維度進一步提升采納(nà)率。
場景(jǐng)模型驅動自動化測試在盒馬的探索及實踐(圖9) 

接下來,針對以上流程中關鍵(jiàn)環節會進行一一介紹。
 

1)特征(zhēng)提取-特征擴充

 
本文舉例商品及倉的場景,對於(yú)商(shāng)品根(gēn)據商品id關聯找到對應商品明細,再將商品明(míng)細中(zhōng)有意義的字段,比如:是否是危險品、是否是緊急配送商品、商品的標簽、商品的狀態等等(děng)查(chá)詢出來關聯主數據,對於倉關聯(lián)查出(chū)倉的類型和倉的標簽(qiān),如此(cǐ)可基於場景的主模型數據進行分支場景的多層級關聯,將需要關注到的場(chǎng)景維度值盡可能多的納入到數據模型中。
場景模型驅動自動化測試在(zài)盒馬(mǎ)的探索及(jí)實踐(圖10)

 

2)特征提取-特征聚類

 
本文舉例對於(yú)加工時長bomCost字段,對於標品來說是0,對於加工品來說,比如魚(yú)類,需要(yào)增加15分鍾宰殺作業(yè)時間,對於涼拌菜等需要增加10分鍾進行製作等等(děng)。此處會單獨將特定字段進行(háng)區間分類(lèi),如此將分類後的值進行特征的挖掘基礎,即可將離散(sàn)的值變得有意義。
場景模型驅動自動化測試在盒馬的探索及實踐(圖11)

3)特征提取(qǔ)-特(tè)征聚合

 
將所有數據進行擴充完畢後,將所有相關字段進行打平處理,根據相同字段進行值的聚合,相同值記(jì)錄次(cì)數,不相同時進行歸類,如此便可將相(xiàng)關(guān)數據進行初始化的數據處理,然後根據(jù)聚合出(chū)來的數據進行默認值個數的判斷進行特征的推(tuī)薦。
場景模型驅動自動化測試在盒馬(mǎ)的探索及實踐(圖12) 

 

4)特征提取-特(tè)征決策

 
依(yī)賴上述聚合出來的全量潛在特征數據,在特征決策模塊(kuài)會基於代碼中抽(chōu)象出的特征字段進行匹配,當然最(zuì)重要的是依賴於業務領域的測試專家經驗進(jìn)行主動識別標注,最終沉澱出領域的基線特征集合。
場景模型驅動自動(dòng)化測試在盒馬的探索及實踐(圖13) 

以盒馬某業務領域(yù)為例,下圖展示的是(shì)最終有效的特征集合,根據基線特征,www.17C.com的做法是都標注了具體的含義,如此,便可很容易根據一個領域的(de)業務特征(zhēng)識別出該領域的數據場景。
場景模型驅動自動化測(cè)試在盒馬的探索及實踐(圖14)
同(tóng)樣,根據特征(zhēng)情況,也可以刻畫出每個領(lǐng)域的特征模型,如下圖所示,很輕鬆的(de)看出領域的全量特征(zhēng),同時根據每個(gè)特征,可(kě)以清晰的看出每個特征值的分布占比情況。
場景模型驅動自動化測試在盒(hé)馬的(de)探索及(jí)實踐(圖15)

業務場景建(jiàn)模-場景提取

 
有了基線特征(zhēng)後,基於基線特征形成解析規(guī)則,再將全量數據基於特征規則匹配(pèi)處理,對於命中(zhōng)規則的進行打標處理,即可識別出匹配基線特征的數(shù)據(jù)集合(hé),這些數據集合對於每一條數據代(dài)表的特征組www.17C.com稱之為場景。具體的處理流程(chéng)如下圖(tú)所示。
場景模型驅動自動化測試在盒馬的探索及實踐(圖16) 

進行特(tè)征規則匹配處理後,可識別(bié)出場景集,這些場景的集合對我(wǒ)們來(lái)說至關重要,因為這些場景集合從一(yī)定意義上要代表我(wǒ)們的(de)線上(shàng)全量場景。如下圖所示,除(chú)了有場景的(de)推薦,還有場景對應的數(shù)據(jù)的推薦。這些(xiē)數據(jù)後續www.17C.com會進行處理並進行執行鏈路的驅動。
場景模型(xíng)驅動自動化測試(shì)在(zài)盒馬的探索及實踐(jiàn)(圖17)
以(yǐ)下為推薦以驅動鏈路自動化執行的場景及數據情況。
場景模型驅動自動(dòng)化測試在盒馬(mǎ)的探索(suǒ)及(jí)實踐(圖18)

3  執(zhí)行鏈路分析及(jí)構建

 
前文有介紹盒馬很多業(yè)務領域都是鏈路式驅動類型,所以對(duì)於如何構建出領域的執行鏈路很關鍵,www.17C.com(men)的思路是通過係統的調用日誌及鷹眼trace相結合的方式進行聚合清洗得到領域的(de)大概執行鏈路推薦,這裏麵的推薦會有多(duō)種情況。整體的思路如下圖。
場景模型驅動自動化測試在盒馬的探索及實踐(圖19)
執行鏈路推薦出來後(hòu),這時候的鏈路還是無法執行的,www.17C.com的目標(biāo)是根(gēn)據推薦能夠自動生成執行鏈路,隻是當前基於進展的考慮,www.17C.com先將推薦的鏈路進行人(rén)工鏈路編排以執行場景模型中(zhōng)的(de)數據。以盒馬"履(lǚ)約"領域的係統執行(háng)流程鏈路(lù)為例,如下,www.17C.com將對(duì)所有業態(tài)的數據的處理進行統(tǒng)一流程編排,如此,即可更大限度和真實的處理模(mó)型數據。
場景模型驅動自動化測試在盒馬的探索及實踐(圖20) 

 

4  數據(jù)校(xiào)驗

 
數據執行(háng)完成之後,對於自動化來說一個最(zuì)關鍵且有意義的事情是進行結果的校驗,為了能夠更全麵的比對結果,www.17C.com將執行(háng)鏈路進行線上(shàng)生產環境(jìng)和測試環境的雙向執(zhí)行,對於(yú)兩套環境的結果數(shù)據進(jìn)行全量的數據比對,可將比對(duì)結果精確到像(xiàng)素級別。
場景模型驅動自動化測試在盒(hé)馬的探索及實踐(圖(tú)21)

5  場景覆蓋率分析

 
針對場景覆蓋率,www.17C.com將場景模型所轉(zhuǎn)換的測試數據對應的全量(liàng)場景(jǐng)與線上全量場景進行比較得出場景覆蓋率。在今年的OKR目標下,我(wǒ)們也是目標將業務場(chǎng)景(jǐng)覆蓋率達到(dào)80%以上。
場景模(mó)型驅動自動化測試(shì)在盒馬的探索及實踐(圖22)
 

四  產品(pǐn)解(jiě)決方案(àn)

 

1  產品解決方案架構圖

 
結(jié)合以上核心模塊的介紹,係統的產品解決方案框圖如下所示,基於核心的場(chǎng)景模型驅動自動化執(zhí)行過程為基準,分為業務場景建模模塊、測(cè)試數據(jù)生產模塊、回歸策(cè)略執(zhí)行選擇模塊、鏈路用例執行、結果校驗以及結果推送(sòng)模塊。基於(yú)運維視角,包含統計大盤、用例(lì)管理(lǐ)等(děng)。
場景模型驅動自動化測試在盒馬(mǎ)的探索及實踐(圖23) 

在(zài)盒馬(mǎ)場景探索的場景模型驅動自動化,已經(jīng)在交易、履約、商品、配送、自提等(děng)諸多領域(yù)進行了實踐,並(bìng)取得了一定的成(chéng)果。同時在發布回歸、小量數據(jù)的常規化壓測、係統重構、線上業務巡檢等諸多場景中(zhōng)獲得了不錯的使用。
 

五  實踐結(jié)果

 
基於場景模型驅動自動化的模式,已經在盒馬事業群內多個團隊進行了推廣接入使用,整體上累計沉(chén)澱有(yǒu)效的場(chǎng)景化用例2000以(yǐ)上,場景的特征覆(fù)蓋(gài)率均大於90%,各(gè)個領域新接入(rù)業務的(de)自動(dòng)化構建(jiàn)成本直線降低80%以上,有效的解決了傳統腳本方式的人工依賴過重,引流方式無法覆蓋鏈路場(chǎng)景的問題,也成為團(tuán)隊內重要的發布前的回歸可信賴保障手段。

1  在盒馬交易領域的實(shí)踐(jiàn)

 
盒馬交易域是(shì)比較早的實踐方之一(yī),基於上述方案,交易域進行(háng)了整體的方(fāng)案對接,沉澱了大量的場景及回歸用例。尤其交易領域在(zài)覆蓋率提升方麵(miàn)做了較多的工作。
在(zài)交易領域的特征覆蓋率的提升經過了以下幾個階段,初始的測試單據(日常測試單據+鏈(liàn)路自動(dòng)化單據)特征覆蓋率僅50%左右,覆蓋率確實不高,通過(guò)覆蓋率報告的分析發現,除了確實無單據覆蓋的特征,還有一(yī)類(lèi)問題是有單(dān)據覆蓋但是平台無法(fǎ)匹配上的特殊字符類特征值或不可窮盡枚舉(jǔ)類特征值,經過二次處(chù)理後,特征覆蓋率提(tí)高到65%左右;第三(sān)階(jiē)段,現有的全業態全場景用例構建出來後覆蓋率提升到(dào)90%左右(yòu),剩(shèng)餘的10%特征基本是線上特定時期小概率(lǜ)出現場景階段性(xìng)單據沒分析(xī)到(dào)或暫時無(wú)法構建(jiàn)數據的特征,經過指定單據有(yǒu)針對性地補充後特征覆蓋率達到96%,至此覆蓋率達到www.17C.com期望的95%以上,基線用例搭建完成。
場(chǎng)景模型驅動自動(dòng)化測試在盒(hé)馬的探索及實踐(圖24)
因(yīn)此(cǐ),從最終結果看,交易領(lǐng)域屬於基於最(zuì)終結果反推過程執行,整體接入過程(chéng),基於場景構建與鏈路編(biān)排的執行能力,結合自身能力的構建(jiàn),接入過程約三周,推薦場景累計(jì)2000多例,對8種業態進行全麵支撐(chēng),能夠做到快速(sù)的回歸覆蓋,很好的做到需求的高質量持續交付。
場景模型驅動自動化測試在盒馬的探索及實踐(圖25)

 

2  在盒馬其他典型領域的實(shí)踐

 
在商品領域,從(cóng)全新的領(lǐng)域對接,整體投入2天(tiān),完成500+線上場景的接入,整體投入成本下降高達90%,代碼覆蓋率在原有腳本自動化(huà)基礎上提升了28%,快速達到50%以上。
在履約領域:整體沉澱場(chǎng)景化鏈路用例1000+,成功率95%以上,特征覆蓋率(lǜ)95%以(yǐ)上,鏈路的仿真精準度90%以上(shàng),全麵(miàn)保障履約(yuē)域的質(zhì)量。
在(zài)配(pèi)送領域:配(pèi)送域沉(chén)澱場景化鏈路用例300+,作為(wéi)作業操作的係統,鏈路場景的覆蓋率97%以上,特征覆(fù)蓋率100%,新業務的自動化成本(běn)下(xià)降80%以上。
場景模型驅動自(zì)動化測試在盒馬的探索及實踐(圖26)
 

六  未來展(zhǎn)望

 
基於場(chǎng)景模型驅動自動化實現,隻是開始,遠沒有終結,前期(qī)隻是針對一部分領域進行了探索實踐落地,接下來希望能夠擴展更多領域的同時,更(gèng)加深(shēn)入的挖掘自動化用例自(zì)動生成及測(cè)試數據保活的能(néng)力,使之能夠更好(hǎo)的服務好盒(hé)馬的各團隊業務,也希望(wàng)通過本文的分享,啟發更多的團隊一起投入進行探索並做出嚐試。

場景模型驅動自動化測試在盒馬的探索及實踐(圖27)

 

七  結束(shù)語

 
本文的探(tàn)索方案前後曆時近一年半的時(shí)間,從(cóng)0開始投入,團隊也累計多人參(cān)與,投入雖大,但給我(wǒ)們(men)的質量(liàng)保(bǎo)障工作帶來了不錯的回報,接下來的時間裏也會繼續前行(háng)探索,勇於嚐試。
 
標簽:

產品推薦

Copyright © 2002-2020 上海潤之模型設計有限公司 版權所有 展示(shì)模型,展(zhǎn)品模型,展廳模型,展(zhǎn)示道具,展廳展品,展品道具,模型定製,模型公司,上海(hǎi)模型公司 備案號:滬ICP備20018260號

13621929115
网站地图 www.17C.com_17.C-起草网登录在线_17c.一起草 在线观看视频_17c.com免费观看入口