接口测试用例设计

接口测试用例设计接口测试发现的典型问题传入参数处理不当,引起程序错误类型溢出,导致数据读取和写入不一致对象权限校验出错,可获取其他角色信息状态出错,导致逻辑处理出现问题逻辑校验不完善定时任务执行出错用例设计针对输入进行设计对于接口来说,输入就是入参,一般的参数类型:数值型①边界内、边界值、边界外三个方面去考虑②特殊值处理不当程序异常、类型边界溢出、错误信息返回不正确字符串①主要考虑字符串长度和字符串的内容②空、特殊字符、数字、表情符号数组链表多个重复值、空、最大范围值

大家好,欢迎来到IT知识分享网。接口测试用例设计

接口测试发现的典型问题

  • 传入参数处理不当,引起程序错误
  • 类型溢出,导致数据读取和写入不一致
  • 对象权限校验出错,可获取其他角色信息
  • 状态出错,导致逻辑处理出现问题
  • 逻辑校验不完善
  • 定时任务执行出错

用例设计

针对输入进行设计

对于接口来说,输入就是入参,一般的参数类型:

数值型

  • ① 边界内、边界值、边界外三个方面去考虑
  • ② 特殊值处理不当程序异常、类型边界溢出、错误信息返回不正确

字符串

  • ① 主要考虑字符串长度和字符串的内容
  • ② 空、特殊字符、数字、表情符号

数组链表

  • 多个重复值、空、最大范围值

结构体:json、字典

  • 字段错误,字段类型错误、未包含字段、缺失字段

针对逻辑进行设计

  • 限制条件

① 数值类型限制,比如购买次数、登录次数、优惠券最大面额、订单取消次数等

② 状态限制:比如是否登录、是否有订单等

③ 关系限制:比如好友关系、关注关系,只能查看好友或者关注人的朋友圈

④ 权限限制:比如销售只能查看和自己绑定客户数据,而管理员可有查看所有客户数据

⑤ 时间限制:比如未支付过20分钟订单自动取消

  • 状态转换分析

比如一个出租车订单,从乘客下单、司机抢单、到达起点、接上乘客、到达目的地,发起支付,支付,评价这是一个完整的订单状态转换流程,必须按照这个次序,才能正确流转,一旦打乱其中任何一个状态,就会出现逻辑问题。

接口用例可以这样设计:

① 正常状态迁移:乘客下单,司机抢单,

② 异常状态迁移:乘客刚下的那,司机发起支付,出现异常

针对输出进行设计

  • 针对输出结果

一般情况下,接口正常处理的结果可能只有一个,但是异常的处理结果,可能会返回多种错误,那就可以针对不同的错误进行设计

  • 接口超时
  • 旧版本接口
  • 废弃接口
  • 接口设计是否合理,比如字段冗余、接口冗余、返回错误信息是否清晰明了、调用是否方便
  • 幂等性

幂等性是分布式环境下常见的问题;幂等性指的是多次操作,结果是一致的。(多次操作数据库数据是一致的。)
常见的解决幂等性的方式有以下:
1.唯一索引:保证插入的数据只有一条;
2.token机制:每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token
3.悲观锁或者乐观锁:悲观锁可以保证每次for update的时候其他sql无法update数据(在数据库引擎是innodb的时候,select的条件必须是唯一索引,防止锁全表)【分布锁思路】
4.先查询后判断:首先通过查询数据库是否存在数据,如果存在证明已经请求过了,直接拒绝该请求,如果没有存在,就证明是第一次进来,直接放行。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14978.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信