1.什么是兼容性测试?

兼容性测试是指测试软件在特定的硬件产台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能很好地运行的测试。

2.对于移动开发,兼容性测试为什么重要?

对于iOS来说,情况也许还没有那么糟,但是对于市场占有率已经达到智能手机半壁江山的Android来说,碎片化的问题日趋严重,而且是每一个App开发者必须直面的问题。

Android碎片化体现在哪些地方?

——品牌、机型、分辨率、系统版本、不同架构的cpu、不同的操作系统……

品牌机型维度(友盟):列出了现在市面上安卓设备厂商、品牌的分布情况,块的面积代表占有率大小。

 

Android 上线兼容性 android兼容性测试平台_Android 上线兼容性

操作系统版本维度(友盟):

Android 上线兼容性 android兼容性测试平台_android_02

 

屏幕分辨率维度(友盟):

 

Android 上线兼容性 android兼容性测试平台_Android 上线兼容性_03

 

3.兼容性指标及重要性

那么,根据上面的情况,在移动开发中兼容性测试常常需要涉及到到品牌机型、ROM、芯片、屏幕分辨率、软件、版本、网络、地域等等众多维度。更具体的说,这些维度需要考虑到以下这些指标:

品牌机型兼容

根据市场占有率、发布时间等指标对主流、最新机型进行重点兼容

ROM兼容

需兼容原生的ROM(2.1、2.2、2.3、4.0、4.1、4.2);第三方ROM(小米、百度易、点心、魅族、阿里云……)

屏幕兼容

需兼容HVGA、VGA、WVGA、FWVGA、720p、1080p屏幕分辨率,并考虑不同PPI的情况

软件兼容

安全类软件(百度手机管家、360优化大师、360安全卫士、QQ手机管家、安卓优化大师、网秦、LBE),输入法软件(系统自带、Sogou、百度)

版本兼容

服务器端需要兼容产品早期版本所需的API接口

网络兼容

WiFi、3大运营商的2G,3G,4G网络,需区分WAP和NET接入

4. 如何进行兼容性测试?

通过人工或者自动化的方式,在需要覆盖到的终端上进行功能性测试,并观测性能、稳定性等其他非功能属性。在这其中,最关键的是终端的覆盖率。

传统的兼容性测试中,需要开发者自备设备,并通过自动化调度或者人工的方式进行测试。这其中涉及的购买真机、部署运维的成本相对较高。而云测试则通过在云端提供兼容性测试来解决这类问题,开发者一般只需上传app,选择机型,指定测试步骤即可。