所谓兼容,是指硬件之间、软件之间、软硬件之间相互配合的程度。而兼容性测试,是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络环境中是否能正常运行的测试。当下无论是 Android 系统还是 iOS 系统,一直都在不断更新升级,这无疑给移动终端的兼容性测试带来极大的挑战。为此,InfoQ 专访大连市世纪鲲鹏科技有限公司兼容性测试技术团队,深入了解优测(Utest)如何实现自动化全面兼容性测试,并将采访整理如下。
2019 年 5 月,谷歌再次更新 Android 版本占有情况,从更新数据可以看到,Android 8.0/8.1 和 Android 9.0 的市场份额在持续走高,其原因除了是多款新机上市带动之外,也跟不少厂商积极跟进了新系统的适配有关。但不可忽视的问题是,Android 系统的碎片化问题依然非常严重。
什么是碎片化?举个例子,1000 个 Android 手机制造商拿到 Android 内核之后,可以制造出 1000 种搭载不同硬件平台、界面的 Android 手机,虽然它们仍是基于 Android ,但其实已经不再是原来的 Android 了。经过一系列改造之后,每个手机制造商都拥有一个“独立”的Android ,这就是碎片化。碎片化会导致的常见问题有:比如,想下载一款应用,但是每次下载都失败;手机一登录 App 就死机,只能删掉;每次进行到游戏最关键的环节就闪退……这些问题归根结底就是 App 的适配性问题。用户设备种类那么多,产品如何匹配?如何保证产品在不同平台及版本、不同网络制式、不同分辨率和机型都有很好的用户体验呢?
这就是兼容性测试要解决的问题。
目前智能手机格局已经是 Android 和 iOS 双强称霸,Android 和 iOS 分别有不同的手机设备,其中 Android 因为开源、厂商多样、价位、机型丰富等原因,已经成为份额上的绝对领导者。由于 Android 系统的源码是开放的,因此只要遵从相应的协议,就可以对源码进行修改。目前,国内很多手机厂商是基于 Android 源码改造成自己对外发布的系统,比如小米手机 MIUI 系统、华为手机 EMUI 系统、OPPO 手机 ColorOS 系统等,虽然只有谷歌 Nexus 和 Pixel 系列才是原生系统,但是目前国内很少人用。
由于每个厂商都修改过 Android 原生系统源码,这里就会出现一个问题,即 Android 碎片化问题。碎片化问题的本质就是不同 Android 系统的应用兼容性不同,哪怕是搭载完全相同的硬件,不同品牌的手机在运行速度、软件兼容上都有所区别。如果是针对一台或者几台手机进行兼容性测试,还远远达不到用户的要求。
App 兼容性测试一直以来被认为是一个高成本、耗时低效、耗人力的测试工作,但兼容性测试又是一项必须要进行的测试项目,因为有不同的机型、系统平台、分辨率、网络、厂商、数据兼容以及不同兼容问题场景需要进行覆盖。现在很多公司其实并没有专门设置兼容性测试的岗位,大部分是测试人员“兼职”去做兼容性测试。
通过传统的方法去测试几款典型设备来保证自家 App 的兼容性是非常困难的,在开展兼容性测试前,最好掌握现网的各种最新设备信息、排行、占比等情况,对这些设备进行分析及分类,能够引入各类自动化开展测试,并且将 CI 及自动化测试、异常检测、提单、覆盖率等过程相结合,来协同提升测试效率。要开展这些前期的工作,投入会非常巨大,包含信息的获取、环境的搭建、设备的管理维护、各方面的关联等,而这些其实又不是对应业务的业务需求,所以性价比最高的方式还是尽量将这些交给有经验的测试服务提供商来解决。优测目前的支持情况如下图所示。
优测为应用、游戏,H5 混合应用的研发团队提供产品质量检测与问题解决服务。不仅在线上平台提供「全面兼容测试」、「远程真机租用」等多种质量检测工具,更为 VIP 客户配备专家团队提供定制化综合测试解决方案。真机实验室配备上千款手机,覆盖市面 98% 主流机型,7*24 小时在线运行,覆盖亿级用户。
提到兼容性测试,很多人常常把它与性能测试和功能测试相混淆。事实上,功能测试只关注 App 本身的逻辑功能,性能测试关注 App 本身的性能指标(如 CPU、内存、FPS 等),而兼容性测试侧重在软件品质特性的可移植性,其主要包括:
有哪些因素会影响兼容性?
当下,移动终端厂商众多,兼容性测试要覆盖的品类更是数不胜数,要做到所有机型的全覆盖兼容性测试既不经济,也不可能。针对这一痛点,优测的技术专家表示,世间任何事物我们都无法穷尽,兼容性测试亦是如此。优测具有专家级的兼容性测试整体方案,其中的机型选取方案,通过 TOP 用户数排行选取(同类型合并)、SDK 覆盖(大版本特性(向下兼容))、厂商覆盖(整合系列,如华为 Mate 系列、运营商)、重点机型覆盖(分辨率使用人数 TOP 排行)、分辨率覆盖(以往问题集中机型)。通过优测的机型选取方案整合机型属性信息,在保证质量的情况下,能降低适配机型数量的 50%左右。
App 兼容性测试的重要性不言而喻,但问题是,企业在做 App 兼容性测试会面临一些难点,比如兼容性测试经验不足、测试人力不足、缺少测试设备。
那么优测是如何解决这些难点的?
首先在设备方面:优测几乎涵盖了市面上所有的 Android 和 iOS 设备,包括手机和 Pad;这些设备上可以覆盖所有 App 端产品需要的机型,而且还在持续更新,帮助企业有效降低采购成本。从设备维度分类的角度,优测可以获取来自腾讯灯塔、历史经验分析、以及数百个行业现象级 App 的机型数据,发现问题命中率高,定位精准。
其次在人员方面:优测拥有百余人的测试团队,核心骨干均具有 10 年以上的测试行业经验,无论是从项目管理人员、自动化框架人员、自动化服务开发人员,还是测试方案设计人员、测试用例编写人员、测试执行人员等,都有非常完整的人员模型,帮助企业提供资深的团队服务。
在机房方面:优测可实现千款真机机房管理,24 小时运维服务,提供远程的真机使用,远程的机房输出能力。
能力方面:优测具备成熟并完备的测试体系,可提供多种测试方案,具备自动化、远程真机、设备分享,设备远程调度等能力。
最后是经验优势:优测多年来已经服务上百个 App,包括亿级用户量级的产品(如 QQ、管家、同步助手、应用宝、空间等),具备极为丰富的兼容性测试经验,在实践过程中积累了大量的行业数据指标和各类不同领域的 App 数据。
优测的兼容性测试服务主要分为三类:机型适配测试、ROM 适配测试、自动化测试。机型适配测试可以理解为对产品功能逻辑的兼容性测试,整个优测技术团队在实践中,会分析产品需要适配的功能点,通过机型来智能选取获取需要适配的测试机型,配合测试专家针对产品功能点制定的测试方案进行测试,达到全面覆盖功能、深入挖掘 Bug 的效果。
ROM 适配测试是针对手机厂商或谷歌系统差异特性可能对产品造成影响的功能进行测试,会有专项开发调研系统的变更特性,分析功能影响范围,测试专家输出测试方案对相关功能进行测试,快速发现问题,保证产品体验。
自动化测试的用途是把以人为驱动的手动测试转化为机器自动执行测试的一种方式 ,用于快速验证产品基础功能,包括安装、启动、卸载、控件遍历等,发现产品是否存在严重的 crash 问题。
提到自动化测试,有些厂商通过机器人来模拟人类操作来实现自动化兼容性测试。根据测试金字塔模型可知,虽然通过 UI 测试的成本更高,反馈更慢,但测试结果的置信度也更高。那么优测是如何做到自动化测试呢?
优测技术专家表示, 一般来说,通过外一层的机器人模拟真实操作都是用来做一些有针对性的测试,比如规则统一的重复操作、一些暴力测试等,其优点是可以跨平台,只要录制规则、点击坐标就可以适配一系列设备;但这样的做法也有其劣势,如机器人自身的判定误差导致的坐标偏移等问题。
优测目前采用的还是基于软件接口层面的模拟操作,目前这种方式已经完全满足现有的自动化需求。而 UI 类自动化测试的成本确实不小,但考虑到其可以完全反映真实操作,权衡来看 UI 测试仍是不可或缺的。优测通过 case 管理、case 分层分级、有效的 case 封装,以及智能遍历及 AI 接入等一系列操作提高 ROI 。另外,对于企业而言,可以尽量多地开展单元测试、接口测试等对环境因素要求小的测试,从而提升自己 App 的质量。
机型适配测试解决的主要痛点是:
其使用场景主要有以下两类:
具体表现为:缺少相关测试机型;缺少专业测试团队;产品质量有一定要求;节约成本,费用不足。
具体表现为:缺少相关测试机型;需要专业团队快速响应,提升效率;产品质量要求很高;缺少专业兼容性测试人才。
优测在机型适配测试上的技术亮点
ROM 测试主要解决以下痛点:
针对这些痛点,优测给出的 ROM 测试方案如下:
自动化测试主要分为 3 种:
标准自动化测试的流程如下图所示。
自动化测试常见的技术难点与解决思路:
随着硬件的发展,新的移动设备可能会加入新的元件,如之前的 GPS、NFC,新发布的 iPhone 内置的全新 A13 仿生芯片等,这对兼容性测试的影响很大。我们知道,智能移动设备由非常多的元器件、传感器构成,这些部件由很多厂商提供,虽然一些共有的标准是相同的,但内部的函数实现有可能不同,这就会导致在函数调用时产生误差值,从而提升用户的体验。
经验和数据积累对于兼容性测试至关重要,只有在该领域深耕,并能够积累大量兼容性测试经验,才能帮助用户有针对性地发现及解决该类型的问题。这一点,优测的优势不言而喻。
最近几年 DevOps 非常火,毋庸置疑的是, DevOps 已经大大改变了测试人员和开发人员的软件开发和测试方案。但是 DevOps 在质量保证中的作用也在被讨论和质疑。优测如何应对 DevOps 呢?优测技术专家表示,传统类的兼容性测试一般是在集成测试阶段进行,但这会出现一个问题,就是发现问题的时间点滞后,给到测试的时间也很有限。
优测致力于提升整个兼容性测试链条的每个环节的效率,可以很方便地接入 App 的 CI,在代码变更时主动触发自动化测试,优选对应设备运行指定 case ,同时支持过程中的异常监控。发现问题后,根据代码和研发对应关系,自动提单给到对应研发人员,提单包含本次构建线、发现问题设备信息、时间、log、截图等信息,并可以提供对应的设备远程调试入口,方便开发回溯问题。测试结束后发送对应的测试报表给到相关人员了解版本质量,测试完毕后还可以根据代码覆盖率数据进行精准判定,这就极大地提升了测试效率,降低了企业成本。
成本在企业考量测试方案时占了很大的比重。由于手机产品及其型号、操作系统版本及其升级补丁、系统及软件配置的多种多样,而它们的组合近乎是一个天文数字,要达到测试的全覆盖是不可能的任务。如何以更低的成本达成更理想的测试效果呢?
优测技术专家表示,做任何测试肯定要讲究投入产出比,优测会尽量用性价比最高的方式去开展测试,像手机型号、系统、厂商、软件配置等都属于一个数据积累和优选的过程,优测每月都会对现网的智能移动设备做统计分析,分类各维度的 TOP 排行榜,如 SDK 分布排行、分辨率排行、手机品牌排行、各设备用户量排行、各厂商型号用户量变化趋势等信息;同时,根据历史 Bug 数据,优测会智能分析出不同类 App 可能在哪些设备上更容易产生问题;将这些设备筛选出后可以通过自动化的方式同时在大批量设备上运行,从而在短时间内做到测试收益最大化。
优测在做兼容性测试服务的过程中也遇到过困难。技术专家提到,优测曾为某一世界 TOP500 强企业做兼容性测试,在现场解决问题时,出现了一个情况,就是技术团队需要携带或来回邮寄大量的手机,这大大增加了时间的成本,也影响了解决问题的速度。怎么办?优测技术团队痛定思痛,开发了全国首个远程设备分享,实现云真机远程调试。现在优测的测试服务具有设备远程分享和远程调试的功能,能够在跨地域、甚至跨国籍团队之间,瞬间使用手机进行远程验证与调试,这大大节省了时间成本,加速了问题解决的及时性,并且发版不受影响,得到用户的高度好评。
PET和双饰面该怎么选?PET门板好还是双饰面门板好?从三个方面给您讲的明明白白的。特别是最后一点,建议大家点赞收藏,免得以后找不到。首先PET和双饰面都是板材的市面工艺。双饰面的学名叫做:三聚氢氨饰面纸,它有成百上千种颜色和纹理,用高温贴在基材上。而PET是一种食品级的塑料材质,就是喝的矿泉水。水
即将过去的五一长假,马术迷们在上海久事国际马术中心享受了一场饕餮盛宴,在场内目睹全球最顶尖骑手和赛马的携手表演。已八次举办的上海浪琴环球马术冠军赛,在场外同样交出了靓丽的成绩单。据统计,赛事举办三天合计入场观赛约2.3万人次,超越了去年的2.2万人次,票房较去年提升约30%;入场观众中10%来自境外
德地氏锅炉服务网点热线:400-883-8253, 为您提供德地氏锅炉维修点查询、德地氏锅炉售后维修服务商等查询服务。覆盖的德地氏锅炉维修点地址电话。德地氏锅炉售后服务承诺;1.上门服务时间(周一至周日8:00-21:00)2..师傅接单后30分钟到达目的地(情况除外)
泉润德保险柜售后服务电话:400-883-8253泉润德保险柜24小时维修热线:400-883-8253泉润德保险柜,作为业内的践行者,不仅专注于高品质的研发与制造,更将客户服务体验提升至战略高度。我们的维修团队由一群技术精湛、素质卓越的专业人员组成,他们不仅拥有丰富的现场处理经验和扎实
日立(HITACHI)空调作为国内知名的安全门品牌,一直以卓越的品质和周到的服务赢得了广大消费者的信赖。为了更好地服务每一位用户,日立(HITACHI)空调特别设立了24小时服务热线,全国统一售后服务电话为400-883-8253。无论您在使用过程中遇到任何问题,都可以随时拨打这个电话,我们的专业客
如电器使用过程中出现问题给您带来不便,我们深表歉意,麻烦您拨打公司客服热线(400-883-8253),我们将安排工作人员为您提供上门维修服务,感谢您的来电! 服务区域;全市各区及周边等辖区均有维修网点,统一报修,就近安排维修上门服务一、能工巧匠:为您提供优质服务《工程师背景