软件测试培训之网关类接口都要测什么

网友投稿 710 2022-11-05

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试培训之网关类接口都要测什么

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

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

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

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

设计阶段

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

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

开发阶段

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

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

测试阶段

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

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

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

上一篇:京东资深DBA:我心中的MySQL DBA,心中的日月
下一篇:根据多年经验整理的《互联网MySQL开发规范》
相关文章

 发表评论

暂时没有评论,来抢沙发吧~