APP 兼容性测试是什么?10年阿里测试老鸟告诉你......

news2024/9/25 19:14:36

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 的质量保障,兼容性测试问题必须重视,否则会导致用户流失,影响到产品的长期发展。
 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/367289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

firefly开发板RK3588非默认外设使能(串口uart、IIC、adc等)设备树修改详细步骤

sdk获取和内核编译,参考上一篇博文:rk3588内核裁剪 一、相关文件 文件1: rk3588_repo_sdk_v1.0.2a/kernel/arch/arm64/boot/dts/rockchip/rk3588-firefly-itx-3588j.dtsi此文件是针对firefly的板级设备树文件。 文件2: rk3588…

C#底层库--MySQL数据库脚本构建类(自动构建insert、update)

系列文章 C#底层库–记录日志帮助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 C#底层库–MySQL数据库脚本构建器(推荐阅读) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179…

华为云计算之远程复制

实验环境说明身份管理IP业务IP主设备192.168.43.50H2:192.168.43.55从设备192.168.43.100P2:192.168.43.105存储的管理端口为8088登录到存储设备查看是否导入License访问https://192.168.43.50:8088,登录到主设备在设置中查看是否有添加远程设…

【AI绘图学习笔记】生成函数

生成模型学习笔记 (文章中大部分内容从网上学习笔记中摘录,推荐阅读原文,吴恩达深度学习课程笔记暂时停更一段时间,学习AI绘图原理是为了搞定毕业设计,等忙完再回头把基础补完,推荐读物《深度学习》花书&a…

我劝你千万不要去做CSGO游戏搬砖项目

尽管童话姐姐本人做CSGO游戏搬砖都快三年了,带的搬砖学员也好几百人了。但今天还是要跟未入行或者还在考虑是否入行的朋友们敲个警钟。 随着做这个的人越来越多,网上关于这个项目的文章,视频,硬广、软广也越来越多。就拿我朋友圈发…

高精度工业检测利器,维视智造BT-12C080双远心镜头

T-12C080 双远心镜头BT-12 系列标准 C 接口双远心镜头,与 1/2″(对角线 8mm)及以下成像靶面工业相机完美搭配,其结构稳定、外观轻巧,大景深,适用于较大视场下的高精度工业检测场景。产品亮点更轻巧与1/2″&…

【Database-01】达梦数据库Docker版下载安装

1、前往达梦数据库官网下载 https://www.dameng.com/1.1、选择数据库 - 数据库产品系 1.2、选择 达梦数据库管理系统(DM8) 1.3、点击试用下载 1.4、注册达梦账户 1.5、选择DM8 Docker镜像 https://www.dameng.com/list_103.html1.6、或者使用以下网址也…

雷达、定位、跟踪等信号处理邻域SCI期刊整理及推荐

雷达邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 定位/跟踪邻域SCI期刊整理及推荐:题名、刊物信息、撰写特点、审稿周期及投稿难度总结 估计/滤波/融合等信号处理邻域SCI期刊整理及推荐:题名、刊物信息、撰写…

Python数据分析与应用 | 数据分析工具Pandas

Pandas的数据结构分析 Pandas中有两个主要的数据结构:Series和DataFrame。 Series,一维的数据结构DataFrame,二维的,表格型的数据结构Series Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。左边是索引(index)…

树莓派——智能家居第一步

辛辛苦苦配了成功让树莓派开始工作了,开始搞智能家居!大体思路:基于工厂模式,分模块来实现上图分为三部分:主控、外设、控制主控我采用的是树莓派的4b4G版本,外设包括四个区域的灯(我的和上图有…

【Python】特征衍生

特征衍生1. 单变量特征衍生1.1 数据重编码1.2 高阶多项式2. 双变量特征衍生2.1 四则运算2.2 多项式衍生2.2.1 导包 & 数据2.2.2 二阶衍生2.2.3 三阶衍生3. 交叉组合3.1 导包 & 数据3.2 生成衍生列和名称3.3 独热编码1. 单变量特征衍生 1.1 数据重编码 连续变量 标准化…

对程序员来说最重要的小事——整洁代码

文章目录为什么要写整洁代码命名名副其实做有意义的区分类名、方法名函数短小只做一件事注释注释类型好注释坏注释格式目的垂直格式横向格式团队规则总结为什么要写整洁代码 现在阅读这篇博客的你不论是刚入行的新人还是开发了很多年的老鸟一定碰到过"祖传代码"&…

【原创】java+swing+mysql户籍管理系统设计与实现

户籍管理系统感觉跟学生管理系统有些类似,一个是对学生进行信息的管理,一个是对社会人员进行信息管理,难度系数基本一样,今天我们就来介绍一下使用javaswing和mysql进行户籍管理系统的开发。 功能分析: 户籍管理&…

【java 8】方法引用与构造器引用

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

INT3断点和硬件断点

Ollydbg动态调试的时候需要打一些断点,断点分为INT3断点和硬件断点,本文是区分两个断点的文章。 目录 INT3断点 好处 坏处 硬件断点 原理 优点 缺点 INT3断点 OD中使用F2快捷键设置的断点就是INT3断点 打INT3断点的时候,断点处就会被…

Unity学习笔记--在Editor下实现一个有下拉菜单的文件路径记忆功能(保姆级教程)

目录前言需求分析知识前提一、下拉菜单的实现二、选取对应文件夹路径三、写入到.txt文件完整代码前言 最近需要在Unity编辑器下实现一个面板,有一个下拉菜单,其他人可以往这个下拉菜单里面添加一些文件夹路径,保证下次进来的时候能够直接通过…

Linux SPI-NAND 驱动开发指南

文章目录Linux SPI-NAND 驱动开发指南1 概述1.1 编写目的1.2 适用范围1.3 相关人员3 流程设计3.1 体系结构3.2 源码结构3.3 关键数据定义3.3.1 flash 设备信息数据结构3.3.2 flash chip 数据结构3.3.3 aw_spinand_chip_request3.3.4 ubi_ec_hdr3.3.5 ubi_vid_hdr3.4 关键接口说…

webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题 文章目录webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题记录个iusse. 插入音频数据后,GetAudioInternal 进行操作决策: Normal:正常播放。 Acceleration:变声不变调的减速播放算法。 Pr…

【学习笔记】互联网金融:芝麻信用分的建模过程

学习资料: 数据分析学习随记 | 互联网金融行业2C授信模型(芝麻信用) 1. 背景 互联网金融的本质是风控。 1.1 数据分析师的角色 数据分析师在金融行业基本上有两种角色: 1.1.1 数据建模师 偏算法,但要很懂业务。要求对算法的理解较深&am…

电子标签播种墙方案

一、PTL优势: 二、系统构架: v1.2基站软件管理系统仓库标签v1.4仓库标签三、基站特点: 接收PC下达的操作指令,解析后再通过RF发送给电子标签 无线通讯距离30m无线通信速率200/50kbps网络通信速率10/100 Mbps自定义双向数据通讯协…