天天看點

APP 相容性(1)- 概述相容性面臨的問題UC的相容性測試怎麼做免費試用

衆所周知,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/f0a440ad0185

MTK晶片系列:

https://zhuanlan.zhihu.com/p/39305123

海思晶片:麒麟910、麒麟920、麒麟930、麒麟950、麒麟960、麒麟970、麒麟980、麒麟990

綜上,要做一款品質好,體驗優的APP,必然要面對很大的挑戰,除了以上提到的技術上挑戰之外,在落地測試驗證的時候,還會遇到更艱難的問題——覆寫熱門機型的成本。

我們要保證大部分的使用者體驗,一般測試熱門的TOP100~TOP300手機,如果直接采購,這個手機成本就超過百萬了,大部分團隊很難把所有的TOP機型湊齊。

UC的相容性測試怎麼做

我們在實際開發中,往往不會一個一個機型版本去測試适配,更多還是用主流的機型進行開發驗證。那麼就需要在測試環節、釋出前驗證環節加入自動化相容性測試的把關,通過自動化測試快速的進行問題檢測。

自動化相容性測試要求在手機上自動化執行【安裝-啟動-測試-解除安裝】這個完整的流程,并且要求測試的準确性和效率。

本文先概要介紹下這幾個步驟主要做什麼,以及會面臨的問題,後續文章将繼續詳細介紹各個難題如何突破。

1.安裝

相容性第一步是安裝,由于不同廠商以及應用商店都有準入的檢查,是以安裝隻能成功不能失敗。那麼安裝過程都有哪些問題呢?

2.啟動

啟動過程中,需要檢查啟動的時間,因為啟動速度是使用者的第一體感,如果啟動非常慢的話,很難給使用者帶來好的感觀。啟動一般容易出現以下問題:

  • 無法啟動,首頁面都沒辦法啟動
  • 啟動崩潰,啟動後直接就出現崩潰
  • 啟動後的活動頁等無法跳過
  • 啟動速度非常慢

3.登入

登入問題其實是所有APP在自動化測試時都要面臨的問題,因為基本上都沒有标準的控件,并且都有自身産品的獨特設計,是以在登入時非常容易出現問題。

  • 自身賬号無法登入
  • 調用第三方登入無法登入

4.周遊

在做自動周遊的時候,很多人都想到說不能完全覆寫我的APP的全部場景,但是實際APP變化特别快,并且APP種類多,如果都需要準備每個APP的功能用例,那成本就太高了。是以我們采用自動周遊的方案,針對APP來進行基礎的可用性檢查,同時收集各類資料回報周遊了哪些頁面,發現了哪些問題。

5.資料可視化

怎麼知道測試的效果是否可靠呢,這裡需要對測試資料進行可視化

  • Activity覆寫次數
  • 點選的控件記錄
  • 各種性能資料
  • CPU
  • 記憶體
  • 幀率
  • 網絡

6.解除安裝

完成全部測試後,千萬不要遺漏最後一點,就是APP能否正常被解除安裝,否則容易被誤認為是病毒軟體。

免費試用

岩鼠平台相容性測試,目前開放免費試用,歡迎體驗

岩鼠雲裝置平台

系列文章:

APP相容性(2)- 揭秘岩鼠智能周遊