1、APP 兼容性測試認識
隨着 APP 應用范圍越來越廣,用戶群體越來越大,終端設備的型號也越來越多,移動終端碎片化加劇,使得 APP 兼容性測試成為測試質量保障必須要考慮的環節。
APP 兼容性測試通常會考慮:操作系統、廠家 ROM、屏幕分辨率、網絡等方面。但如果要在有限的測試人力物力和時間資源下覆蓋所有兼容性測試維度是困難的,因此,通常采用 Top X 原則,即 Top 排名靠前的。如何獲取 Top X 數據,可采用埋點方式盡量獲取自己軟件 APP 的數據,這樣更精准。若無產品自身的數據,則可參考業界匯總的 Top 排名數據。
2、兼容性測試維度分析
2.1 操作系統版本
操作系統版本主要考慮 Android 和 iOS 系統,其中 Android 系統具體的版本分布及市場占有率如下表示(文中數據來源於騰訊大數據研究中心):
其中 iOS 系統具體的版本分布及市場占有率如下表示:
從以上數據得出,android4.x、5.x、6.x 版本市場占比不足 7%,可以同產品開發商議,如果目前軟件開發不支持舊版本的兼容,測試可選擇放棄舊版本的兼容測試。針對 Android,主要考慮 7.x,8.x,9.x,10.x,針對 iOS,主要考慮 12.x、13.x、14.x。針對每個操作系統大版本下的小版本,由於工作量太大,除非有明確對於 app 的影響,一般不需考慮逐個覆蓋小版本。
2.2 不同廠商
Android 和 iOS 都有不同的手機型號,蘋果目前已經更新到 iPhone 12 Pro 。對於 Android 的型號,因為 Android 系統源碼是開源的,不同 Android 手機廠商都會基於 Android 原生系統進行定制修改,然后對外發布。發布的系統層出不窮,會加劇 Android 碎片化問題,導致安卓設備之間的差異越來越大,一個安卓 APP 應用在不同的設備上可能呈現出完全不同的行為,例如調用手機相機會在某些手機上出現不兼容。對於不同 Android 廠商 ROM 的兼容,很多測試團隊不具備大量的機型設備,通常的做法是,兼容一些主流廠家的型號。
Android 平台的品牌及型號排名(數據來源於百度統計流量研究院):
iOS 平台的型號排名(數據來源於百度統計流量研究院):
2.3 屏幕分辨率
在不同的分辨率、尺寸的設備上,如果代碼沒有做適配處理,就會出現錯位、拉伸、樣式異常等問題。截至目前,andoid 的主流分辨率為:1920*1080,1280*720,2340*1080 等,主流尺寸是 5.x、6.x 英寸
iOS 的主流分辨率為:2208*1242, 1334*750, 2436*1125 等,主流尺寸為 5.5~6.5 英寸
2.4 網絡類型
保證不同網絡環境的覆蓋,目前,主要考慮不同運營商的 Wifi、2G、3G、4G 下的功能情況。
3、如何進行兼容性測試
兼容性測試本質是功能測試,針對以上兼容性測試維度,不可能逐個測試用例在每個機型每個系統版本每種分辨率等情況下進行全部覆蓋,其測試工作量過於龐大。
因此,除了用戶億級的 APP 例如微信、抖音,會搭建測試平台進行全面機型的覆蓋外,其他的,對於兼容性測試維度覆蓋,一般優先考慮主流機型設備,並同步考慮該機型是否有覆蓋到不同廠家、系統版本、分辨率、尺寸等;若無覆蓋完全,則依據品牌排名靠前的設備進行補充,並與操作系統、分辨率、尺寸進行交叉組合。例如下表_部分(僅供參考)
確認好需要覆蓋的機型設備后,接下來如果在每款設備上逐一執行全量的功能測試用例,較耗時耗力,且測試效率不高。考慮到既要保證質量也要兼顧測試效率,通常做法是:
- 選擇在少數主流機型上執行全量的用例,在其他兼容性范圍內的設備上覆蓋主要功能的用例。
- 根據待測軟件特點、場景實現等可進行測試用例裁剪。類似從本地緩存獲取數據的頁面功能,不涉及網絡請求的,可裁剪網絡兼容測試用例。
另外,對於網絡類型的兼容測試,可任選一款真機在 Wifi、2G、3G、4G 等環境下,測試 APP 主要功能對於不同網絡帶寬、延遲和穩定性的處理。特別是與網絡強關聯的功能,例如視頻直播、文件傳輸等,需重點驗證。
4、總結
當通過人工或自動手段完成 APP 兼容性測試,並產品上線后,會收到用戶反饋的兼容性問題。依據反饋問題,需補充該兼容性測試場景的用例,用於后續版本測試。另外,對於主流手機更新及廠商新發布版本,我們也需要時刻保持關注,並考慮是否需要進行 APP 兼容適配測試。總而言之,一款 APP 的質量保障,兼容性測試問題必須重視,否則會導致用戶流失,影響到產品的長期發展。