兼容性肯定是件头疼的事情,很多人都说直接扔云测,其实是很不靠谱,也是没有数据依靠的。如果面试时候你说精通移动应用测试,那这个问题或许不可避免。说的我有点紧张。
按统计的 top 机型覆盖到下面的版本和分辨率,最低版本以实际支持的为准。
初期功能测试阶段用主流机型测试,兼容性测试阶段再分别补齐未覆盖的系统版本和分辨率
也会根据工期长度,公司产品所处的阶段,考虑增加或缩小范围
Android 兼容性
4.2
4.4
5.0
5.1
6.0.1
7.1
480p
720p
1080p
1440p
全面屏
iPhone 兼容性:
8.x
9.x
10.x
11.x
iphone SE
iphone6 系列
iphone6p 系列
兼容性测试方案 我先回答一个维度的吧
兼容性对于硬件:.so 不同 CPU 指令集支持不同系统版本,安卓是向下兼容,运行不匹配则会闪退。
可以同时在打包时选择多个 CPU 指令集,这里也会稍微影响打包时的包体大小。
1.通过日常监控收集前 10 或 20 使用率的手机,然后去买。
2.对收集到的手机进行测试
1,功能兼容性问题,通过技术实现分析,找出可能与硬件有依赖的功能,比如录音,播放,或者与系统版本依赖的功能,比如有些技术低版本安卓系统不支持。
2,UI 适配问题,根据需求,比如固定缩放,或者大小不变自动适应,UI 设计实现特征(比如 hybrid or native)
3,用户群的机型分布
4,针对 1,2,将这些功能覆盖到主流厂商,主流系统版本,不同的典型的屏幕尺寸
按统计的 top 机型覆盖到下面的版本和分辨率,最低版本以实际支持的为准。
初期功能测试阶段用主流机型测试,兼容性测试阶段再分别补齐未覆盖的系统版本和分辨率
也会根据工期长度,公司产品所处的阶段,考虑增加或缩小范围
Android 兼容性
4.2
4.4
5.0
5.1
6.0.1
7.1
480p
720p
1080p
1440p
全面屏
iPhone 兼容性:
8.x
9.x
10.x
11.x
iphone SE
iphone6 系列
iphone6p 系列
兼容性测试,主要目的是适配不同的 OS 或同的硬件,OS 层面覆盖 90% 以上的机器,OS 就那些都可以列出来的,然后就是硬件,主要考虑 CPU 类型,分辨率,GPU 等,做到主流覆盖及最新潮流产品适配。具体的可以列一个必测设备列表,选测设备列表,之后就维护这个列表,时间紧做必测,不紧的情况下可以涵盖选测设备。
赞同@michael_wang, 同时想补充点自己项目上的经验。对于涉及摄影与录像类的视频制作 app,大部分产品涉及到 HD 导出,转场,滤镜,特效,主题,字幕,贴纸等编辑功能;而这都需要引擎的支持,所以还要对不同品牌,不同型号的 CPU,GPU 进行兼容性测试,什么 MediaTek,高通啊,2/4/6/8 核啊之类的,MaLi/NVIDIA/Adreno 等等,当然同样也是不同 os,分辨率也要兼顾。另外,对于 top 机型,不光要看市面上的 top 机型,还要有针对的统计自己产品用户的 top 机型;如果产品有涉及到不同国家和地区,还需有针对性的对这些国家和地区的 top 机型做兼容性测试。
MTL…
简单 举个我们实际遇到的一个兼容性问题,我们 app 在小米 2 平板 (intel cpu x32 架构),打死登录不上,最后为了这个问题二手买了这款平板,调试才发现我们 app 在这款平板上获取不到 imei,没做异常处理,从而导致登录请求发不出去;所以有时候这种兼容性各种情况都有
—— 来自 TesterHome 官方 安卓客户端
比较全
不依赖云测试的情况下,通过手工或者自动化进行兼容性测试策略:
1、统计产品用户机型的覆盖情况,手机有限的情况下,选择 top10 的机型进行测试;
2、兼容性测试通过功能自动化进行测试,减少时间和人力;
3、利用公司人员资源,统计公司人员手机机型及分辨率,在交付之前进行内部自测进一步检查系统兼容性;