zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

兼容性测试设备如何挑选?

设备测试 如何 兼容性 挑选
2023-09-11 14:15:55 时间

背景

测试设计依赖于测试内容,大家对这个观点一定不陌生了。负责终端相关的测试,我们必不可少的一个测试活动就是“兼容性测试”,而市面上机型多且繁杂,所有机型全部覆盖测试,想想就……

在这里插入图片描述

各位同学在做终端兼容性或者终端性能测试方案设计的时候,有没有遇到过以下烦恼?(APP向)

1.手机参数那么多,他们分别影响了什么?哪些参数的影响比较大?

2.本次测试,究竟应该选择哪些设备呢?选多少台?非它不可吗?

3.这些设备测试完毕后,是不是就代表兼容性测试够充分了?

4.设备所谓的“中高低端机型”,到底应该怎么划分?

……

跟我一起来探索下吧!

第一层思考 — 设备的不同参数,对软件功能、终端性能的影响

大部分情况下,我们都了解的是:手机的兼容性、性能受制于手机本身的参数,其中有一些关键参数,譬如:cpu、内存、屏幕类型(挖孔屏、刘海屏等)、屏幕分辨率、屏幕刷新率、厂商ROM 等等。

那么这些参数,分别都影响着什么呢?本人在此抛砖引玉,说上几句:

屏幕类型:主要影响app的页面展示和交互按钮等。

cpu、内存:会对动画展示类的功能造成影响,比如动画资源大小、动画播放时长。

厂商ROM:这个影响就比较多,基本上所有app功能都会或多或少受厂商ROM影响,很多兼容性问题都因为厂商ROM不同引起。

合理的了解参数和app测试点的关系,对于我们对兼容性测试机型的筛选有很大作用。

第二层思考 — 团子兵法曰:厂商比我更懂搭配……

除了设备参数本身,我们还需要考虑一些技术前瞻性、技术特性、软硬件搭载平衡 等方面,以便我们可以针对性的去做一些选择。春江水暖鸭先知,软件和硬件从来都是相辅相成的,我们通过各大厂商的新品发布会、品牌官网、测评博主等渠道,可以获得许多关键信息。

新机发布:厂商的新机发布,能够让我们了解各个厂商的主打机型,包括一部分概念机。主打机型用户占比一般都比较高,概念机更能够让我们提前看到未来手机可能的样子。

分水岭机型:比如iPhone X 米奇屏鼻祖,如果仅仅测试米奇屏表现,通常选择这一款就够了。华为的折叠屏、努比亚的前后双屏、三星系列的小屏折叠屏等,都可以用这种方式去进行分类。

招牌旗舰:各家的旗舰机,性能好,系统又比较新,用户占比一般也不会低。

送上门来的测试用例:比如iOS15 的系统,边界更正方法有修改,有可能触发断言导致软件crash。

通过这些渠道获取信息,既能节省我们很多时间,也能让我们对后续可能出现的机型有更多的了解,省时且精准高效,岂不美哉?

第三层思考 — 看占比

测试设计,一般优先覆盖市场占比较高的设备,因为占比越多,代表用户越多,因此保证它不发生兼容性问题就很关键。那么我们需要看哪些占比呢?

1.机型本身市场的占有率,比如安卓机型,我们可以通过Android Studio去查询。

2.被测试的app机型占有率,这类数据一般都有检测数据可以查询,直接内部收集就好。

3.发生问题的机型占有率。发生问题越多的机型,风险也就越大,测试的时候就要着重去看,还要了解为什么这款机型发生问题多,是因为系统,还是因为屏幕类型等。这类数据获取也比较容易,查询bug库里面的机型数据就可以了。

4.用户反馈机型占比。每一个app用户都是有反馈的,可能是建议,可能是bug反馈等。反馈数越多,占比越高的机型,我们就越要着重覆盖。

第四层思考 — 分档次,贵在于精准,把精力用在刀刃上

我们前面说了,手机性能会对兼容性有影响,如何划分手机性能,通过性能决定要覆盖哪些手机就很重要。

手机性能主要受cpu和内存影响,我们可以按照cpu和内存,给手机划分成高中低端机。

cpu性能好,内存大的就是高端机,性能一般就是中端机,而cpu比较差,内存低的就是低端机。

当然,你可能要问,什么是性能好,什么是性能差?根据测试经验,可以按照厂商的旗舰来区分。厂商每年的旗舰机一般都是高性能机,那么与旗舰配置相同或相近的,就可以划分为高性能机。

你可能还要问,旗舰机过了几年性能下降怎么办呢?

观看最近几年机型发布的数据,厂商发布的旗舰机以下机型,会用一些几年前的旗舰机配置,或者cpu可能是新出的,但是性能跟几年前的旗舰机cpu相近。

那可以将两年作为一个分水岭,两年前的旗舰机放到现在是中端机,与该旗舰机cpu性能相近就都可以当做中端机了,例如高通7系列芯片,联发科800系列等。

那低性能机呢?

低性能机可以按照手机本身的价位去判断,一般而言1000价位以下的手机性能都相对会低一些。或者看芯片,高通6系列芯片、联发科700系列等,都可以归到低端机里面。当然这是我们基于目前业务实践总结出来的,毕竟目前市面上对高中低端机也没有一个准确的说法,仅作为参考。对于机型划分,如果大家有其他建议,欢迎放到评论区里面。

划分以后,再结合占比,选出高占比,高风险的高中低端机型,需要测试什么机型就一目了然了!

第五层思考 — 不能忘了还有这些“妖孽”

现在很多厂商为了竞争,那可是十八般武艺全都使出来了。各种五花八门的屏幕、特殊机型定制化的特殊系统等,给测试筛选机型带来了很大的麻烦。

为了防止测试遗漏,我们还要关注一些特殊的机型。比如:折叠屏机型,不只会因为其屏幕类型的特殊性产生兼容性bug,还会因为系统的特殊性,导致我们的app展示出现问题。

Android或者ios版本:系统是问题大户,有些机型会因为系统的特殊性会导致功能问题。比如ios14和15,就会发生同一款型,ios14系统没有出问题,但是升级了ios15的机型反而出现问题。

这些琳琅满目的手机,我列举的只是一部分,但是一定要考虑进去,可不要让这些妖孽逃脱测试的法眼。

第六层思考 – 不以测试对象特性开展的测试工作,都是“耍流氓”

分析了这么多,不结合到测试实践可不行,我们所有的分析都要基于实际的测试场景去落地。我们在测试之前,要了解测试的核心是什么。

比如动画改版,我们就知道,测试重点是动画。比如新功能展示交互,那么就是手机交互类的功能,这就是功能。

在了解功能和参数的互相影响之后,我们还要将其结合到实际业务场景中。比如有一个新功能,核心场景是什么?是动画?还是UI展示,把概念结合到实际场景,我们才算分析成功,才能应用起来。

比如我要测试送礼,礼物赠送以后会展示礼物动画,那是不是就和动画的场景结合起来了?只有做到良好的结合,我们才能实际落地,选出合适且最优的兼容性机型。

基于上述这些内容,怎么能让笔者这种勤(懒)劳(惰)的人每次手动写方案呢~来吧!上系统!

设计思路

首先,要设计系统,我们前面分析也说了,将场景和手机参数结合起来。除此之外,还要整理出一份包含所有机型参数的数据。

有了这两点支撑,算法的基础设计思路就成型了。基于场景对应的参数影响点,与所有机型参数的数据结合,相同参数的机型划为一组,筛选所有机型,保证场景识别的完善性。并且我们还要考虑发生问题较多的机型,对这种机型标记高危,这样机型的识别就相对比较完善了。

在识别完善的基础上,我们给机型一个占有率排名,占有率越高越靠前推荐,这样选择的机型就更加完善且具体了。

实施算法流程

概览图:

图片

· 数据收集:收集机型参数,app手机使用占有率数据,以及内部bug单库里面发生问题较多的机型,放入对应的数据库中,为后续算法做铺垫。

· 数据维护:收集数据的基础上,实时维护数据,保证机型更新也可以及时维护到数据表中。由于排名数据也是定期更新的,所以需要实时更新排名数据。

· 场景维护:随着需求不断增加,预置的场景肯定是越来越难以满足新的需求,因此场景可以手工添加维护

· 推荐算法:

流程图:

图片

步骤1:系统识别选择的场景,读取对该场景对测试有影响的高权重机型参数。

步骤2:将该参数与数据库中的机型数据比对,相同参数的机型划分为一个等价类,分成多个机型组,每组机型按照占有率(即之前收集的rank排名数据)从高到低排列,例如分类:刘海屏,1080P。

步骤3:识别主流厂商(华为、小米、oppo、vivo)占有率最大的机型,标记并优先推荐。

步骤4:标记该场景发生bug最多的机型,高优推荐,标记为高风险。

· 机型展示:将所有组机型按组展示,组名为影响参数的组合名称。

算法详解

图片

例如某场景,我们假设该场景为A,对A场景影响较大的机型参数为b、c。我们选择A场景,系统读取完该数据以后,会去开始筛选机型,所有机型参数b相同,且参数c也相同的机型为一组。这些机型理论上核心参数相同,可以作为一个等价类,划分到同一个组中,组名则按照参数b和c的集合命名。

其中,分辨率是个很特殊的参数,市面上手机分辨率不是完全相同的,可能是24001080,可能是22161080,但是他们都是1080p分辨率的手机。因此我们不能取分辨率的详细参数,而是要取1080p、2k、720p这种参数。

我们兼容性测试-机型筛选相关内容就介绍到这里了,跟着上述思路做好测试设计,你也能让兼容性bug无所遁形!


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述