兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
由于Android设备在品牌、系统、屏幕、硬件等碎片化较为严重,导致一些app在特定的机型上未能按预计的设计展示和运行,导致用户体验较差,不利于app的推广,影响业务发展。为此,app需在上线前进行兼容性专项测试,以便尽可能适配市面上已上市或即将上市的手机和系统。
1、处理器
a) CPU架构,常规手机均是arm64 ,若app要适配x86架构则需要针对性测试
b) 不同CPU厂商,尤其是小众CPU,需要特别考虑,例如华为海思、小米澎湃
2、 显卡
a) 显卡影响图形渲染和部分场景的计算,app如用到OpenGL、OpenCV、深度学习、AR、VR、AI,则需要重点考虑
3、 屏幕
a) 分辨率影响UI展示,需兼容HVGA、VGA、WVGA、FWVGA、720p、1080p屏幕分辨率,并考虑不同PPI的情况
b) 关注异形屏幕:刘海屏、水滴屏、打孔屏、全面屏
4、 传感器
a) 视app实际调用情况进行选择:如指纹模块,则需要考虑不同供应商的情况
5、 物理按键
a) 检测物理按键是否生效:音量键、电源键、拍照键
b) 与系统或其他app是否存在冲突
1、 Rom
a) 不同版本的系统存在一些API、功能、权限等差异,需要结合app的功能进行适配;
b) 第三方定制rom具有一些特殊功能或权限,需要特别考虑,如MIUI
2、 编译版本
a) app编译时以最低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上
b) Android版本更新,新的版本会引入一些新的特性和方法,新的方法带来很多便利,但是对系统版本有要求,无法再低版本手机上运行,如果未做兼容性处理,强行运行,会导致Crash
附:Android 已发布版本和API对应表及占用率(官方数据)
3、 浏览器内核
a) 不同浏览器内核影响web页面展示及功能
1、 2G/3G/4G/5G
a) 不同网络下兼容各种类型的网络请求,关注数据请求过程及结果
2、 WiFi
a) 部分WiFi非直连网络,需要有一步认证的过程,需要特别考虑
b) 对于可能弹出广告的WiFi要做兼容处理
1、产品发布前或发布后更新涉及上述 “影响兼容性问题的因素”中一个或多个点时,且面临用户数较多、使用人群较为复杂
2、产品上市后出现较多兼容性问题
以下罗列的一些通用场景,并针对场景做了具体的描述,有些场景是非必测项,具体可视app功能来确定
5.1 安装卸载
该场景会涉及系统权限,可能会出现无法安装或安装后数据丢失,甚至无法启动