兼容性测试为什么非做不可?
所谓兼容,是指硬件之间、软件之间、软硬件之间相互配合的程度。而兼容性测试,是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络环境中是否能正常运行的测试。当下无论是 Android 系统还是 iOS 系统,一直都在不断更新升级,这无疑给移动终端的兼容性测试带来极大的挑战。什么是碎片化?举个例子,1000 个 Android 手机制造商拿到 Android 内核之后,可以制造出 1000 种搭载不同硬件平台、界面的 Android 手机,虽然它们仍是基于 Android ,但其实已经不再是原来的 Android 了。经过一系列改造之后,每个手机制造商都拥有一个“独立”的Android ,这就是碎片化。碎片化会导致的常见问题有:比如,想下载一款应用,但是每次下载都失败;手机一登录 App 就死机,只能删掉;每次进行到游戏最关键的环节就闪退……这些问题归根结底就是 App 的适配性问题。用户设备种类那么多,产品如何匹配?如何保证产品在不同平台及版本、不同网络制式、不同分辨率和机型都有很好的用户体验呢?
这就是兼容性测试要解决的问题。
一、移动端 App 兼容性测试为什么非做不可?
目前智能手机格局已经是 Android 和 iOS 双强称霸,Android 和 iOS 分别有不同的手机设备,其中 Android 因为开源、厂商多样、价位、机型丰富等原因,已经成为份额上的绝对领导者。由于 Android 系统的源码是开放的,因此只要遵从相应的协议,就可以对源码进行修改。目前,国内很多手机厂商是基于 Android 源码改造成自己对外发布的系统,比如小米手机MIUI 系统、华为手机 EMUI 系统、OPPO 手机ColorOS 系统等,虽然只有谷歌 Nexus 和Pixel 系列才是原生系统,但是目前国内很少人用。
由于每个厂商都修改过 Android 原生系统源码,这里就会出现一个问题,即 Android 碎片化问题。碎片化问题的本质就是不同 Android 系统的应用兼容性不同,哪怕是搭载完全相同的硬件,不同品牌的手机在运行速度、软件兼容上都有所区别。如果是针对一台或者几台手机进行兼容性测试,还远远达不到用户的要求。
App 兼容性测试一直以来被认为是一个高成本、耗时低效、耗人力的测试工作,但兼容性测试又是一项必须要进行的测试项目,因为有不同的机型、系统平台、分辨率、网络、厂商、数据兼容以及不同兼容问题场景需要进行覆盖。现在很多公司其实并没有专门设置兼容性测试的岗位,大部分是测试人员“兼职”去做兼容性测试。
通过传统的方法去测试几款典型设备来保证自家 App 的兼容性是非常困难的,在开展兼容性测试前,最好掌握现网的各种最新设备信息、排行、占比等情况,对这些设备进行分析及分类,能够引入各类自动化开展测试,并且将 CI 及自动化测试、异常检测、提单、覆盖率等过程相结合,来协同提升测试效率。要开展这些前期的工作,投入会非常巨大,包含信息的获取、环境的搭建、设备的管理维护、各方面的关联等,而这些其实又不是对应业务的业务需求,所以性价比最高的方式还是尽量将这些交给有经验的测试服务提供商来解决。
二、影响兼容性测试的因素有哪些?
提到兼容性测试,很多人常常把它与性能测试和功能测试相混淆。事实上,功能测试只关注 App 本身的逻辑功能,性能测试关注 App 本身的性能指标(如CPU、内存、FPS 等),而兼容性测试侧重在软件品质特性的可移植性,其主要包括:
· 适应性:软件产品无需作相应变动就能适应不同环境的能力。
· 易安装性:尽可能少地提供选择,方便用户直接安装。
· 共存性:软件产品在公共环境中与其他软件分享公共资源的能力。
· 易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
· 可移植性的依从性:遵循相关的标准。
支持一下 哇哦,学到了,感谢分享
页:
[1]