1、APP 兼容性测试认识

随着 APP 应用范围越来越广,用户群体越来越大,终端设备的型号也越来越多,移动终端碎片化加剧,使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。

APP 兼容性测试通常会考虑:操作系统、厂家 ROM、屏幕分辨率、网络等方面。但如果要在有限的测试人力物力和时间资源下覆盖所有兼容性测试维度是困难的,因此,通常采用 Top X 原则,即 Top 排名靠前的。如何获取 Top X 数据,可采用埋点方式尽量获取自己软件 APP 的数据,这样更精准。若无产品自身的数据,则可参考业界汇总的 Top 排名数据。

2、兼容性测试维度分析

2.1 操作系统版本

操作系统版本主要考虑 Android 和 iOS 系统,其中 Android 系统具体的版本分布及市场占有率如下表示(文中数据来源于腾讯大数据研究中心):

其中 iOS 系统具体的版本分布及市场占有率如下表示:

从以上数据得出,android4.x、5.x、6.x 版本市场占比不足 7%,可以同产品开发商议,如果目前软件开发不支持旧版本的兼容,测试可选择放弃旧版本的兼容测试。针对 Android,主要考虑 7.x,8.x,9.x,10.x,针对 iOS,主要考虑 12.x、13.x、14.x。针对每个操作系统大版本下的小版本,由于工作量太大,除非有明确对于 app 的影响,一般不需考虑逐个覆盖小版本。

2.2 不同厂商

Android 和 iOS 都有不同的手机型号,苹果目前已经更新到 iPhone 12 Pro 。对于 Android 的型号,因为 Android 系统源码是开源的,不同 Android 手机厂商都会基于 Android 原生系统进行定制修改,然后对外发布。发布的系统层出不穷,会加剧 Android 碎片化问题,导致安卓设备之间的差异越来越大,一个安卓 APP 应用在不同的设备上可能呈现出完全不同的行为,例如调用手机相机会在某些手机上出现不兼容。对于不同 Android 厂商 ROM 的兼容,很多测试团队不具备大量的机型设备,通常的做法是,兼容一些主流厂家的型号。

Android 平台的品牌及型号排名(数据来源于百度统计流量研究院):

iOS 平台的型号排名(数据来源于百度统计流量研究院):

2.3 屏幕分辨率

在不同的分辨率、尺寸的设备上,如果代码没有做适配处理,就会出现错位、拉伸、样式异常等问题。截至目前,andoid 的主流分辨率为:1920*1080,1280*720,2340*1080 等,主流尺寸是 5.x、6.x 英寸

iOS 的主流分辨率为:2208*1242, 1334*750, 2436*1125 等,主流尺寸为 5.5~6.5 英寸

2.4 网络类型

保证不同网络环境的覆盖,目前,主要考虑不同运营商的 Wifi、2G、3G、4G 下的功能情况。

3、如何进行兼容性测试

兼容性测试本质是功能测试,针对以上兼容性测试维度,不可能逐个测试用例在每个机型每个系统版本每种分辨率等情况下进行全部覆盖,其测试工作量过于庞大。

因此,除了用户亿级的 APP 例如微信、抖音,会搭建测试平台进行全面机型的覆盖外,其他的,对于兼容性测试维度覆盖,一般优先考虑主流机型设备,并同步考虑该机型是否有覆盖到不同厂家、系统版本、分辨率、尺寸等;若无覆盖完全,则依据品牌排名靠前的设备进行补充,并与操作系统、分辨率、尺寸进行交叉组合。例如下表_部分(仅供参考)

确认好需要覆盖的机型设备后,接下来如果在每款设备上逐一执行全量的功能测试用例,较耗时耗力,且测试效率不高。考虑到既要保证质量也要兼顾测试效率,通常做法是:

  • 选择在少数主流机型上执行全量的用例,在其他兼容性范围内的设备上覆盖主要功能的用例。
  • 根据待测软件特点、场景实现等可进行测试用例裁剪。类似从本地缓存获取数据的页面功能,不涉及网络请求的,可裁剪网络兼容测试用例。

另外,对于网络类型的兼容测试,可任选一款真机在 Wifi、2G、3G、4G 等环境下,测试 APP 主要功能对于不同网络带宽、延迟和稳定性的处理。特别是与网络强关联的功能,例如视频直播、文件传输等,需重点验证。

4、总结

当通过人工或自动手段完成 APP 兼容性测试,并产品上线后,会收到用户反馈的兼容性问题。依据反馈问题,需补充该兼容性测试场景的用例,用于后续版本测试。另外,对于主流手机更新及厂商新发布版本,我们也需要时刻保持关注,并考虑是否需要进行 APP 兼容适配测试。总而言之,一款 APP 的质量保障,兼容性测试问题必须重视,否则会导致用户流失,影响到产品的长期发展。

APP专项测试之兼容性测试的更多相关文章

  1. App专项测试之弱网测试

    转载 https://blog.csdn.net/TestingGDR/article/details/83059415

  2. 【腾讯优测干货分享】安卓专项测试之GPU测试探索

    本文来自于Dev Club 开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ffdc0569a1191bce8a63 作者:章未哲——腾讯SNG质 ...

  3. 手机APP测试如何进行兼容性测试?

    Android App兼容性测试是一个比较重要的App评价内容,实际上兼容性测试不仅仅和测试人员相关,在开发阶段就应当着重考虑,因为兼容性问题是除了实现App本身要求的功能后,必须要关注.而且至关重要 ...

  4. 安卓手机APP兼容性测试如何有效进行?

    Android App兼容性测试是一个比较重要的App评价内容,实际上兼容性测试不仅仅和测试人员相关,在开发阶段就应当着重考虑,因为兼容性问题是除了实现App本身要求的功能后,必须要关注.而且至关重要 ...

  5. 移动App专项测试

    移动App测试实战—专项测试 转自:http://www.51testing.com/html/58/n-3713758.html 我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了 ...

  6. app兼容性测试的几种方案

    1.统计自己的应用被使用的数据 通过友盟或Flurry等在应用嵌入,得到应用在哪些机型上被安装了,排名前十的就是测试的重点机型 2.可参考兼容性测试平台的测试结果 比如Testin或百度的MTC平台, ...

  7. app专项测试自动化测试方法思路与实现

    秉着个人意愿打算把python+rf接口自动进行彻底结束再做些其它方面的输出~但事与愿违,但领导目前注重先把专项测试方面完成,借此,先暂停python+rf(主要是与Jenkins集成+导入DB+微信 ...

  8. [原创]浅谈移动互联网App兼容性测试

    [原创]浅谈移动互联网App兼容性测试 今天要谈的话题,估计各位测试都有感受,移动互联网App兼容性测试,我们到底测试覆盖如何去挑选机型?具体移动App兼容性测试如何开展?是不是应引进像testin这 ...

  9. APP兼容性测试

    一.APP兼容性范围以及问题 1.硬件 各个硬件结构 2.软硬件之间 硬件dll库(C++) 软硬件之间的通信,各个厂商提供的ROM 3.软件 浏览器.操作系统.数据库.手机.功能兼容性(功能修改,二 ...

  10. APP兼容性测试(三)测试方案设计

    1.  背景 App的兼容性问题可能会导致流失潜在的客户,为了尽量减少因兼容性问题导致的同类问题,进一步提高产品的质量,提升用户体验,所以进行兼容性测试,尽可能多的保证更多的用户都可以正常使用app. ...

随机推荐

  1. [rCore学习笔记 08]内核第一条指令

    了解QEMU 启动指令 qemu-system-riscv64 \ -machine virt \ -nographic \ -bios ../bootloader/rustsbi-qemu.bin ...

  2. 手把手帮助你搭建属于自己的个人博客,使用cervel部署,无需后端

    1.项目简介 项目使用了vue+elementUI技术栈,通过读取本地md文件实现博客文章的展示,使用vercel实现自动化部署,纯前端项目,无需后端 第一步:下载源码 仓库地址: github:ht ...

  3. c#写一个WINFORM的多线程操作

    以下是一个简单的示例,展示了如何在C# WinForms中创建一个按钮的异步事件,并使用Label控件来显示事件执行的时长. 首先,确保你已经在你的项目中添加了一个Button和一个Label控件.假 ...

  4. 怎么使用github action定时运行js脚本?

    github action是使用yaml文件来做到CI/CD的,文件位置存放在 .github/workflows,yaml文件内容如下: name: ncatest.cx.js on: push: ...

  5. android实现多线程基础

    //创建线程类 class Mythread extends Thread{ @Override public void run(){ //定义行为 } } //实例化线程类 MyThread mt= ...

  6. python selenium元素定位

    1.ID元素定位基于元素属性中的id的值来进行定位,id是一个标签的唯一属性值可以通过id属性来唯一定位一个元素,是首选的元素定位方式,动态ID不做考虑.driver .find_element_by ...

  7. Linux下查看压缩文件内容的 10 种方法【转】

    转载地址:https://zhuanlan.zhihu.com/p/91593509 1.使用 Vim 编辑器 Vim 不仅仅是编辑器,它还包含其他许多强大的功能.下面的命令将直接显示压缩归档文件的内 ...

  8. 平衡树之Splay树详解

    认识 Splay树,BST(二叉搜索树)的一种,整体效率很高,平摊操作次数为\(O(log_2n)\),也就是说,在一棵有n个节点的BST上做M次Splay操作,时间复杂度为\(O(Mlog_2n)\ ...

  9. 14、Spring之基于注解的声明式事务

    14.1.概述 14.1.1.编程式事务 事务功能的相关操作全部通过自己编写代码来实现: Connection conn = ...; try { // 开启事务:关闭事务的自动提交 conn.set ...

  10. 【Vue】Re10 Webpack 第二部分(Loader)

    一.Loader解决的问题: Loader解决的问题是让webpack能够打包其他类型的文件 例如CSS.IMG等非JavaScript脚本文件 在后面我们使用Vue组件文件时也需要VueLoader ...