成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【NCTS峰會(huì)回顧】阿里羽瑤:基于圖像智能算法的端上h5頁面測試提效輕量化解決方案

開發(fā) 前端 算法
2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會(huì)在京召開,此次峰會(huì)以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù)。

2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會(huì)在京召開,此次峰會(huì)以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù),幫助測試從業(yè)者了解最前沿行業(yè)趨勢,及最新的行業(yè)實(shí)踐。

[[284797]]

會(huì)上,阿里巴巴技術(shù)專家羽瑤做《基于圖像智能算法的端上h5頁面測試提效輕量化解決方案》的內(nèi)容分享。羽瑤指出,“自動(dòng)化能力多多少少都有穩(wěn)定性的問題,我們非常注重算法能力,正在探索基于圖像算法能不能真實(shí)檢測頁面的問題。”

以下為羽瑤演講實(shí)錄:

大家好我是來自阿里巴巴的羽瑤,我們組主要負(fù)責(zé)集團(tuán)的平臺(tái)化產(chǎn)品來服務(wù)業(yè)務(wù)測試。這是我演講的目錄結(jié)構(gòu),我首先介紹一下這個(gè)方案的背景,我們有一個(gè)業(yè)務(wù)團(tuán)隊(duì)負(fù)責(zé)所有淘系級(jí)A+級(jí)大促,每次大促頁面非常多,比如19年1到9月總A+級(jí)大促59個(gè),A+以上就是S級(jí),比如雙十一這種活動(dòng)。大促活動(dòng)非常多,我們前端開發(fā)和技術(shù)做了很多動(dòng)態(tài)化配置方案來方便頁面及時(shí)發(fā)布,就是每次大促活動(dòng)的每一個(gè)會(huì)場,會(huì)場的發(fā)布顯示時(shí)間,要加載的數(shù)據(jù)都可以動(dòng)態(tài)配置,然后大促活動(dòng)當(dāng)中可能運(yùn)營會(huì)及時(shí)調(diào)整策略,可能就有一些樓層下掉,或者運(yùn)營不同配置不同算法,個(gè)性化策略來把不同的商品突出出來,包括模塊的配置化,它的頁面結(jié)構(gòu)在整個(gè)上線階段會(huì)不停的變化。

伴隨著這些問題我們測試時(shí)間非常短,比如“99大促”時(shí)第一輪預(yù)演,就是指整個(gè)頁面的數(shù)據(jù)搭建都完成,有一個(gè)比較完整的頁面效果開始,然后到真正的上線可能“99”時(shí)候中間就只有4個(gè)工作日的時(shí)間,因?yàn)檫@些問題,所以我們有一些頁面是測試從來不去介入過程當(dāng)中的,有一些有問題頁面會(huì)泄露到線上用戶看到的頁面中,這塊是缺乏監(jiān)控的,因?yàn)槲覀兯袆?dòng)態(tài)化的配置是沒有實(shí)現(xiàn),測試沒有精力兼顧每次改動(dòng)和變動(dòng),我們業(yè)務(wù)團(tuán)隊(duì)幫助他們不停的探索有什么自動(dòng)化方案可以覆蓋這些問題。

介紹一下現(xiàn)在會(huì)場的保障方案有哪些,一是數(shù)據(jù)源管控,商家每次上傳商品,上傳圖片,編輯商品的信息,可能就是在上傳的當(dāng)時(shí)或者N+1時(shí)間對(duì)這層數(shù)據(jù)做算法檢測和過濾,以及一些清退。另外上線過程當(dāng)中會(huì)做一些數(shù)據(jù)監(jiān)控方案,應(yīng)對(duì)這些算法調(diào)整帶來的問題。

測試階段就是一個(gè)新頁面剛來的時(shí)候,或者有一個(gè)新模塊新上線的時(shí)候,有大量外包適配投入,業(yè)務(wù)方全民預(yù)演,因?yàn)槊看涡麓罱ǎ\(yùn)營和產(chǎn)品很關(guān)心頁面是否正常,這時(shí)候我們可能會(huì)組織一輪產(chǎn)品、運(yùn)營、技術(shù)、測試把大家都拉過來一起看頁面有沒有問題,這兩塊其實(shí)都是純?nèi)肆Φ耐度搿?/p>

一部分不太重要的大促活動(dòng)可能就是運(yùn)營自己看一下沒有問題,就是這種技術(shù)或者有沒有問題大家自測去保證的。

其實(shí)這都是在端上看到的,我們介紹一下現(xiàn)在集團(tuán)在端上自動(dòng)化有哪些方案,大概來說其實(shí)每一個(gè)BU每一個(gè)團(tuán)隊(duì)有自己的一套,大體分成三類,一類是基于Appium/Uiautomator,基于開源的框架基礎(chǔ)能力,自己搭建持續(xù)集成的平臺(tái),自己跟自己發(fā)布系統(tǒng)對(duì)接寫腳本,純寫腳本的這種。

另外一種是應(yīng)用侵入型,以伽利略為代表,開發(fā)端上SDK,相當(dāng)于自己調(diào)用自己的能力做腳本驅(qū)動(dòng),可能搭載自己守護(hù)的APP進(jìn)程跟后臺(tái)做一些設(shè)備驅(qū)動(dòng)。

現(xiàn)在這一兩年比較火的是天畫的產(chǎn)品,做了模塊級(jí)的和數(shù)據(jù)級(jí)驅(qū)動(dòng),這個(gè)模塊只是一個(gè)頁面來了以后自己可以寫腳本,底層是基于這個(gè)自動(dòng)化框架能力,一個(gè)頁面來了可以定義頁面做哪些模塊切分,哪些模塊有一些ID是固定的可以寫每一個(gè)頁面,某一個(gè)模塊的某一個(gè)控件,這個(gè)方案是為了應(yīng)對(duì)框架級(jí)變動(dòng)導(dǎo)致自動(dòng)化運(yùn)行的失敗,同時(shí)結(jié)合我們集團(tuán)線上流量的抓取,DOOM(采集線上機(jī)器的流量,對(duì)beta測試機(jī)器進(jìn)行流量回放并對(duì)比)的平臺(tái)能力,根據(jù)運(yùn)行數(shù)據(jù)生成頁面的能力,做數(shù)據(jù)驅(qū)動(dòng)型的運(yùn)行。

但是這三種可能都有問題,就是需要去寫腳本人工寫腳本,伽利略(使用很多內(nèi)外部底層hack技術(shù),自有守護(hù)進(jìn)程,設(shè)備管理維護(hù),嵌入待測試APP)可能自己定制APP,同時(shí)運(yùn)行來講,穩(wěn)定性都是會(huì)有問題的,動(dòng)化能力多多少少都有穩(wěn)定性的問題,我們非常注重算法能力,正在探索基于圖像算法能不能真實(shí)檢測頁面的問題。

下面介紹一下我們的方案,我們的方案跟這個(gè)都不太相同,因?yàn)樗麄兛赡芤鉀Q端上h5,所有的Native級(jí)別比較多,我們解決的是會(huì)場級(jí),是以h5為主。這個(gè)是圖像算法、便捷、輕量化、貼合不同業(yè)務(wù)方不同業(yè)務(wù)場景,比如我們有業(yè)務(wù)方卡發(fā)布,他們必須靠一遍我們應(yīng)用,確認(rèn)沒有問題才可以發(fā)布,另外還有不同業(yè)務(wù)方也時(shí)間穿越的方案,就是指你頁面沒有上線階段,外面看不到的時(shí)候我們可以調(diào)整底層系統(tǒng)級(jí)時(shí)間,讓頁面提前進(jìn)入雙十一狀態(tài)場景當(dāng)中,會(huì)做這些打通再調(diào)系統(tǒng)運(yùn)行來做提前驗(yàn)證和檢測。

為了讓大家更有體會(huì),看一下我們的方案運(yùn)行,這是最簡單的場景例子,可以整體看清楚整體怎么串的,我們手機(jī)在任何一個(gè)端環(huán)境下可以掃描這個(gè)二維碼進(jìn)入我們的中間頁,中間頁以后就不停去做任務(wù)輪巡,掃了以后,任何機(jī)器上傳到我們平臺(tái),可以作為實(shí)時(shí)運(yùn)行的手機(jī)環(huán)境,我們?cè)谶@里新建任務(wù),然后這是單頁面檢測場景,現(xiàn)在主要是用在線上頁面巡檢和檢測當(dāng)中。選擇我們剛才的機(jī)器,這后面的場景,我們還有一些算法的定制,行動(dòng)點(diǎn)定制和應(yīng)對(duì),錄制、回放或者應(yīng)對(duì)復(fù)雜頁面交互場景的需求,新建完成以后后面有端定制的,創(chuàng)建完成以后機(jī)器就會(huì)在這里跑起來,跑的每一步會(huì)做截圖,然后截圖上傳到后臺(tái)以后,后臺(tái)算法就會(huì)確實(shí)是檢測有沒有什么問題。

這些算法目前來說可能檢測一些空樓層,空樓掉坑,異常詞之類的,這個(gè)跑完以后后臺(tái)可以實(shí)時(shí)看到當(dāng)前頁面效果。這左邊是我們每一步截圖信息,右邊是拼接好的長圖,這個(gè)頁面是沒有問題的,在頁面有問題的時(shí)候,那邊有錯(cuò)誤信息的出現(xiàn),大家可以點(diǎn)擊不同的信息到具體的錯(cuò)誤頁面。然后這個(gè)頁面是在A客戶端上跑的,速賣通的,跑完以后跟系統(tǒng)對(duì)接的,他們跑完跳到我們這里看具體錯(cuò)誤信息。

看一下我們的方案怎么做的,我們核心就是手機(jī)打開中間鍵做任務(wù)下發(fā),下發(fā)的時(shí)候其實(shí)輸入只是輸入頁面URL,輸入U(xiǎn)RL以后我們對(duì)這個(gè)URL拼接系統(tǒng)運(yùn)行的參數(shù),比如ID,任務(wù)類型,重要的是我們拼接了我們自己的一個(gè)腳本,就是紅色的腳本,拼接完這個(gè)腳本以后我們就會(huì)落庫,當(dāng)時(shí)我們新建任務(wù)是針對(duì)不同機(jī)型的,跑完以后就會(huì),機(jī)器只要在中間頁輪訓(xùn)有任務(wù)執(zhí)行的話,他就拿到任務(wù)開始執(zhí)行。拿到任務(wù)我們腳本插入原生頁面當(dāng)中,我們?cè)瓉砘陧撁姹旧碛心K可以讀取URL腳本做插入,后面我們直接做天貓端上的,在頁面漏以后會(huì)檢測有沒有符合條件的特殊參數(shù),有沒有符合安全限制的一個(gè)域名環(huán)境,一個(gè)腳本插入到頁面當(dāng)中。

剛剛演示的場景就是一種半自動(dòng)調(diào)度為主的方案,那種方案可能有穩(wěn)定性問題,比如說頁面跳轉(zhuǎn)到了異常的錯(cuò)誤頁面,那個(gè)頁面不知道會(huì)跳到那里,或者異常場景導(dǎo)致APP關(guān)了的話,自動(dòng)化方案就停掉設(shè)備離線,我們后面加入自動(dòng)調(diào)度,就是真機(jī)操控能力方便讓它再回到中間頁。

因?yàn)槲覀冇羞@個(gè)能力,支持三種任務(wù)類型,一種是錄制型任務(wù),我們?cè)缙陂_人工錄制口子,就是人工去在平臺(tái)上新建任務(wù)后做操作,操作的每一步都會(huì)實(shí)時(shí)上傳到平臺(tái)上,當(dāng)運(yùn)行任務(wù)完成后可以確認(rèn)這一次的任務(wù)做錄制,剛剛演示的一種場景就是自動(dòng)化錄制場景,是純算法,純后臺(tái)驅(qū)動(dòng)的去做哪些行為和操作的,回放型任務(wù)是指模塊級(jí)更改上線,頁面級(jí)適配場景的,我們針對(duì)某一個(gè)錄制型任務(wù)在其他機(jī)型做回放,這個(gè)回放和自動(dòng)化原理不一樣的是,以前寫腳本大家可能是在其他的機(jī)型找某一個(gè)iOS或者PaaS是否有這個(gè),然后再做回訪和點(diǎn)擊,我們基于前端開發(fā)需要實(shí)現(xiàn)自適應(yīng)的方案,自適應(yīng)方案指UAD設(shè)計(jì)375的視覺圖,聯(lián)想情況下應(yīng)該是實(shí)現(xiàn)不同尺寸上是等比放大的關(guān)系,我們基于這個(gè)原理回放時(shí)候會(huì)做不同尺寸信息換算做運(yùn)行、點(diǎn)擊和查找。如果我們點(diǎn)擊某一個(gè)位置的話失敗了,這個(gè)時(shí)候?qū)Ρ染陀袉栴}了,兩種圖可能出現(xiàn)差異,我們就會(huì)認(rèn)為它的自適應(yīng)或者是其它頁面是有Bug的。

我們單頁面場景就是剛剛視頻演示的簡單場景,也是那種場景純算法的,就是做驅(qū)動(dòng)和單步問題檢測,然后單步就是做滾動(dòng)操作和最后做全圖拼接。

我們方案的一些細(xì)節(jié),剛剛看到我們所有的整個(gè)驅(qū)動(dòng)過程其實(shí)就是插入頁面當(dāng)中的腳本和后臺(tái)交互的,我們腳本是怎么做到可以監(jiān)控它的行為,怎么做到操縱點(diǎn)擊呢?其實(shí)是結(jié)合了很多庫的能力,就是去檢測手機(jī)上的一些TUCH事件,檢測行為做人工錄制場景,還可能根據(jù)一些庫獲取設(shè)備信息的能力,或者設(shè)備ID能力,設(shè)備唯一指紋,利用集團(tuán)的一些能力做上傳。端內(nèi)截圖方案,我們截圖方案有四種,一種瀏覽器上,腳本監(jiān)測是瀏覽器環(huán)境就調(diào)瀏覽器插件的截圖,如果在端上,淘系段上主流有兩種,淘系就是淘寶天貓用Windone的能力,就是h5使用能力有一個(gè)容器能力。支付寶可能是另外一個(gè)自己開發(fā)的容器,在容器環(huán)境中我們會(huì)調(diào)動(dòng)容器能力,如果進(jìn)入異常場景,上傳有問題,我們會(huì)借助腳本庫的能力,用純腳本實(shí)現(xiàn)來截圖。有了底層的這些,我們可以像人一樣操作頁面滾動(dòng)和點(diǎn)擊,結(jié)合我們后臺(tái)就有一些真機(jī)管理,常用后臺(tái)管理能力,然后調(diào)動(dòng)各個(gè)方面算法的檢測能力做到實(shí)現(xiàn)人工合自動(dòng)的錄制和回放。

我們剛剛講了截圖有四種場景的,所以我們運(yùn)行其實(shí)可以在瀏覽器或者是任何移動(dòng)端上運(yùn)行的,但是在非有容器能力,比如說用純腳本截圖場景APP下可能針對(duì)特別復(fù)雜頁面,因?yàn)槟_本截圖可能會(huì)有一些失真的情況。

我們上傳在端內(nèi)的淘系A(chǔ)PP里,上傳到我們的圖片空間做管理,然后到國際站,到AE可能要轉(zhuǎn)海外的基站,我們就上傳到阿里云OSS服務(wù)的位置。

剛剛講到自動(dòng)調(diào)度來提升它的穩(wěn)定性,可能調(diào)度ATS自動(dòng)調(diào)度的能力,然后有了這一套之后跟業(yè)務(wù)方整體鏈路,有的是頁面發(fā)布時(shí)候就叫我們,或者頁面需要有一些線上巡檢任務(wù)調(diào)我們,或者需要一些其他的創(chuàng)新方案時(shí)候,檢測頁面調(diào)我們,現(xiàn)在我們還接了任務(wù),就是有一個(gè)訂單,這兩天報(bào)了一個(gè)問題,就是簽訂的訂單可能空白了也會(huì)調(diào)我們應(yīng)用跑一下異常空白的檢測。

我們算法能力就是這些,最終顯示單機(jī)檢測有犬兔拼接能力,還有掉坑,適配檢測有含個(gè)性化數(shù)據(jù)圖片對(duì)比,因?yàn)椴煌~戶或者同一個(gè)賬戶在不同時(shí)間訪問頁面也是不一樣的,用傳統(tǒng)的錄制回放對(duì)比會(huì)有較大的差異問題,然后會(huì)檢測異常詞,這會(huì)調(diào)用OCR的能力,或者是搶光,這種看業(yè)務(wù)方不同業(yè)務(wù)需求做定制。

大家看一下實(shí)際例子,就是素材圖模塊級(jí)數(shù)量變動(dòng),我們可能通過對(duì)比發(fā)現(xiàn)對(duì)比失敗人會(huì)去看這種問題導(dǎo)致的,還有商品和坑的自適應(yīng),商品坑寫死寬度導(dǎo)致不同機(jī)型寬度有問題,這是通過對(duì)比能力發(fā)現(xiàn)的。還有空坑能力,頁面圖沒有加載出來,或者默認(rèn)加載了沒有實(shí)時(shí)商品數(shù)據(jù)的。然后還有掉坑,這就是指我們會(huì)場頁面一行兩個(gè)或者一行三個(gè)商品坑或者是卷的坑缺失的時(shí)候這也是業(yè)務(wù)場景需要關(guān)心的。

還有相同素材,就是我們只是檢測單品,單品如果出現(xiàn)了相同的推薦,相同的品牌或者相同的商品,我們這種場景下面其實(shí)后臺(tái)算法沒有做到正確打散,打散邏輯有問題的他們也會(huì)關(guān)心,還有空樓層的問題,有樓層名稱但是下面整個(gè)樓層沒有數(shù)據(jù)。

還有異常詞下面營銷利益點(diǎn)是null,這可能后臺(tái)沒有填或者前端拉取異常導(dǎo)致的。整屏或者大半屏沒有數(shù)據(jù),還包括利益點(diǎn)的折疊。

我們介紹其中一種算法,就是含個(gè)性化區(qū)塊的圖像對(duì)比,運(yùn)行過程中可以支持登錄自動(dòng)化賬戶跑,但是難免跑實(shí)際場景或者同一個(gè)賬戶出現(xiàn)的異常,這是我們需要做圖像對(duì)比需要解決的問題。剛剛說我們整個(gè)實(shí)現(xiàn)是基于前端自適應(yīng),但是理想情況下可以做到100%的完美,但是不同瀏覽器環(huán)境不同開發(fā)的問題,或者邊框級(jí)1px適配差異導(dǎo)致累積換算時(shí)候,GS換算有精度問題,會(huì)有略微差異,我們會(huì)首先做一個(gè)平移,就是找兩張圖,通過一些換算找到差值最小的匹配位置,這一步目的就是把頂部對(duì)企業(yè)。

我們找的位置計(jì)算差值區(qū)域,就是兩張圖有差異的部分,這里有噪聲我們進(jìn)行形態(tài)學(xué)操作,拿到主要差別區(qū)域,拿到差別區(qū)域以后,我們用邊緣檢測找到圖片邊緣,然后將差異化大的部分蓋掉,我們對(duì)比時(shí)候這兩個(gè)圖做對(duì)比的,然后會(huì)計(jì)算他們的特征和相似值,通過這個(gè)展示框架級(jí)差異,個(gè)性級(jí)差異是可以對(duì)比出來的。

除此之外,因?yàn)槲覀儎倓傄娺^很多算法場景,還運(yùn)用了特征點(diǎn)匹配,OCR,不同分類模型訓(xùn)練,包括MobileNet。同時(shí),因?yàn)椴迦腠撁娈?dāng)中腳本和后臺(tái)交互,所以腳本可以拿到多一層信息就是頁面的DOM信息,這是指整個(gè)頁面有塊級(jí)元素存在,這個(gè)在頁面當(dāng)中具體位置是什么樣的,比如說這里有商品坑,可以拿到這個(gè)坑位大小、長寬、具體頂部和左部位置,有這個(gè)信息可以進(jìn)一步提高算法檢測的精度。

我們的運(yùn)行數(shù)據(jù)是這樣的,如果人力適配投測試過程,主要是參加上線階段,上線前開發(fā)完以后,投入一輪去不同的機(jī)器看不同效果。這個(gè)在上線階段、測試階段、改完Bug的任何一個(gè)階段都可以實(shí)時(shí)跑,所以我們頁面覆蓋數(shù)比它高很多。同時(shí),因?yàn)槲覀兊乃惴芰Γ瑤椭l(fā)現(xiàn)了更多的體驗(yàn)類的問題。這是之前6月的數(shù)據(jù),人力投入是當(dāng)時(shí)有設(shè)備異常掉線場景維護(hù),還有一部分是算法結(jié)果人工確認(rèn)的投入,這種隨著算法精度提升和自動(dòng)調(diào)度方案的改進(jìn),其實(shí)是可以進(jìn)一步縮小的。這個(gè)是剛剛演示的單日巡檢,兩小時(shí)跑一次,一小時(shí)跑一次的場景下檢測到每天頁面有問題的數(shù)。

我的演講到這里結(jié)束,謝謝!

 

責(zé)任編輯:張燕妮 來源: 51CTO
相關(guān)推薦

2019-12-05 16:01:24

云計(jì)算行業(yè)科技

2019-11-26 17:41:59

AI 數(shù)據(jù)人工智能

2016-01-22 09:47:10

HTML5WebGLBIM模型

2011-04-01 16:15:11

Zabbix報(bào)錯(cuò)

2020-12-13 12:14:45

H5開發(fā)H5-Dooring

2015-07-15 14:38:54

H5移動(dòng)適配

2015-07-15 12:30:37

移動(dòng)端H5高清多屏

2017-05-10 07:33:41

AndroidWebView視頻

2019-12-05 16:25:26

開發(fā)技能代碼

2019-12-13 11:58:21

AI 數(shù)據(jù)人工智能

2019-11-26 17:52:18

AI 數(shù)據(jù)人工智能

2022-04-28 15:38:42

WebViewJavaUI

2019-12-05 16:17:59

云計(jì)算行業(yè)科技

2022-10-20 08:34:09

圖像算法商品

2019-12-05 16:23:15

開發(fā)技能代碼

2020-06-15 12:20:08

華為

2009-08-08 17:07:57

Intel虛擬化解決方

2019-11-26 17:44:16

AI 數(shù)據(jù)人工智能

2019-11-26 18:00:59

系統(tǒng)運(yùn)維架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品国产精品国产专区不卡 | 欧美高清视频一区 | 国产视频2021 | 成年免费大片黄在线观看一级 | 国产美女精品视频 | 九一在线观看 | 在线精品一区二区三区 | 日韩欧美国产成人一区二区 | 毛片网在线观看 | 日韩精品久久一区 | 黑人巨大精品欧美一区二区免费 | 久久久久国产一级毛片高清网站 | 成人在线视频网址 | 国产福利91精品 | 中文字幕一区二区三区四区 | 欧美男人天堂 | 国产精品日本一区二区在线播放 | 二区三区视频 | 人妖无码| 另类专区成人 | 久久成人精品视频 | 欧美九九九 | 天色综合网 | 欧美激情视频一区二区三区免费 | 91中文 | 欧美综合视频 | 91视视频在线观看入口直接观看 | 欧美特级黄色 | 羞视频在线观看 | 国产一区高清 | 在线国产一区二区 | 亚洲小说图片 | 国产精品视频久久久久 | 一区二区三区在线 | 交专区videossex农村 | 亚洲少妇综合网 | 国产一区二区在线免费视频 | 91电影在线播放 | 男女免费在线观看视频 | 视频在线亚洲 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 |