接口测试重点小计

接口测试在日常测试中也是比较重要的部分,但是由于测试的不可穷尽性,在很多互联网公司都是采用风险驱动的模式,有侧重性的去选择测试方法~~

日常接口遇到的常见问题:

1、接口逻辑校验性不完整

2、入参输入与接口所需参数不符,造成程序错误

3、对象校验出错,获取信息错误,校验不上

4、定时任务出错

5、类型溢出,导致读取和写入不一致

6、状态出错,导致逻辑处理出现问题

7、接口execute前未对前置条件信息进行校验

.........

接口用例设计层面:

一、接口输入层面(入参类型)

字符串:

1、空字符

2、特殊字符

3、主要考虑字符串长度和字符串的内容

json:

1、字段类型错误

2、fastjson、jackjson

3、字段错误

4、未包含及缺失字段

数值型:

1、边界值、边界外、边界内三方面

2、特殊值处理不当程序异常、类型边界溢出、错误信息返回不正确

数组链表:

1、重复值

2、空值

3、最大范围值

二、接口逻辑层面

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

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

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

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

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

栗子:

针对状态转换分析

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

以上为实际工作遇到的业务场景,此处每一次流程往下流转的节点,都有一个Status也会根据不同的节点状态也会发生改变,接口之间相互依赖关联,因为是toc的系统所以对接口的坚韧性和可用性都会有较高的要求,对测试而言也需要模拟不同的异常场景,来覆盖接口逻辑

接口设计可以这样:

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

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

三、输出结果层面

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

接口超时

1、旧版本接口

2、废弃接口

3、接口设计是否合理,比如字段冗余、接口冗余、返回错误信息是否清晰明了、调用是否方便

4、幂等性

下面来看一下请求结构图,理解一下HTTP的URL是怎么组成为一个接口的

 

posted @ 2020-03-30 10:59  Minet米奈  阅读(235)  评论(0编辑  收藏  举报