衆所周知,Android系統的碎片化非常嚴重,目前市面上的不同廠商、不同品牌的手機差異化都非常大,而且各大手機廠商百家争鳴,每年都要推出數款乃至數十款手機。在這個情況下,怎麼保證我們的APP得以正常運作,擁有良好的體驗,成為開發者極為頭痛的事情!!!
UC研發效能組長期為UC業務提供自動化測試報障,這個問題自然也是我們持續在研究的,我們岩鼠平台也提供了友善的APP相容性測試,于是我拉上研發小哥哥決定制作系列幹貨文章,為大家揭秘【APP相容性該怎麼測】。
相容性面臨的問題
不同的系統版本
Android的版本非常多,并且還在持續演進,目前最新是Android Q正式版本,而低版本如Android 4.x版本也還是有一定份額,是以大部分應用也是需要相容Android 4.0及以上,但是Android系統的向下相容性并不是特别好,是以開發者需要使用SDK進行向下相容來解決不同系統版本的相容性問題。
Android各個版本市場佔有率(2019.05)
2.各品牌的ROM相容性
Android因為其開源的特性,國内的廠商都會定制自己的ROM,如小米的MIUI、OPPO的ColorOS、VIVO的FuntouchOS、華為的EMUI、魅族的Flyme、一加的H2OS等等,這些ROM和Android原生ROM差異已經越來越大,同時具有一些自己的特性,給移動開發者帶來非常大的困擾。
3.分辨率問題
繼全面屏手機推出後,目前手機的分辨率真的是五環八門,劉海屏、水滴屏、挖孔屏,還有折疊屏等等。從分辨率尺寸來說也有數十種之多,不同分辨率的裝置上呈現出來的效果也不盡相同,如果沒有進行适配,可能就會給使用者帶來很糟糕的體驗。
4.硬體不同
硬體架構主要是CPU了,目前主要是高通、海思、聯發科三個廠商,但是具體的型号也有數十種之多。
高通晶片系列:
https://www.jianshu.com/p/f0a440ad0185MTK晶片系列:
https://zhuanlan.zhihu.com/p/39305123海思晶片:麒麟910、麒麟920、麒麟930、麒麟950、麒麟960、麒麟970、麒麟980、麒麟990
綜上,要做一款品質好,體驗優的APP,必然要面對很大的挑戰,除了以上提到的技術上挑戰之外,在落地測試驗證的時候,還會遇到更艱難的問題——覆寫熱門機型的成本。
我們要保證大部分的使用者體驗,一般測試熱門的TOP100~TOP300手機,如果直接采購,這個手機成本就超過百萬了,大部分團隊很難把所有的TOP機型湊齊。
UC的相容性測試怎麼做
我們在實際開發中,往往不會一個一個機型版本去測試适配,更多還是用主流的機型進行開發驗證。那麼就需要在測試環節、釋出前驗證環節加入自動化相容性測試的把關,通過自動化測試快速的進行問題檢測。
自動化相容性測試要求在手機上自動化執行【安裝-啟動-測試-解除安裝】這個完整的流程,并且要求測試的準确性和效率。
本文先概要介紹下這幾個步驟主要做什麼,以及會面臨的問題,後續文章将繼續詳細介紹各個難題如何突破。
1.安裝
相容性第一步是安裝,由于不同廠商以及應用商店都有準入的檢查,是以安裝隻能成功不能失敗。那麼安裝過程都有哪些問題呢?
- CPU ABI架構支援,現在所有的APK都要求支援64位架構了,并且Google也從8月份開始要求上架Google Play必須支援64位( https://developer.android.com/distribute/best-practices/develop/64-bit) ;
- 證書檢查,簽名檔案錯誤或簽名失敗都會導緻無法正常安裝;
- 另外還有存儲空間不足等等問題
2.啟動
啟動過程中,需要檢查啟動的時間,因為啟動速度是使用者的第一體感,如果啟動非常慢的話,很難給使用者帶來好的感觀。啟動一般容易出現以下問題:
- 無法啟動,首頁面都沒辦法啟動
- 啟動崩潰,啟動後直接就出現崩潰
- 啟動後的活動頁等無法跳過
- 啟動速度非常慢
3.登入
登入問題其實是所有APP在自動化測試時都要面臨的問題,因為基本上都沒有标準的控件,并且都有自身産品的獨特設計,是以在登入時非常容易出現問題。
- 自身賬号無法登入
- 調用第三方登入無法登入
4.周遊
在做自動周遊的時候,很多人都想到說不能完全覆寫我的APP的全部場景,但是實際APP變化特别快,并且APP種類多,如果都需要準備每個APP的功能用例,那成本就太高了。是以我們采用自動周遊的方案,針對APP來進行基礎的可用性檢查,同時收集各類資料回報周遊了哪些頁面,發現了哪些問題。
5.資料可視化
怎麼知道測試的效果是否可靠呢,這裡需要對測試資料進行可視化
- Activity覆寫次數
- 點選的控件記錄
- 各種性能資料
- CPU
- 記憶體
- 幀率
- 網絡
6.解除安裝
完成全部測試後,千萬不要遺漏最後一點,就是APP能否正常被解除安裝,否則容易被誤認為是病毒軟體。
免費試用
岩鼠平台相容性測試,目前開放免費試用,歡迎體驗
岩鼠雲裝置平台系列文章:
APP相容性(2)- 揭秘岩鼠智能周遊