一、接口测试基础面试题
1.什么是接口?
接口统称为API,比如微信提现和充值,支付宝支付,银联支付等接口。(鉴权码:token,key,appkey)。
接口包括:外部接口和内部接口。
内部接口:开发自己开发的对自身系统提供的接口。
外部接口:开发系统调用外部的其他接口。
2.软件为什么需要接口?
接口可以让内部的数据被外部修改
3. 我们为什么需要做接口测试?
- 针对与前后端分离的项目,由于开发的进度不一样,需要进行接口测试
- 针对于安全考虑,前端验证很容易跳过,需要进行测试
- 测试推崇的是测试左移,测试应该尽早的介入
接口测试的本质:就是测试接口是否能正常的交互数据,权限控制以及异常场景
二、接口返回数据JSON
JSON是由键值对的数据组成
{
"error_code": 0,
"msg": "成功",
"data": [
{
"username": "zhangsan",
"password": "123456"
}
]
}
三.接口的协议
http协议:接口地址:http://
https = http + ssl安全传输协议 端口:443
http:端口80
1.什么是http协议
http协议主要用于浏览器和服务器之间的数据交互:
请求:get,post,put,delete
响应:XX信息,XX成功,XX重定向,XX客户端错误
请求部分包括:
- 请求行:请求地址,请求协议,协议
- 请求头:
- Accept:客户端可以接收的数据格式
- X-Requested-With:异步请求
- User-Agent:客户端的用户
- Host:请求的主机的地址
- Cookie:请求cookie信息
- 请求体
响应部分:
- 响应行:协议,响应码,响应信息
- 响应头
- 就是对请求头的响应 最重要的数据就是set-cookie:响应的cookie信息
- 响应体
四 . 软件的测试流程和方案
- 拿到api接口文档,熟悉业务接口,接口地址,鉴权,入参,出参,错误码
- 接口计划和方案:
思路:
正例:正常的入参,查看是否成功
反例:
鉴权反例:鉴权为空,鉴权码错误,鉴权码过期
参数反例:参数空,参数类型异常,参数长度异常,错误码的覆盖。
其他场景:分页异常
3.编写用例和评审
4.执行接口测试
5.输出接口测试报告