本文章轉載于搜狗測試
Android應用適配測試淺談
什么是Android適配測試
Android適配測試是為了讓一款應用能夠在各種Android設備上良好運行,達到最佳用戶體驗而進行的一種測試。它涵蓋了安裝,應用功能,界面顯示,輸入交互,程序穩定性等許多方面。
為什么要進行Android應用適配測試
系統碎片化
原生系統版本更新速度快(從2008年9月至今,發布了從1.1到4.4至少13個版本)
第三方編譯(CyanogenMod,Omni,AOKP等)
第三方定制(MIUI,flyme OS,ColorOS,SmartisanOS等)
設備多樣化
設備品牌(三星,LG,小米,華為,魅族,聯想……)
分辨率(1920*1080,1280*800,1280*720,800*480……)
運營商(WCDMA,TD-SCDMA,CDMA-2000)
手機,平板設備
實體鍵,SmartBar
……
常見的適配問題
1. 不能安裝,解析包時出現問題;
2. 程序崩潰(啟動崩潰,運行崩潰,意外停止,無響應,退出崩潰);
3. UI錯位/失配(最典型);
4. 啟動時間長/運行不穩定/與其它應用沖突等。
適配測試分類
分辨率適配
UI界面在不同平臺的適配受屏幕尺寸和屏幕密度影響,Android適配機制就是在資源后面添加對這兩種因素的限定,通過不同的限定區分不同的平臺資源,Android在使用資源的時候會優先選擇滿足本平臺限定的資源,再找最接近條件的,再找默認(即不加限定),通過選擇適合當前平臺的資源來完成不同平臺的適配。
該適配測試適合于圖片,文案,控件布局較多時進行,同時也適合WebView頁面的適配測試。
廠商機型適配
當功能涉及到與廠商推出的特殊功能相關,或者調用手機的硬件設備時,就需要進行針對廠商/機型的適配。比如自動啟用免提功能,使用攝像頭進行二維碼的掃描,啟用錄音設備進行音頻的錄制等。
系統版本適配
Android版本的快速迭代升級,每一個版本都會有新的功能,甚至是新的API出現。例如Android 4.4系統,只允許一個默認短信應用,Android 4.4系統存在一個可選的運行環境ART,Android 5.0默認運行環境是ART等。
特殊ROM適配
一般來說,ROM的適配是因為ROM特殊的功能和權限引起的,或者ROM提供的系統預置軟件數據庫等于原生不一致等情況。當需要兼容特殊定制ROM時,就需要考慮部分廠商對Android系統進行了精簡、添加、修改,從而進行不同的ROM兼容適配。比如常見的有MIUI(安全管理,懸浮框默認關閉),ColorOS(部分動畫結束不發出信號),flymeOS(嚴格的安全管理),SmartisanOS(不支持桌面懸浮窗)……
針對CPU架構適配
影響CPU測試的方面主要有幾個,廠商平臺(高通,聯發科,三星,英特爾)、架構(ARM,Atom)以及位數(32bit/64bit)等。
Android系統運行環境
主要就是針對Dalvik和ART運行環境。ART運行環境是更換了Java虛擬機,其帶來的影響涉及到底層的庫(JNI,Java Native Interface)。需要注意的是ART也分版本。
如何判斷是否需要進行適配測試
主要是根據開發對一個功能實現/改動的內容、改動的情況,以及對現有功能的影響。分為UI方面和功能邏輯方面。
其中UI方面常見的改動:
1. 布局更改
2. 資源圖替換
3. 文案修改
4. 透明度/動畫調整
功能邏輯方面常見的改動:
1. API/方法/接口/函數的調用與修改
2. 功能或改動因系統版本而異
3. 功能或改動因ROM而異
4. 功能或改動因廠商而異
5. 功能或改動因不同平臺架構而異
6. 功能或改動因網絡情況而異
7. 調用系統預置軟件的文件/數據庫等
8. 系統聯系人數據庫
9. 系統短信數據庫
適配測試做到什么程度
1. 記錄每一步的截圖和結果;
2. 記錄結果覆蓋所有相應功能的機型/ROM/分辨率等;
3. 對于失配的部分及時報BUG,修改完畢后對修改進行適配檢查;
4. 適配測試需要覆蓋到所有的關注點;
5. 能夠給出完整的含有結論的適配報告;
適配過程中的常見問題
如何適配能夠更加高效/省時?
1. 存在前后步驟或者緊密關系的適配一次性進行
2. 一個適配步驟盡可能包含更多的適配關注點
3. 根據輸入輸出的難易程度進行適配步驟的歸類與劃分
4. 有時需要進行多種適配的時候也可能合并(部分)測試步驟
5. 避免在存在嚴重BUG/影響現有實現的BUG時進行適配測試
涉及第三方SDK/接口的內容怎么去適配?
需要對第三方SDK/接口的結果進行適配測試。避免出現因為第三方SDK/接口的適配問題而給產品帶來負面的影響。
需要考慮到第三方接口面向的用戶終端。比如微信SDK的接口分享的圖片需要面向Android和iOS設備。
如果開發沒有同時提測一個模塊的不同功能,怎樣適配?
可以在開發全部提測完成后再進行測試。尤其當有些頁面之間的關系為子級(跳轉過去)時,完全可以到子頁面也全部提測之后再進行測試。這樣可以節省時間。
如果測試時間緊張,還要進行適配測試,該怎樣進行?
性價比優先。在資源許可的條件下,為盡可能多的用戶提供服務。
優先適配主流機型;
優先適配主流分辨率;
優先適配主流系統版本;
適配測試中存在的困難
設備類型過多,無法100%適配到;
部分適配問題發生在非主流機型,甚至是已經停產的機型上;
特定的機器刷了特定的ROM引起的適配問題。