• 0
  • 0
分享
  • 从三个阶段讲讲,网关类接口都要测什么——软件测试圈
  • 恬恬圈 2023-03-13 16:15:40 字数 989 阅读 1068 收藏 0

  网关是指内部服务和第三方外部服务交互的接口,常见的网关有通过渠道引入外部用户的通用网关、和支付商户对接的支付网关、获取第三方数据的数据网关等(一种是我们提供给第三方调用,一种是去调用第三方,这里重点讨论第二种)。

  因为网关接口需要依赖第三方响应的结果,而不管我们请求参数如何,第三方测试环境响应结果基本固定,不一定会出现我们想要的情况。

  还有一种情况是测试账号的原因,比如缺少有效的信用卡号、有流水记录的淘宝卖家账号等,导致我们使用的测试账号只能覆盖单一的情况。

  虽然对网关来说大部分时候只要能和第三方调通就可以,但是线上情况不可控,只验证正常情况当然不够严谨,需要确保各种可能出现的异常情况都能处理。很多同学在测试网关接口时,只是联调一次成功的情况,再多也是测试各种请求参数缺失和组合的情况,这样的覆盖率是很低的。

  那么我们怎么样才能提高测试覆盖率,以及做到不依赖第三方服务呢?

  设计阶段

  一般第三方会给出详细的接口文档,里面有给出各种情况的返回码和返回参数,包括成功的、失败的、参数缺失、参数错误、签名错误、请求超时、解密错误、解析消息体错误等。

  结合我方的业务,分析对方返回数据是否满足我方要求,以及是否还有其它可能出现的情况,并且需要和开发同学强调要处理第三方的这些返回结果。

  开发阶段

  针对那些测试时比较难覆盖的情况,我们可以让开发在单元测试中补充覆盖这些场景。

  单元测试是很好的补充覆盖异常情况的方式,很多被catch的异常情况我们无法在测试中执行,那么这部分代码通过单元测试覆盖即可。

  测试阶段

  测试阶段需要关注的几个点,一是网关的功能和性能,二是要监控网关的情况以及针对异常要有预警,三是需要通过mock第三方服务补充覆盖异常情况。

  很多情况第三方无法返回,需要我们创建mock接口来模拟(将测试环境请求第三方的地址修改为mock接口的地址),即可测试在不同场景下的处理情况。

  比如,请求第三方超时时我们这边的业务会不会阻塞,第三方返回了成功但是没有带上我们想要的数据怎么处理,第三方返回的订单id和我们请求时带的不是同一个我们会校验码,这些都是我们需要考虑的,通过mock可以很好地帮我们实现。



作者:circle_hyy    

来源:http://www.51testing.com/html/42/n-7792742.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一. 什么是JWTJSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。二.JWT一般用于做什么授权即在用户登录成功以后,为用户颁发一个token(令牌),用户便可以使用这个token令牌访问后台的接口加密使用JWT可以对接口的参数进行加密,在后台验证成功以后才能真正进行处理三.为什么要使用JWT进行认证,而不使用session、cookie?基于cookie的认证,存在如下问题:CSRF:session基于cookie,如果cookie被截获,用户很容易收到跨站请求伪造的攻击。基于session的认证,存在如下问题:开销大:每个用户在认证之后,都要在服务端做一次记录,以方...
            0 0 2936
            分享
          •   Web 端测试和 App 端测试是针对不同平台的上的应用进行测试,Web应用和App端的应用实现方式不同,测试时的侧重点也不一样。  今天这篇文章就来介绍下两者的不同之处以及测试时的侧重点。  Web 端应用和 App 端应用的区别  · 平台兼容性  Web 端应用可以在任何具备浏览器的设备上运行,而 App 端应用需要在特定的操作系统上安装和运行。  · 安装方式  Web 端应用可以通过访问特定的网址来直接使用,而 App 端应用需要从应用商店或者其他渠道下载和安装。  · 功能和性能  App 端应用通常能够提供更加丰富的功能和更好的性能,因为它们可以直接与设备的硬件和操作系统进行...
            0 0 952
            分享
          • 1、背景1.1 项目背景在移动平台服务端接口测试覆盖度为零的情况下,根据服务端接口的特点,以及升级更新的速度较快等,需要开发此框架来实施服务端接口的自动化测试。1.2 接口测试接口测试属于灰盒测试范畴,通常不需要了解接口底层的实现逻辑,但需要测试人员能够使用代码的方式来调用接口。接口测试主要用例测试接口的功能以及接口返回数据的正确性。根据接口测试的复杂度接口测试分为两种。即单一接口测试,以及多接口组合功能测试。由于接口测试是通过代码调用的方式完成,而且接口测试与前端UI属于松耦合(或无耦合)因此通过自动化手段将极大提高测试效率以及回归测试的复用率。本文中提到的接口测试主要是指基于http,ht...
            13 13 3317
            分享
          •   在各种各样的公司或岗位上,有着三种人:遵守规则、见识规则、搭建规则的人。  大多数人都处于遵守规则的阶段,也就是执行人员,不论开发、测试等岗位,根据当前的管理体系去熟悉去适应去执行。  小部分人见识过各种各样的规则,这取决于不同公司的规模,为什么大多数公司喜欢大厂背景的人才,就是因为他们见识过完善的制度体系,学习能力快、人员素质高等原因。  最后很少一部分人处于搭建规则,当然搭建规则的人必须有个前提——见识过规则。  每一个公司都有自己的制度流程,从别的地方复制粘贴过来的并不完全能够运行下去,中间会出现各种各样的问题,最后导致断层问题,在不断改进后形成自己的规则体系,使公司更好地运行下去。...
            0 0 1302
            分享
          •   我们在工作了一段时间之后,势必会感觉到自己已经积累了一些工作经验了,会开始考虑下一阶段的职业生涯会如何发展。测试人员在职业生涯中的不确定因素还是不少的,由于其入门门槛不高,不用学习太多技术性知识即可入行,所以一开始决定踏入测试圈的小伙伴他们当时决定干这一行当的理由也有可能五花八门,例如:觉得入门简单,先以测试人员的身份进入IT行业、可能本身就喜欢质量保障方面的工作、不希望像开发人员一样太累掉头发、就是喜欢找开发的茬等等~  哈哈开个小玩笑,那既然入门理由有很多,那之后的职业生涯发展也自然而然会出现各种各样的分化,下面我就来列举一下测试人员未来的几个主要的职业方向,看看你是想做技术大牛,还是...
            0 0 1033
            分享
      • 51testing软件测试圈微信