移动端测试之兼容性测试

兼容性测试的概念

兼容性测试是一种软件测试,用于确保构建的系统/应用程序/网站与其他各种对象(如其他网络浏览器、硬件平台、用户、操作系统等)的兼容性。这种类型的测试有助于了解产品在特定环境中的表现。

为了方便理解,可以把硬件,软件,平台等对象抽象成测试设备这个概念。结合项目上兼容性测试的实践经验可以提取出以下特征:

  1. 在交付项目中,被测对象往往对测试设备有较大的依赖。以测试一个WEB产品为例子,一般需要考虑:浏览器,浏览器版本,操作系统,屏幕尺寸,分辨率大小等。有时候也需要考虑硬件设备参数和型号。任何差别都可能出现测试结果不符合预期的情况。

  2. 兼容性是其他测试类型的前提。在敏捷测试象限里,不同的测试类型根据四个维度进行了划分,兼容性测试虽然没有出现在其中,但是在进行不同类型的测试之前,测试主体和测试设备需要保持一种“稳定”状态才可以开展。我把这种“稳定”的状态视作兼容性是其他测试的必要不充分条件。

  3. 越多的测试设备意味着越多的资源消耗。在测试人员测试熟练程度固定的情况下,每增加一个测试设备都会增加其工作量,更不用说开发成本和采购、搭建测试环境的成本。

  4. 没有任何一个产品会追求兼容所有可用设备,基本上所有项目都会根据产品定位、业务类型、用户群体等维度对测试设备进行限制,从而达成交付目标。这个过程常常在售前或者启动阶段完成。

虽然在web端的测试也需要考虑到兼容性,对于不同浏览器内核的兼容性和浏览器尺寸的兼容性。但是在移动端的兼容性测试相对来说更加复杂,增加复杂度的原因在于移动端设备的品牌和屏幕尺寸更加多变,总的来说手机品牌分为Android和iOS两大阵营,但是又有很多品牌是在原生Android上进行了自己的定制,这就会导致很多的变化。

测试设备类型的获取

获取设备总的来说有以下几种方式:

如果所在项目是存在线上发布的版本,那么可以根据firebase埋点的数据以及经常发生crash的设备型号进行设备的收集,然后针对性的进行测试。

如果项目上没有数据收集,那么首先根据项目的技术栈,根据SDK这些信息排除一部分本来就无法支持的老旧机型设备,然后再根据市场上的数据进行分析,这里的市场指的是手机市场,找到市面上占有率比较高的产品及其型号进行针对性的测试。Statcounter Global Stats - Browser, OS, Search Engine including Mobile Usage Share

 在测试策略层面,不同的测试类型对于测试设备选型也有影响。对于WEB项目,更加侧重于界面布局,组件交互逻辑、屏幕自适应、元素字体、浏览器渲染时间(性能)等UI测试,所以需要考虑设备屏幕大小、分辨率、浏览器类型、浏览器版本、操作系统等因素;对于APP项目,更加侧重于下载、安装、卸载、功能、交互等功能测试,所以更多需要考虑操作系统、硬件参数等因素。

测试平台的搭建

有了测试设备的型号后,就要着手于兼容性测试的执行了,但是手动一个手机一个手机的测试方式显然效率很低下。而且大多数时候是没有那么多真机提供给我们进行测试的,比如我之前的一个项目是非洲的项目,在非洲不流行apple、三星这种手机,最大的手机平板厂商是传音,但是传音在国内是买不到的。于是我们只能拖人千里迢迢邮寄设备。所以不能太依靠真机,simulator也是不错的选择,只针对软件层的测试的话。

使用simulator可以安装不同版本的系统,Genymotion可以启动对应的设备,然后使用STF测试平台统一对设备进行管理,这样在有自动化测试的条件下,就能实现对多台设备的共同测试,大大提高效率,关于STF平台的搭建以及测试用例的分发也会在后续的文章中详细介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值