需求定义中的不支持——可能的测试盲区

需求定义中的不支持——可能的测试盲区


        一款产品必然有其系统需求或规格,在设计说明中定义清楚的不支持,不实现的功能或特性,有的时候也可能是测试设计中的盲区。

        (举例:需求定义产品产品的一些属性为——XX系统不支持Win7之前的系统,XX系统只支持IE内核浏览器,XX系统和YY系统的早期版本不兼容。)


实例:

        某款平台产品,从Version1开始,几年下来已经迭代到Version4,期间接入了N多种终端产品,外设产品,数据库,Web服务器。因为兼容性太过庞大,产品分支拉的也密密麻麻,导致维护和测试都非常耗时。借着技术重大更新的机会,平台产品开发了Version5版本,对早期的兼容性经过详细的讨论和设计,约定好只支持几个重大分支的终端,外设产品。

        这个版本规划喜大普奔,团队内外都说以后就省时省力了。但很不幸在版本进行beta测试时,忽然出现了平台崩溃的致命问题。

        排查下来是一个明确不支持的早期版本设备,接入了平台,导致了平台的异常。从测试设计的角度,这就是疏漏之处。产品明确定义了不支持,并不意味着就可以在测试中不用考虑此类场景。按照边界值的测试设计,这种明确不支持的项目,也可以理解为N+1的边界值。


        接入“明确不支持”的设备,然后可以验证很多项目:

        1、兼容容错性,双方系统是否有异常/崩溃/重启。

        2、设计友好性:是否有人性化的提示——比如版本太老,请升级新版本。

        3、设计严谨性:直接提示禁止接入。


        从产品设计的角度,兼容性的保护没有设计好,肯定是设计疏漏,但是测试没有能够及时设计场景验证此问题,主要责任还是在测试设计方面。


        这也是测试设计需要注意的环节。

        规格书中明确明确的,XXX功能不支持,或者XXX版本不兼容,只支持XX系统,XX浏览器等等。这些并不代表测试可以不测试。这就是很明显的健壮性和边界值保护测试。


        但是事物具有一体两面性,不考虑是不对的,但是也不要陷入到过度设计的牛角尖里面去。

        还是上文的举例——XX系统不支持Win7之前的系统,那么在测试设计的时候,有没有必要把XP、98、vista、2000都装起来,进行兼容性测试?同理,比如Android系统下的App,明确不支持4之前的版本,那么是不是也要把之前的系统都装起来,进行兼容性测试?

        从测试设计和投入产出的实际情况来说,前者(win7之前)几乎是肯定不用测试,后者(Android4之前)可能不用测试,也可能用测试。


        这就是此类测试设计的一个常规分类,产品的性质、客户、覆盖面等等,需要综合考虑。按照测试设计从少到多来排序,如下:


        一、操作系统兼容性。

        可以就按照需求定义所支持的系统进行测试,不需要过多的考虑不支持的产品。

        首先,既然产品敢这么定义,就意味着产品本身就不是QQ、WPS这种,需要全版本兼容的覆盖面非常广的产品,而是有可能是特定用户,特定环境,或者使用目标客户精准的产品。所以就没有太多的必要,过度测试。比如守望先锋,你兴致勃勃安装完,发现卡的一塌糊涂,你也不会骂暴雪产品烂,只会怪自己没看清楚软件运行的系统要求,然后自己去买显卡。


        二、Web客户端对浏览器的兼容性。

        同理,产品既然设计如此,必然有其道理,如果用户是全覆盖类型,你设计产品说不支持chorme浏览器,可能会被同类产品直接淘汰。但是如果是给公司内部用的OA系统,ERP系统等,完全可以通过行政要求的方式搞定,只需要在某内核的浏览器下完美实现即可。

        所以测试设计,也是轻量级的测试设计,找几款其他内核的浏览器,大概的安装使用一下,看是否会有提示“本产品支持XX浏览器”,是否会出现系统异常,导致浏览器崩溃,或者操作系统无响应,就可认为达到设计目的。


        三、App对手机操作系统的兼容性。

        在手机操作系统上,可以明确不兼容,但是因为载体的不可控性,这部分还是需要测试的。同样,现在网上的模拟云挺多,也不需要实体机刷Rom,投入和产出还是正向的。

        四、自己产品之间的兼容性。

        比如说某种行业产品,比如超市的扫码计费系统,小区楼宇的报警系统等,从平台、到终端,从软件到设备,都是自己做的,那么这种升级的兼容性,反而是产品设计和测试设计的重点。

        新产品的迭代,可以明确不支持某种老产品/老版本,但是要给出友好的提示,或者明确的解决方案。

        所以这种测试,往往就是XY的一张表,或者XYZ的对通表,一个个测试过去,打勾打叉,枯燥繁琐,但是事关重要。


        本文主要描述了测试设计可能的一个盲区——规格明确不支持的功能/特性。但同时也明确了不要过度设计,否则就是浪费成本和项目时间。

        测试设计实际上是一个复杂的加权系数的模型,和产品、客户、使用方式、频率、缺陷修复成本、行业、公司很多的因素相关,切不可一概而论。


原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/193675.html

(0)
上一篇 2021年11月15日
下一篇 2021年11月15日

相关推荐

发表回复

登录后才能评论