真正的機器人AI移動端自動化測試 (ROBOT XT UEE Testing)


阿里QA導讀:“業務先贏”、“極致體驗”一直是質量人的主旋律。今天小編帶來已入選阿里巴巴內部《阿里集團21財年最值得讀的前沿技術領域熱文合集》,也是本年度唯一一篇質量領域入選“人工智能”板塊的文章,跟大家一起分享交流,看看如何用「真正的」機器人測試來保障“業務先贏”和“極致體驗”。

一.背景


    隨着移動互聯網的蓬勃發展以及5G時代的到來,智能移動終端普及從智能手機拓展到 IoT,商業模式也逐步實現線上線下打通,產品設計時,多 App /多終端之間的交互也越來越多,例如消費者與商家互動、用戶與主播互動等。隨之而來的終端系統也拓展到了 Android、iOS、鴻蒙、Win Touch、RTOS 等等,多APP、多端矩陣也逐漸成為業務觸達用戶的常態。下圖是一位測試人員在不同平台上模擬消費與商家溝通的一個場景。   

    UI自動化作為“業務先贏”的一種重要手段一直在不斷演進,從泛終端與多端UI自動化視角看,行業內主要有以下或類似的解決方案:

    從“極致體驗”角度來看,加載時長評測占據半壁江山(還有普遍關注的內存/CPU性能、幀率/卡頓、Crash穩定性),行業內主要是以下或類似解決方案:

傳統的方式存在一些缺陷:

1)人工點擊錄屏耗費人力;

2)基於埋點的方式能夠反映技術優化結果,但很難作為用戶真實場景體驗的精確數據;

3)基於系統驅動的方式對待測設備有侵入,多個系統多套腳本,覆蓋場景比較有限(如非Android/iOS的IoT設備),難以跨平台支持;

綜上來看,在“業務先贏”、“極致體驗”的道路上,依然存在需要解決的質量保障難題:1)從泛終端多端交互全流程的視角來看,目前功能自動化測試依然面臨每個端(iOS/Android/PC)各自維護一套腳本或是“偽”一套腳本,成本高;

2)多APP矩陣間的交互場景以及同場景下的競品分析日益增多,亟需支持多設備互動的自動化手段;

3)互聯網市場廝殺日益激烈,產品形態多樣性放緩,擁有極致用戶體驗的互聯網產品才能贏得更多的市場與消費者,期望尋求一種立足“用戶真實感受”、對被測系統無侵入、計量精確的解決方案。

4)在快速迭代/變更、復雜功能需求、AB測試的互聯網產品背景下,完全依賴人工編寫/維護自動化腳本已無法滿足需求:系統變動自適應能力差;不能自行探索構建測試場景;傳統的單點驗證測試覆蓋面小,很難在項目中快速應用和廣泛推廣。

二.我們的策略


    為了應對以上難題,我們跳出了常規思維,嘗試使用引入攝像頭、機械臂、算法代替人眼、人手、人腦開展泛終端時代多端交互的UI自動化與用戶體驗評測,同時,我們提出了UEE自動化測試的概念。    

 

1、什么是UEE自動化測試:

    通過IoT(如機械手、攝像頭)等外部設備模擬真實用戶操作,實現以外部真實用戶視角對AUT(APP Under Test)進行的端到端黑盒自動化測試。以“真實”模擬為核心目的,具體包括兩部分:

1)用戶交互體驗評測:通過IoT(如攝像頭、傳感器)等外部設備采集並將真實用戶感受數字化,來獲取最接近真實用戶體感的性能及用戶體驗指標;軟件綠色聯盟在2020年3月份也發布了《軟件綠色聯盟智能終端性能流暢評測標准V2.0》,並以機械臂+攝像頭的方式作為加載耗時的評測標准,我們在2019年初就開始使用這種模式。

2)多設備端到端功能自動化:通過機械手實現同時多設備的跨終端的自動化操作執行;通過AI算法實現IoT設備的調度控制、場景理解、測試步驟執行、測試路徑探索、體驗指標計算、異常處理等能力。

    通過機器人對系統進行黑盒測試,類似的做法在國外Axiz機器人也有嘗試。

 

2、為什么要UEE設備端到端自動化測試

E滿足深度用戶體驗評測的訴求(Experience

    更高精度:隨着深度用戶體驗提升的需求日益增加,端側的性能和體驗優化會精確到ms級別,因此需要找到進一步提升用戶體驗指標度量精度的方法。

    多設備間交互測量:隨着多端交互的場景越來越多。不光是APP之間,設備層面APP和PC乃至IoT之間交互的場景也不斷出現,需要度量多APP多設備之間的交互性能及用戶體驗,需要度量多設備多系統間(從A手機到B手機,手機到PC/IoT 等)的交互式體驗指標。

    真實模擬:軟件模擬點擊和真實用戶操作還是存在差異,要探索一種更模擬用戶真實操作的方式。

E多設備端到端功能自動化測試的支持(End1 to End2

    業務客戶端發版經常需要對Android/iOS/Pad甚至PC進行覆蓋測試,同時APP之間的業務交互場景也逐漸增多,比如淘系的消費者-商家互通全流程,測試不僅僅只是單手淘、天貓或者千牛APP覆蓋,還要能覆蓋和串聯起從消費者到商家的整個業務流程端到端自動化。此時,我們面臨着新的挑戰:

多機交互自動化:無法快速支持多手機 App 間、手機與PC/IoT之間交互的操作;

基於外部視角的對象識別:CV和AI算法的加持讓UI自動化測試在對象識別上有了新的突破,但依然無法擺脫軟件層API操作的局限,受所在操作系統限制,依舊存在部分特定場景下元素無法識別的問題(如系統內Push消息操作);

一套跨終端設備的通用腳本:還不是真正意義上的多設備多平台一套腳本驅動,Android/iOS/PC/IoT受系統版本或環境影響,可能仍需要多套自動化腳本,維護成本高;

一個腳本一次執行覆蓋多個設備和系統:由於不同操作系統有不同的自動化執行引擎,一個腳本一次執行無法同時對Android/iOS/PC/IoT 完成回歸。

三.RXT(Robot-XT)迎接挑戰,應運而生


    基於UEE自動化的理念,我們嘗試使用機器人的方式獲取用戶體驗指標以及開展UI自動化測試,設計並研發了RXT。它基於IoT架構,從“用戶真實感受”出發,零侵入被測系統獲取用戶體驗指標(加載耗時、跳閃白分析),同時支持圖/文驅動跨設備交互的UEE自動化用例批量執行。如下是演示效果:

下圖是RXT的能力介紹:

1、深度用戶體驗指標

    RXT立足“用戶真實感受”獲取用戶體驗指標,用機械臂手代替人手操作,用高速攝像頭代替人眼記錄操作過程,並具備體驗指標算法(不需要目標對象的加載耗時分析、白屏分析)的大腦結構,RXT也可支持設備交互場景及競品對比場景。

2、多端自動化

    RXT在傳統的單機操作之上引入一層新的“主控大腦”,接管、調度跨設備的時序操作,完美支持了多端多設備、多App間交互場景的自動化能力;RXT使用原生Python程式化(基於unittest)組織用例,用戶可靈活控制/增加定制邏輯,並基於Python module理念抽離公共邏輯,降低用例維護成本,此外,用例可通過任務組織批量執行;RXT上層用例基於圖文方式1套腳本驅動,底層執行引擎支持機械臂引擎和UIAutomator/WDA自動化引擎,其中機械臂方案做到與平台、設備無關,打通手機和PC(平板)間自動化的壁壘,滿足各種場景的測試需要;“非預期”彈窗(突如其來的紅包Poplayer、首次安裝需要的各種權限、過渡動畫廣告等等)是自動化測試的災難性問題,RXT-ESP提供了相關的識別和處理機制;RXT提供真機用例調試能力,用戶無需准備任何本地環境即可運行、調試用例。    

3、對象識別

    多場景傳感器融合下的對象識別,使用ROI截取、圖像增強/去噪優化被測對象圖片,坐標變換關聯手機元素位置與機械臂操控位置,基於OCR獲取目標圖像文本信息,改進SURF/SIFT特征匹配算法提升圖像識別准確率。

4、異常處理

    RXT具備非預期彈窗的檢測與處理能力,例如可以檢測首頁Poplayer紅包彈窗、權限彈窗等,並且使用NLP對互動按鈕(如"我知道了",”允許“,”不再提醒“)進行語義理解、分類,然后加以處理。

5、用例生成

    RXT能從分散雜亂的用戶埋點數據中,通過清洗、聚合、去重構建手淘消息用戶行為訪問路徑及Top N熱點路徑,從而轉變成具備業務語義的用例,后者正在進行中。

四.項目實戰


1、手淘消息場景用戶體驗升級項目

    項目目標簡介:手淘消息是世界上最大的商業溝通場景,該項目目標是大力提升手淘消息的加載體驗、並進行跳、閃、白治理

    策略&效果:下面是該項目優化前后,使用RXT觀察到的用戶使用前后版本打開消息業務的效果對比視頻:

2、手淘消息多通道升級項目
    項目目標簡介:該項目涉及到底層鏈路新/老切換,與上層客戶端業務進行對接,為降低質量風險,上線期間兼容了新/老鏈路方案,對應的測試回歸場景涉及到手淘消費者(Android/iOS)、千牛商家(Android/iOS/PC)雙端的新老鏈路交互,按笛卡爾乘積增長,共有48種,每種場景都基本對應同一套測試用例。

    策略&效果:上層業務上存在大量重復Case回歸,我們的策略是將簡單、重復的用例交給RXT,人工投入更多的時間在復雜場景的用例設計和回歸上。

3、大促態消費者-商家下單核心鏈路驗收

    項目目標簡介:大促態下,消費者提交訂單是核心鏈路。不僅需要保障手淘消費者(Android/iOS)提交訂單成功,並且需要保障千牛商家側(Android/iOS/PC)能夠實時收到消費者提交的訂單信息。

    策略&效果:如下是實戰效果(手淘-千牛移動端):

五.總結及未來展望


    本文主要介紹了UEE自動化測試理念,並在此基礎上設計並研發了RXT以及相關的一些項目實踐結果。我們還將在“業務先贏”、“極致體驗”的道路上繼續前行。未來我們將繼續優化RXT產品,繼續提升產品穩定性、智能化能力。同時也希望我們的能力可以更多對行業開放,讓智能化測試服務行業,實現真正的測試智能。歡迎大家提供合作機會!! 

六.附:


什么場景下建議開展UEE端到端用戶體驗測試?

建議UEE自動化作為UI自動化的輔助和補充。以下場景建議使用UEE自動化測試:

1、單設備APP用戶體驗指標評測:單手機APP對精度有更高要求,更真實模擬用戶體感的場景。

2、多設備APP間的用戶體驗交互或對比評測:比如手淘消息和微信消息的用戶體驗指標對比、不同APP啟動時長對比等等。

3、多設備交互的端到端功能自動化測試:比如社交類場景的賣家B和買家C的消息互通測試、手淘買家和千牛PC賣家之間業務依賴的B到C全流程測試等。

end



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM