背景说明
一个系统可为其他系统提供能力或者直接为UI层提供数据,在设计系统测试方案时应考虑上游调用的各种场景,不仅考虑顺利且正向思维操作的场景,还应逆向的场景。例如:人为操作造成的不合理数据、服务错误的调用、请求时由于网络等环境原因造成的异常。但在此之前,也应考虑系统本身稳定性和规范性,应从本身定义约束。定义自身规范,不仅可从一方面保证系统稳定,同时有了自身的介入规范更适用于多业务接入,而不是单独承接某一上游。系统稳定和规范会规避后续更多的BUG。换句话来说,使用契约式设计的方式,运行前条件必须满足,参数不正确不可运行;运行中内部状态必须不变;运行后结果必须保持一致。
在设计接口用例设计时,除实现功能外,应关注:幂等性、空校验、流程节点限制、异常校验。
01 幂等性
何为幂等性?
幂等为一数学概念,指使用相同参数重复执行,能获取相同结果。换句话说,幂等性就是调用一次成功后,再次调用后仍返回原来结果,即使调用100次后结果都相同。
如何使接口幂等性?
首先引入一个概念—唯一索引,一句话介绍:数据表中每个唯一索引对应的数据记录只会有一条。当第一次调用生成唯一一条记录时,再次调用时,接口内部应前置根据唯一索引进行查询,如果发现存在记录直接返回查询结果,不进行后续操作。例如:调用创建支付单接口会创建一条支付单数据落入支付单数据表,我们定义调用方字段A和调用流水标识字段B为唯一索引,当然接口参数中包含这两个字段。当再次调用接口时