1.为什么要做接口测试
(1)现在大多系统都是前后端分离的项目,前端和后端的进度可能不一样,那为了尽早的进入测试,前端界面没有开发完成的情况下,只要后端的接口开发完了,就可以提前做接口测试了;
(2)基于安全考虑,只依赖前端进行限制,已经完全不满足系统的安全性要求了,毕竟绕过前端验证太容易了,所以我们还要做后端验证,也就是说要在接口层面验证
2.你们公司的接口测试是怎么做的?
接口测试流程
(1)分析需求,产生需求文档(产品)。
(2)(开发产生接口文档)解析接口文档。
(3)产生 接口测试用例(送审)。
(4)执行 测试用例
工具:postman、jmeter、fidller
代码:python + Requests +pytest
(5)提交、跟踪缺陷。
(6)生成 测试报告。
(7)(可选)接口自动化持续集成!
3.接口测试遇到的bug多不多,请举几个例子
接口测试常见的bug可以分为多个方面,以下是一些详细的例子和归纳:
一、参数校验相关
参数缺失或错误:
例子:接口要求传入用户ID和金额,但调用时只传入了用户ID,导致接口返回错误。
归纳:测试时应确保所有必填参数都已传入,并且参数的类型和值符合预期。
特殊值处理不当:
例子:接口在处理金额为0或负数的请求时,未进行特殊处理,导致业务逻辑错误。
归纳:测试时应关注特殊值(如0、负数、空字符串等)的处理逻辑,确保接口能够正确处理这些值。
数据类型溢出:
例子:当接口接收的整数参数超过其表示范围时,可能导致数据溢出,影响业务逻辑。
归纳:测试时应关注数据类型溢出的问题,确保接口能够正确处理边界值和超出范围的值。
二、业务逻辑相关
逻辑校验不完善:
例子:接口在处理用户充值请求时,未对用户余额进行校验,导致用户余额出现负数。
归纳:测试时应关注业务逻辑校验的完整性,确保接口能够正确处理各种业务场景和异常情况。
状态处理不当:
例子:接口在处理订单状态时,未正确处理订单已支付和已取消的冲突状态,导致订单状态混乱。
归纳:测试时应关注状态处理逻辑的正确性