• 幂等测试


    1.什么是幂等

    • 数学

           f(n) = 1^n  就是一个幂等函数

    • 编程

           任意多次执行所产生的影响与一次执行相同,不用担心重复执行会对系统造成改变

    2.为什么要做幂等

    • 故障:

         保底系统因为线上swallow消息重复发送,产生了三个线上问题:
        a、ts-treasure-pool大面积告警,全部为db主键冲突的错误。
        b、同一笔保底抵扣数据,在归还保底时当做两笔进行归还,影响总数据量1500笔左右。
        c、同一笔保底申请审核通过后,被当做两笔审核通过进行了保底占用和预付款生成,共9笔。

    3.什么时候要做幂等

    • 场景:

        同样的请求可能需要重试(或可能被重复调用)的情况
        按业务场景做针对性判断,利益相关型业务(支付、结算等)

    • 接口类型:

         PegionService 接口
         Swallow消费机
         Http接口

    4.如何做到幂等

    • 一般情况下:利用唯一交易号(或流水号)实现

             eg1:创建统一订单  case337

    • eg2:更新订单可用数量  case2178

            eg3: 支付成功后消耗抵用券 PCT_CouponConsume

                   幂等要做到:
                        1、同一个OutBizID,多次消耗该抵用券的结果都是成功。
                        2、但对于一个CouponID,只能被消耗一次,如果换一个OutBizID来调用时应该始终返回失败。

    5.如何测试幂等

    • 方法

         可在iTest上新增待测Pegions接口、Http接口、发送指定topic的swallow消息的幂等测试用例,重复执行来模拟多次调用

    • 检查点

          检查接口返回的Response是否幂等
          检查对数据库数据的变更影响是否幂等

  • 相关阅读:
    记我安装Caffe的血泪史(1)
    UWP连接mysql 实现数据远程备份
    数据库性能测试
    性能瓶颈分析定位
    系统安全性测试
    WEB安全性测试点
    jmeter测试报告分析
    Linux常用命令大全
    软件测试入门到飞升上仙之客户端
    软件测试入门到飞升上仙之web 端测试
  • 原文地址:https://www.cnblogs.com/summer-sun/p/5532633.html
Copyright © 2020-2023  润新知