This application provides an idempotent validity test method, device and device, and readable medium. The method includes: acquiring idempotent fields contained in the entity object to be tested; the idempotent fields are fields that the entity object is intended to process for realizing idempotency; and constructing at least two tests based on the obtained idempotent fields. Trial cases; the constructed test cases carry the same idempotent field; execute the constructed test cases separately; determine whether the entity object idempotency is valid based on the execution results of each test case. Implementing this application, based on the idempotent fields that the entity object to be tested is supposed to deal with in order to achieve idempotency, a number of test cases with the same idempotent fields are constructed. According to the execution results of each test case, it can quickly determine whether the entity object performs idempotent processing for the same test cases with the same idempotent fields. Then it can determine whether the entity object can realize idempotency.
【技术实现步骤摘要】
幂等有效性测试方法、装置及设备、可读介质
本申请涉及计算机
,尤其涉及幂等有效性测试方法、装置及设备、可读介质。
技术介绍
实际应用中,很多业务需要实现幂等性,即避免重复操作对系统造成重复影响。以进行账务转入或转出处理的业务处理方为例,业务处理方可以应业务请求方的业务请求,为业务请求方提供对应的业务处理。在处理完成后,业务处理方发送的处理结果,由于网络延迟等原因,可能无法及时送达业务请求方。因此,业务请求方可能会再次向业务处理方发起同样的业务请求(即重复请求)。面对业务请求方的重复请求,业务处理方要实现幂等性,即避免因业务请求方的重复请求,发生重复的业务处理,进而保证用户的资金安全。为了实现幂等性,现有技术的常用做法是通过幂等校验系统,在业务处理方的数据库中针对每次业务请求建立唯一性约束,例如:在数据库中建立幂等表,每次处理业务请求之前,均要求将该业务请求的某种唯一标识信息(例如“业务请求单号”、“业务请求单号+业务类型”、“业务请求单号+业务请求来源”等)插入幂等表,如果插入成功,说明业务处理方是第一次处理该业务请求,则继续正常的业务处理流程;反之如果插入 ...
【技术保护点】
1.一种幂等有效性测试方法,包括步骤:获取待测试的实体对象中包含的幂等字段;所述幂等字段是所述实体对象为实现幂等性预定进行处理的字段;基于获取的幂等字段构建至少两个测试用例;构建的各测试用例携带的幂等字段相同;分别执行构建的各测试用例;基于各测试用例的执行结果确定所述实体对象的幂等性是否有效。
【技术特征摘要】
1.一种幂等有效性测试方法,包括步骤:获取待测试的实体对象中包含的幂等字段;所述幂等字段是所述实体对象为实现幂等性预定进行处理的字段;基于获取的幂等字段构建至少两个测试用例;构建的各测试用例携带的幂等字段相同;分别执行构建的各测试用例;基于各测试用例的执行结果确定所述实体对象的幂等性是否有效。2.根据权利要求1所述的方法,所述获取待测试的实体对象中包含的幂等字段,包括:对所述实体对象进行拦截;对拦截出的实体对象进行解析,解析出带有预定的注解标签的字段为幂等字段。3.根据权利要求2所述的方法,所述幂等字段为满足关联的数据库的唯一性约束条件的幂等标识。4.根据权利要求1所述的方法,在执行每个测试用例时,基于每个测试用例所携带的测试参数,构建携带有所述幂等字段的测试请求,向所述实体对象发送构建的每个测试请求,并接收所述实体对象针对每个测试请求返回的处理结果。5.根据权利要求4所述的方法,所述基于各测试用例的执行结果确定所述实体对象的幂等性是否有效,包括:如果接收的处理结果表明两个以上的测试请求被处理,则确定所述实体对象的幂等性无效;如果接收的处理结果表明仅一个测试请求被处理,则确定所述实体对象的幂等性有效。6.根据权利要求4所述的方法,如果接收的处理结果表明发送的第一个测试请求未被处理,所述方法还包括以下步骤:基于获取的幂等字段重新构建至少两个测试用例;重新构建的测试用例携带的幂等字段相同,且与已执行的测试用例携带的幂等字段不同;重复分别执行重新构建的各测试用例、基于各测试用例的执行结果确定所述实体对象的幂等性是否有效的步骤。7.根根据权利要求1所述的方法,除携带的幂等字段相同外,各测试用例携带的其他信息各不相同。8.据权利要求1至7中任一项所述的方法,所述实体对象为具有以下至少一项功能的应用软件:支付,代扣,理财,提现。9.一种电子设备,包括:处理器;存储处理器可执行指令的存储器;其中,所述处理器耦合于所述存储器,用于读取所述存储器存储的程序指令,并作为响应,执行如下操作:获取待测试的实体对象中包含的幂等字段;所述幂等字段是所述实体对象为实现幂等性预定进行处理的字段;基于获取的幂等字段构建至少两个测试用例;构建的各测试用例携带的幂等字段相同;分别执行构建的各测试用例;基于各测试用例的执行结果确定所述实...
【专利技术属性】
技术研发人员:周涛明,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。