1.什么是兼容性测试?
兼容性测试是指测试软件在特定的硬件产台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能很好地运行的测试。
2.对于移动开发,兼容性测试为什么重要?
对于iOS来说,情况也许还没有那么糟,但是对于市场占有率已经达到智能手机半壁江山的Android来说,碎片化的问题日趋严重,而且是每一个App开发者必须直面的问题。
Android碎片化体现在哪些地方?
——品牌、机型、分辨率、系统版本、不同架构的cpu、不同的操作系统……
品牌机型维度(友盟):列出了现在市面上安卓设备厂商、品牌的分布情况,块的面积代表占有率大小。
操作系统版本维度(友盟):
屏幕分辨率维度(友盟):
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,选择机型,指定测试步骤即可。