友盟+ 陳新祥:以應用性能監控平臺U-APM,為移動應用穩定性保駕護航
2021年7月16與17日, 以“質量無界 測繪未來”為主題的中國互聯網測試開發大會Testing Summit China(簡稱 MTSC)在上海寶華萬豪酒店成功舉辦,大會匯集了全國互聯網行業的測試、研發工程師,以交流軟件質量標準、保障體系和測試研發技術為目的,議題內容涵蓋國內外前沿技術落地、業界工程最佳實踐經驗等。
會議上,友盟+高級產品專家、數據傳承官陳新祥帶來了“如何保證移動應用的穩定性”的主題分享。
移動應用的崩潰現狀
移動應用的穩定性、性能與體驗十分重要,直接影響著用戶對產品本身的體驗。根據友盟+《2021年Q1移動應用性能體驗報告》顯示,目前移動應用整體崩潰率為 0.29%,其中 Android 端崩潰率為0.32%, iOS 端崩潰率為0.10%。當某款應用iOS的崩潰率超過0.8%、Android崩潰率超過0.4%時,活躍用戶將呈現明顯的下降態勢。
另外,頁面加載速度也會對客戶滿意度帶來影響。頁面響應時長每增加一秒,用戶滿意度就將降低16%,而如果頁面響應時長超過3秒,部分用戶甚至會直接退出。
基于上述數據,陳新祥認為,對目前市面上的App而言,其崩潰率需低于0.10%,方能達到優秀標準。
不同的行業基于產品形態、技術架構不同,其應用崩潰率也存在差異。以游戲行業為例,其行業性質特殊,加之游戲產品本身也較為復雜,所以崩潰率遠遠高于其他行業。而新聞、影音、閱讀等應用則相對崩潰率較低。此外,不同日活量級的App,應用崩潰率也參差不齊。日均活躍用戶數量超500萬的常用App,崩潰率大多低于0.1%;而日均活躍用戶數量較低的C端App,基于各方面的原因,穩定性表現則相對較差,某些App崩潰率甚至高達3%、4%。
但不論所處行業是否相同,產品用戶體量是否一致,保證產品穩定性都應以業務效果、業務數據為落腳點。想要有穩定的性能體驗,就要將其加入到產品的研發階段、測試階段、灰度階段以及全量階段,并從中找到業務與應用性能穩定性的平衡點。
知之非艱,行之惟艱。選取合理的平衡點并非易事,在此過程中,項目團隊既要保業務,又要保時間,對團隊來說,這是極大的挑戰。
移動應用的共性問題
要解決問題,首先要知道問題所在。當前移動應用面臨著許多共性問題,例如Android市場的碎片化,以及崩潰問題的定位困難,類似的共性問題雖然具體,卻難以輕易解決。
以U-APM曾經服務過的客戶為例,其App被用戶反饋頁面加載緩慢,但這并不屬于崩潰,原因也難以定位。除此之外,由內存泄漏等原因造成的崩潰問題,測試階段并不能全面覆蓋和發現,這對上線后的實時采集和問題復現有著極高要求,其中涉及多個技術難點,亟需高效便捷的應對解決。
首先是采集方面。一般來說,上線后的應用需要具備多種基礎核心采集能力,以采集Android系統中Java層的崩潰與Native層崩潰,以及iOS系統中的Objective-C層或Swift層崩潰。除此之外,還需具備捕獲ANR、自定義異常、卡頓等的能力。
要想全面捕獲與采集種類繁多的問題并不容易,類似設備重啟環境下的異常類型崩潰與設備兼容性所產生的崩潰問題,就難以被常規方式所采集。同時,對于用戶使用Android APP 過程中出現的提示應用無響應的ANR問題,傳統讀取系統trace日志的方式,并不能將其全面捕獲。
其次是聚類方面。要將不同類別錯誤、不同版本、新舊問題聚合到一起,中間還存在著重重困難。
另外,陳新祥發現在崩潰等問題修復中存在這樣的問題:應用崩潰往往會重復性出現。老版本解決了的問題,卻又在新版本出現,在反復修復重復問題后,發現過往崩潰異常原因與最終解法可沉淀繼承比例,竟高達70%、80%。
上述情況的產生,主要源于團隊內部的人員流動所導致的信息交換效率過低。某些研發人員面對問題時,很可能會以為該問題已被自己或他人解決,殊不知,問題依然存在。
在采集與聚類之外,還有測試方面的問題。
目前,大部分研發測試團隊存在有產品快速適配特定設備的需求的同時,還會經常收到來自客戶即時的App崩潰反饋,兩者往往都需要調用真機參與測試。在移動應用端,真機測試是許多測試人員使用最多的場景。但傳統真機測試流程相對繁瑣,效率因此較低。
針對上述多種問題,友盟+整合了產研實踐過程中應用性能問題的采集、監控、發現、流轉、定位,以及測試環節,將其沉淀輸出為“U-APM應用性能監控平臺”,以解決產研團隊在整個開發周期與線上運營階段所面臨的諸多痛點。
U-APM:保障移動應用穩定性的強力工具
U-APM 作為免費的一站式應用性能監控平臺,集App穩定性監控、性能監控和云真機測試平臺為一體,很大程度上能解決移動應用的共性問題。
以采集為例,U-APM能夠捕獲包括產品信息、設備層與環境層的運行狀態等信息,從而快速地分析出導致App崩潰的主要原因。針對ANR,U-APM通過監控整個系統信號,抓取事件并生成相應的日志信息之后,再吐還給信號,從而顯著提高了系統ANR的捕獲率,以快速定位錯誤根源。
而針對問題聚類和智能診斷,U-APM則是參考了阿里集團內部的聚合算法和過往經驗,將所發現問題的沉淀原因、曾經的解法等相關信息匯聚為方案交由研發人員的思路,將錯誤摘要相同的錯誤日志所聚合并展示其詳細信息,以幫助產研團隊快速定位問題、解決問題。
另外,面向測試環節,U-APM云真機在提供ADB調試、WEB遠程調試、掃碼、抓包等常規測試功能之外,更是提供了海量 Android 、iOS 真機,以滿足測試人員發版前測試、復現問題等真機測試需求。與此同時,真機如果在線上發生崩潰問題,U-APM會自動采集崩潰信息,提供詳盡的崩潰報告協助開發、測試人員篩查,從而幫助他們找到測試階段產生的崩潰原因,節約大量購機成本的同時,還顯著提升了效率,真正實現監控測試全流程深度打通。
基于保證業務的出發點,陳新祥從始至終都在談論效率,這種對效率的執著,也反映在了U-APM的內部流轉機制上面。陳新祥表示,內部流轉基本分為兩層:
第一層是從問題識別到監控流程的通知到位。除釘釘外,U-APM還支持郵箱、企業微信、飛書等多種觸達方式。
第二層則是以集成內部項目軟件或API的方式,將具體的崩潰問題直接流轉給相應的技術同學進行排查
值得一提的是,U-APM同時對阿里內部和外部開放,自U-APM平臺落地以來,阿里內部的諸多產品都在使用。基于U-APM出色的產品力,其支持的App整體崩潰率水準均可低于0.10%這一優秀標準,在研發效能上也有提升3倍(300%)效果。
自去年U-APM對所有開發者免費開放后,為開發者帶來10%-40%的效率提升。目前,U-APM已對外服務超2萬款應用,以及應用背后的上萬家客戶。
埃利德·尤德考斯基(Eliezer Yudkowsky)曾說過:“任何能帶來優于人類智能的東西,(其形式可能為人工智能,人腦-計算機交互界面,基于神經科學的人類智能提升),都會在改變世界的競賽中占據領先地位。再沒有什么能與此相提并論。”而在數智化突飛猛進的當下,U-APM更像是新時代的智能警察,為優質的用戶體驗保駕護航。