移动端兼容性测试怎么做?

JavaScript021

移动端兼容性测试怎么做?,第1张

什么是兼容性测试

兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。–【百度百科】

为什么要做兼容性测试

目前碎片化十分严重,尤其是安卓设备。安卓设备碎片化、品牌碎片化,大家熟知的安卓品牌都有好多家,每家可能还有定制的系统,都给我们适配带来了不小的挑战。除了上面的碎片化,当然还有系统版本碎片化,屏幕碎片化等,为了给用户更好的用户体验,做APP的兼容性测试,还是非常有必要的。

兼容性影响因素

用户

硬件

软件

技术

网络

影响因素大致可以分为以上几类,我们对所测APP做兼容性测试时,可以从以上方面去考虑。

1、用户

我们需要依据自身APP用户群体的特征以及使用习惯,去做相应的兼容。比如用户群体如果大多是老人的话,可以考虑大字体的适配。比如针对旅游人士,可以考虑过程中网络的状况。如果拥有大量海外用户,可以考虑多币种、多语言、多度量、时区问题。

2、硬件

设备类型(手机、平板、穿戴式设备)

生产商(安卓手机存在每个厂商的定制化差异)

显示屏(屏幕大小、分辨率)

特殊硬件功能(NFC、蓝牙、相机、定位功能等)

3、软件

操作系统

浏览器内核

伴生应用

4、技术

RN、H5、native

开发语言(oc、swift)

5、网络

2G、3G、4G、wifi

兼容各种网络下APP的表现

iOS APP兼容性

屏幕分辨率

屏幕尺寸(含异形)

操作系统版本

Xcode版本

开发语言

第三方库或SDK

安装、升级

Android APP兼容性

屏幕分辨率

屏幕尺寸(含异形)

Android版本

系统版本

处理器架构(arm、x86)

开发语言(Java、koltin、混合)

第三方库或SDK

安装、升级

H5兼容性

CSS样式兼容(一些属性的浏览器标示前缀没有添加,导致默认浏览器不认识这个属性,所以样式错乱。有些布局不灵活,样式边界处理不好,导致宽窄屏显示异常)

JS兼容(主要是浏览器或者系统版本,新的js api不支持,但是没有做降级处理)

第三方库或SDK

框架(react、vue……)

缓存(sessionstorage、localstorage)

哪些场景需要做兼容性验证

UI显示

多次快速点击

拉起虚拟键盘挡住输入区

虚拟物理按键收起与显示

多个输入框来回切换

控件焦点热区文体

前后台、多个应用切换

指纹识别和faceid等

框架升级

网络

新老版本兼容

第三方依赖库或者SDK升级

前后端版本兼容

如何做兼容性测试

主要分为内部和外部。内部由测试人员自己覆盖主要机型。机型选取的原则是,根据自己APP用户的机型,选取至少top10进行人工兼容性测试。内部还可以进行的就是UI自动化测试。外部可以借助云测平台,比如testin、testbird等。

软件测试分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试几个方向,自动化测试又分为功能自动化测试、性能自动化测试、接口自动化测试几个方向。每个方向用到的测试工具都不尽相同:

一、Selenium

Selenium是常用的功能测试工具之一,它是一套完整的 Web应用程序测试系统,包含了测试的录制、编写及运行和测试的并行处理。这个工具的主要功能包括:测试与浏览器的兼容性,测试系统功能。

二、Loadrunner

Loadrunner是一种预测系统行为和性能的负载测试工具,它通过模拟大量用户实施并发负载及实时性能检测的方式来确认、查找问题,对整个企业架构进行测试。

三、禅道

禅道是一款国产开源项目管理软件、支持产品管理、项目管理、质量管理、文档管理等。

四、Jmeter

JMeter是Apache组织开发的基于Java的压力测试工具。用于对服务器、网络或对象模拟巨大的负载来做压力测试,在不同压力类别下测试他们的强度和分析整体性能。

五、Postman

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。

六、Fiddler

能够支持所有浏览器、系统和平台的调试代理。位于客户端和服务器的中间,它能记录所有客户端和服务器的请求响应。