根据软件测试六大特性:我们了解兼容性测试属于“可移植”的一类特性,要想提升软件的用户体验,首先需要满足基于不同浏览器及不同的终端平台适配性,这样才能解决大部分用户体验问题。
Web浏览器类型分为:IE,FF,Chrome,360浏览器、遨游、搜狗、QQ、欧朋浏览器等等
Web兼容性测试分类:硬件兼容性测试、软件兼容性测试、数据兼容性测试。
Web网页的兼容性平台分为:
1PC端浏览器的兼容性。
2APP端H5页面的兼容性测试。
一般产生兼容性问题的原因是什么?
首先:基于PC端也好,基于APP端浏览器或者H5页面也好,都是基于不同的开发语言开发出来的脚本,做成一系列的动态或者静态页面,从而通过与服务器进行资源交互,获取服务器资源,通过前端JS、CSS等脚本的渲染引擎机制来显示信息。
为什么有时候我们使用不同浏览器的打开页面,会存在兼容性的问题?
因为不同的浏览器使用的“内核”不同,而出现兼容性问题。咱们最常见的浏览器就有三种FF/Chrom/IE,这三款浏览器都是使用什么内核呢
1IE浏览器基于”Trident内核”
2FF浏览器基于”Gecko内核”
3Chrome浏览器基于“Blink内核”
4国内双内核(360安全浏览器60+,搜狗浏览器50+,QQ浏览器70+,猎豹浏览器50+。
那怎么去测试兼容性问题?
1基于IE浏览器兼容性测试可以使用IE自动切换浏览器版本的功能进行测试
2基于Chrome与FF由于版本多样化,我们可以使用边界值的方法来覆盖测试
3为了提升工作效率,我们可以借助自动化测试工具来完成一部分测试,或者通过安装虚拟机来完成兼容性测试。
4结合市场用户平台占用率分析,按用户排行榜来分析测试重点。
5如果由于公司资源不足带来的问题,我们可以借助第三方平台进行测试,例如:云测、众测等平台。
6关于专项浏览器工具不建议使用,为什么?因为工具是由第三方开发,工具本身存在BUG,所以尽量使用我讲解的以上方法来进行测试。
总结:因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况,从而出现兼容性问题,当然除了内核不一样,我们可以发现不同的浏览器他们都有各自的特点,FF浏览器稳定性相对不及Chrome,IE浏览打开速度加载较慢,最受人欢迎的是“Chrome”浏览器,当然兼容性测试不能跟随我们的喜好而去测试,更应该站在用户的角度来分析思考问题,所以通过今天的学习,希望大家对兼容性测试出现的问题有一个全面的理解,同时能够应用到平时的工作中去。
兼容性测试bug案例分享:
1 概述
兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
2 兼容性测试的目的
由于Android设备在品牌、系统、屏幕、硬件等碎片化较为严重,导致一些app在特定的机型上未能按预计的设计展示和运行,导致用户体验较差,不利于app的推广,影响业务发展。为此,app需在上线前进行兼容性专项测试,以便尽可能适配市面上已上市或即将上市的手机和系统。
3 影响兼容性问题的因素
31 硬件
1、处理器
a) CPU架构,常规手机均是arm64 ,若app要适配x86架构则需要针对性测试
b) 不同CPU厂商,尤其是小众CPU,需要特别考虑,例如华为海思、小米澎湃
2、 显卡
a) 显卡影响图形渲染和部分场景的计算,app如用到OpenGL、OpenCV、深度学习、AR、VR、AI,则需要重点考虑
3、 屏幕
a) 分辨率影响UI展示,需兼容HVGA、VGA、WVGA、FWVGA、720p、1080p屏幕分辨率,并考虑不同PPI的情况
b) 关注异形屏幕:刘海屏、水滴屏、打孔屏、全面屏
4、 传感器
a) 视app实际调用情况进行选择:如指纹模块,则需要考虑不同供应商的情况
5、 物理按键
a) 检测物理按键是否生效:音量键、电源键、拍照键
b) 与系统或其他app是否存在冲突
32 系统
1、 Rom
a) 不同版本的系统存在一些API、功能、权限等差异,需要结合app的功能进行适配;
b) 第三方定制rom具有一些特殊功能或权限,需要特别考虑,如MIUI
2、 编译版本
a) app编译时以最低版本设置值为标准,操作系统会拒绝将应用安装在系统版本低于标准的设备上
b) Android版本更新,新的版本会引入一些新的特性和方法,新的方法带来很多便利,但是对系统版本有要求,无法再低版本手机上运行,如果未做兼容性处理,强行运行,会导致Crash
附:Android 已发布版本和API对应表及占用率(官方数据)
3、 浏览器内核
a) 不同浏览器内核影响web页面展示及功能
33 网络
1、 2G/3G/4G/5G
a) 不同网络下兼容各种类型的网络请求,关注数据请求过程及结果
2、 WiFi
a) 部分WiFi非直连网络,需要有一步认证的过程,需要特别考虑
b) 对于可能弹出广告的WiFi要做兼容处理
4 介入时机
1、产品发布前或发布后更新涉及上述 “影响兼容性问题的因素”中一个或多个点时,且面临用户数较多、使用人群较为复杂
2、产品上市后出现较多兼容性问题
5 场景选择
以下罗列的一些通用场景,并针对场景做了具体的描述,有些场景是非必测项,具体可视app功能来确定
51 安装卸载
该场景会涉及系统权限,可能会出现无法安装或安装后数据丢失,甚至无法启动
52 UI展示
受不同屏幕分辨率、PPI影响,可能会出现展示错乱、丢失、穿透等
53 高频交互
高频交互场景受一系列因素影响,考验整机兼容性,需特别考虑
54 H5页面(JS/CSS)
不同浏览器内核、浏览器标识会影响具体样式的展示及数据请求
55 文字输入
受输入法、虚拟键盘影响,可能会出现无法上屏,或上屏错乱
56 系统API交互
受不同厂家、版本的rom影响,可能会导致功能无法使用
57 权限相关
受不同厂家、版本的rom影响,可能会导致一些权限无法正常获取
58 音视频播放/录制
音视频的录制会调用麦克风(多麦)及摄像头(双摄、三摄等),可能存在不可使用或音视频出现错乱
59 传感器调用
可能存在传感器无法调用、权限异常或数据异常
510 升级覆盖
受存储权限、安全性影响,可能会出现数据丢失、无法启动等错误
511 三方SDK
三方SDK的架构、技术选型会影响上层正常调用
512 外设交互
特殊厂商的键盘、鼠标等外设可能存在冲突或无法调用
6 设备选择
1、通过用户调研、竞品分析、三方平台数据(近阶段各设备占用率分布及设备出货量、预出货量等)等确定设备选择范围;
附:
友盟设备统计:https://compassumengcom/trend
百度设备统计:https://mtjbaiducom/data/mobile/device/
艾瑞移动设备分析:http://indexiresearchcomcn/device
腾讯移动分析:https://mtaqqcom/mta/data/device
2、根据app类型,确定重点考虑的指标(通常考虑rom、分辨率、厂商),剔除重复,保留用户量较多的设备
7 测试方法
参照上文中列出的和兼容性相关的点以及产品特性,整体相关场景,并选择合适的设备进行手工或自动化方式进行测试验证(附:设备选择方式参考)
自行协调云测平台优点拥有设备的完全控制权,测试范围更广设备丰富,执行较为简单,有完整的测试报告缺点需要采购,成本较大,有些特殊系统很难协调到资源需要支出一定费用,设备不完全可控,灵活性较差
附:
常见云测平台对比报告
欢迎分享,转载请注明来源:品搜搜测评网