• 8
  • 8
分享
  • 开发改了接口,经常忘通知测试,有什么好的解决方案吗?
  • Liam 2022-04-25 18:16:52 字数 2122 阅读 936 收藏 8

 

不知道大家有没有同感,做接口测试麻烦的不是测试本身,而是接口它会变,更麻烦的不是接口变了,而是它变了而你不知道。等到你测完,开发才悠悠跟你说——“那个接口我改了点东西,你再看一眼哈”。

我那是看一眼的工作量吗? 我得review一遍看影响到哪些接口,再根据影响到的接口,查看并修改对应的接口用例,调用链下游的用例,该改的改,改完再跑一次接口测试。

——这意味着已经做完的工作又要来推翻重来一遍,我本来已经干完活儿悠哉摸鱼了,现在得加班了,我那40米大刀已经举起来你看到了没?

吐槽归吐槽,但人真的不是精密的机器没法保证一直不出错。即便我们组内“服务好下游,承接好上游,不拖后腿,不坑队友”已经是共识了,在彼此工作量巨大的前提下,真的很难不会有沟通不及时、不到位的情况。 何况即便即时通知了,变更仍旧会给测试带来不少的返工工作量。

有没有一种可能接口被改了测试能及时同步到数据,不用自己去扒拉新的接口文档?
有没有一种可能接口改了用例也能顺便帮我一起改了,再顺便告知我有哪些地方需要调整的我再精准调整?

大佬有了idea会自己造轮子,而我,我会找现成的轮子。 比对了几款国内外的接口测试和管理工具,目前最符合这个需求的是一款叫Apifox的国产接口调试、测试、文档管理工具。

Apifox解决方案

捋一下当一个接口被改了,它被改动的地方可能有:

  • 1、接口的入参和出参没有变化,只是接口内部的实现逻辑变化了

  • 2、接口的入参被修改了,这个请求参数可能是必填的也可能是非必填的

  • 3、接口的返回响应被改了

那么对应的,测试需要捋清楚自己哪些地方需要返工:

1.修改了内部逻辑的接口,用例不需要改动,只需要重新执行一遍测试
2.接口的出参入参变化导致改接口的服务受影响,相关用例也需同步调整
3.各个接口间存在参数传递和调用关系,也可能受影响,用例需要排查调整

简单来说就是捋清楚哪些接口收到影响了,再去修改对应的用例。 这些工作原本需要我们手动排查的,其实可以直接利用Apifox去实现。

Apifox对此给出的解决方案是:

1.当开发那改动了接口之后,测试这边一键同步,能直接同步到最新的接口文档
2.设置接口用例与接口绑定,当接口的请求参数和响应参数发生变化,接口用例也会同步更新到最新的接口数据,不需要人工修改接口用例
3.一键回放接口用例,对比返回的结果,如果报错或者返回的数据结构不对应,则告警;
4.接口设计时可以对返回响应进行约束,用例设计时也可以对接口返回进行断言,当接口响应发生变化,执行自动化接口测试会针对错误的地方给出提示。

以上都依托于Apifox的自动化测试功能,用Apifox怎么做自动化测试,大家可以去官网搜一下相关教程,我重点会放在“接口变更”要怎么处理这部分。

用Apifox怎么处理接口变更

用Apifox处理接口变更主要依赖于它的两大功能:
1.接口变更数据同步与接口用例自动更新

接口用例是在接口的基础上,修改请求/响应字段的值保存生成的。 无论是接口的域名,路径,方法,请求参数,响应参数被修改,接口用例也能够一键步到最新的数据。 2.自动断言功能 Apifox的自动断言功能不需要写脚本,对Python或js不熟悉也可以直接通过可视化界面填写参数。 在生成的接口用例中,选择后置操作tab/断言;填写你要断言的对象,提取响应里的目标参数,并设置判断规则,校验实际返回与期望返回是否与预期一致。 提取参数时通过json path表达式提取的,具体规则可以看下这个使用文档:JSON Path 介绍 | Apifox 使用文档

1.png

3.响应参数数据结构自动校验 在接口tab,响应模块/高级设置 中,会对响应字段的数据结构和范围进行约束,针对数据类型/范围变更,可以检测到。

接口用例会自动同步修改的数据

找个项目举例子,在这个项目里已经保存了接口和生成了对应的用例。 但后来由于项目需求变更,在接口的请求参数中增加了宠物名称。 则此时对应的接口用例也会同步并增加此项接口请求参数。

2.png

接口用例中已经自动增加了改请求参数

3.png

接口代码实现逻辑修改

如果接口内部代码实现逻辑变更,接口的入参和出参没有变化,那么只要回归接口用例,覆盖到被修改的接口即可。

每次跑自动化测试,Apifox都能自动生成测试报告并保存下来,只要划定受影响接口,比对两次自动化测试的结果,就能排查接口修改是否影响到服务的功能

4.png

接口参数修改

接口的参数变化可分为接口请求参数变化或者接口响应参数变化。

1)当接口请求参数增加或减少了必填参数,接口用例能同步过来,但是参数为空的,用例一执行就会报错,此时可根据报错针对性修改。

2)针对接口响应参数的变化,对于重要的响应参数,比如说下个接口要调用到的参数,可在用例的后置脚本中增加对这个参数的断言

5.png

接口没有变更的情况下,会提示正常

6.png

一旦该参数被删除,则会提示断言结果会提示异常

7.png

3.针对返回参数数据结构类型的约束,可对返回的数据类型和数据范围进行约束。一旦返回数据类型发生变化,接口断言直接提示错误。

8.3.png

可直接在在接口tab的返回参数上选择数据类型,接着点击右侧的设置按钮,可对数据的具体范围进行约束

9.png

接着再设置该参数对应的数据范围约束

10.png


11.png

Apifox 下载

下载地址:www.apifox.cn


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 测试分类       常见的开发流程里面,都有测试人员,这种我们称之为黑盒测试。测试人员并不需要去管实现机制,只看最外层的输入输出。比如一个计算机加法页面,设计人员会设计n个case,去测试该加法的正确性。这种如果我们开发人员用代码去做的话,我们称之为e2e测试。       还有一种测试叫白盒测试。我们针对?些内部机制的核?逻辑,使?代码进行编写,我们称之为单元测试。       其实我们代码里面的console.log,也算是一种测试的雏形。    &...
            12 12 2880
            分享
          •   苹果公司今天推出了 iOS 17.2,为 iPhone 15 Pro 和 iPhone 15 Pro Max 用户提供了录制空间视频的功能。通过这项新功能,用户可以在即将推出的MR头显 Apple Vision Pro 上进行3D拍摄,体验他们最喜爱的回忆和特殊时刻。  苹果公司解释说,为了创建3D视频,iPhone 在录制时会同时使用主摄像头和广角摄像头。然后,这些视频会以单个文件的形式保存在照片应用中名为"空间"的新相册中。这些视频还将通过 iCloud 在不同设备间同步,空间视频的拍摄分辨率为 1080p,每秒 30 帧。  空间视频录制可在"设置&qu...
            0 0 1011
            分享
          •   对于有能力的人,除了金三银四、金九银十换工作的季节外,任何时刻都可能出现机会,准备了大半年终于到了换工作的时机。在此给大家分享下个人面试前后的一些准备工作以及面试过程中的一些常见问题分析。  测试思维  面试中很经常看到一个问题就是“给你一个登录页面/给你一根笔,你怎么测试?”,实际上面试官主要考察的是你的测试思维,这个时候你要从以下几个方面去回答:UI测试、功能测试、用户体验、安全性、性能等等几个方面去考虑。然后每个方面进行扩展,简单讲述几个用例即可。  1.熟练背好测试思维的几个方向  背好测试思维的几个方向的目的,是希望在面对面试官问题的时候,你能有条不紊的阐述你的测试思路,除了减少...
            0 0 1207
            分享
          •   据彭博新闻社周五援引知情人士的话报道,拜登政府正在商谈向英特尔公司提供超过 100 亿美元的补贴。据报道,谈判正在进行中,英特尔的一揽子奖励方案可能包括贷款和直接赠款。负责监督 CHIPS 法案资金发放的美国商务部和英特尔公司拒绝发表评论。  美国商务部已经宣布了两项规模较小的《芯片法案》拨款,美国商务部长吉娜-雷蒙多(Gina Raimondo)本月早些时候表示,美国商务部计划在两个月内从政府的 390 亿美元计划中拨款数笔,以促进半导体制造业的发展。  半导体基金旨在为芯片生产和相关供应链投资提供补贴,这些奖励将有助于建设工厂和提高产量。  英特尔计划斥资数百亿美元,资助亚利桑那州和新...
            0 0 721
            分享
          • 作为测试人员,项目涉及新功能,有的时候需要做横向的竞品分析,可能有人会说,竞品分析是产品要做的事情吧,测试人员为什么需要做呢?这好像不是自己的分内之事。其实不然,测试做竞品分析和产品的角度是不一样的,测试更应该从技术角度完成竞品分析。那么竞品分析应该从哪些方面着手呢?1、功能比较在本次要做的功能的功能点中,哪些点是竞品已有的,在大家都有这种功能的情况下,又做到了哪种深度,举个简单的例子,陌生来电拦截,虽然是现在大部分手机都有的功能,但是有的拦截是上层做的,有些是底层拦截的,最大的区别就是,上层拦截的陌生电话,还会产生一个拦截通知,如果是底层拦截的,手机上是看不出任何蛛丝马迹的。2、ui及动效比...
            1 1 11012
            分享
      • 51testing软件测试圈微信