软件接口测试中的幂等测试你了解吗?

发表于:2021-11-19 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:软件测试刀锋    来源:知乎

  我们知道一个网站的访问中会有很多各种各样的接口请求。
  比如说拿一个购物网站来说,有注册,有登录,有浏览商品,有添加购物车,查询购物车商品这些接口,还有一类特殊的接口,比如:支付。
  我们都知道接口一般都会存在这样一个过程,通过前端发起一个接口请求,也就是我们所说的request,请求以http发送给服务器,服务器接收到对应的请求之后,处理完成,会将处理的结果通过网络再返回给我们客户端也就是我们常说的response。
  但是存在这一一个情况,我request出去,由于网络抖动等原因,response没来得及返回,我又请求了一次,那么如果不作处理这时候会产生用户重复两次的情况。
  对于一般的查询等接口没什么影响,大不了我向服务器重新请求拉取数据等等。
  但是支付这些接口,就会产生一些问题,一旦我请求了2次,没有重复性校验等机制会产生付款2次的可能性。
  再加上很多时候,开发对应同步超时的处理代码写的本身就有问题。
  第三方的框架比如dubbo,zuul,ribbon+Fegin,以及中间件Nginx本身就有重试机制等等。
  分布式主备机之间的通信也有很多重试机制。还有类似于高并发,比如淘宝的双十一,京东的618。
  那么我们该怎么测试这些呢?
  第一,从产品的业务逻辑设计和实现上,查看是否做了幂等,比如与时间戳进行幂等。
  第二,遇到支付这些业务的时候,跟多的需要考虑构造支付失败,检查失败之后的处理机制。
  第三,前端测试,通过快速点击,手动的难以实现,可以使用UI自动化手段进行实现。
  第四,后端接口调用。使用jmeter或者postman多次重复发送参数相同的请求,查看服务器返回给我们的response。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号