面经 | 接口测试
一、接口测试
(一)你们公司的接口测试流程是怎样的?
- 测试前:
- 接口测试计划制定
- 接口测试用例和数据的准备
- 接口测试环境准备
- 编写接口测试脚本
- 测试前准备操作
- 测试脚本调试
- 接口测试内容制定
- 测试中:
- 接口测试的执行策略(包括执行轮次和顺序)
- 接口测试执行过程监控到失败后的重试
- 线上只读接口的测试
- 测试后:
- 测试后产生垃圾数据的清除
- 测试失败原因分析
- 接口测试bug的提交和回归验证
- 线上监控到紧急bug的验证
- 接口测试后复盘总结
(二)接口测试如何设计测试用例?
接口测试一般考虑入参形式的变化和接口的业务逻辑,一般设计接口测试用例采用等价类、边界值、场景法居多!
接口测试设计测试用例的思路如下:
1.接口业务逻辑测试?(正例)
接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值
是否正确的测试,也就是测试对外提供的接口服务是否正常工作。
2.模块接口测试?(反例)
模块接口测试是为了保证数据的安全及程序在异常情况下的逻辑的正确性而进行的测试。
模块接口测试的主要包括以下几个方面:
(1)鉴权码token异常(鉴权码为空<没有鉴权码>,错误的鉴权码,过期的鉴权码)。
(2)其他参数异常。
-
必填项检查,参数的长度、类型、格式异常:
-
常规参数:(数字、字符串、日期)
-
参数长度:6-18位。或身份证、电话的长度
-
参数类型:数字(精度),字母,中文,带空格的参数,特殊字符
-
日期格式:日期:年月日,年月日时分秒,日期格式(包括/,-,:等)
(3)错误码异常覆盖。
(4)接口测试其他的关注点:
-
接口有翻页时,页码与页数的异常值测试
-
数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才的post一致
-
接口返回的图片地址能否打开,图片尺寸是否符合需求
-
当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求
-
所有列表页接口必须考虑排序值
-
所有功能都要考虑兼容旧版本
(三)接口测试中有哪些要注意的测试点?
1.接口中返回了图片地址,要手工去进行图片的测试(大小、内容)
2.接口完成查询功能的时候,数据返回的排序显示
3.接口测试的时候,关注参数的默认值、必填项
(四)接口测试里面如何分析一个BUG是前端还是后端的问题?
抓包看请求报文,对着接口文档,看请求报文有没有问题,有问题就是前端发的数据不对;
请求报文没问题,就看返回报文,返回的数据不对,就是后端开发的问题。
(五)接口测试经常出现BUG?
常规错误,接口没实现,没按照预定返回结果,边界值出错等。