从三个阶段讲讲,网关类接口都要测什么

2644 篇文章 26 订阅
2449 篇文章 14 订阅

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

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

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

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

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

设计阶段

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

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

开发阶段

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

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

测试阶段

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

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

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

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值