接口测试常见面试题总结

1、目前市面上流行的接口大多有哪几种协议的接口?
答:http https dubbo rpc(远程调用协议) 等即可。

2、接口的请求方式有哪几种?
答:get post put delete head Trace opions 等,大多以 get 和 post 请求为主

3、为什么要做接口测试?
可以发现很多在页面上发现不了的bug。
检查系统的异常处理能力。
检查系统的安全性、稳定性。
前端随便变,接口测好了,后端就可以不用变了。
可以更早时候的进行接口测试
接口测试是一个完整的体系,也包括功能测试、性能测试和安全性测试。

4、什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。–百度百科
通俗的说,就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求。

5、get 和 post 区别是什么?
答:
POST 和 GET 都是向服务器提交数据,并且都会从服务器获取数据。
区别:
(1) 传送方式:get 通过地址栏传输,将提交的数据放在URL之后,以?分割URL和传输数据,post 通过报文传输,把提交的数据放在HTTP包的Body中。故而 post 更相对来说安全一点
(2) 传送长度:get提交的数据大小有限制(因为浏览器对URL的长度有限制),而post方法提交的数据没有限制.
(3) get 请求参数会被完整保留在浏览历史记录里,而 post 中的参数不会被保留
(4) GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。
(5) get 方式大多用作查询接口,获取响应数据;而 post 方式更多做数据添加、修改或 删除等操作

6、post 请求的参数类型有哪几种?
• application/json json 字符串
• application/x-www-from-urlencoded 表单传递
• multipart/form-data 指定传输数据为二进制数据,例如图片、mp3、文件

7、cookie 和 session 的区别
• cookie 数据存放在客户的浏览器上,session 数据放在服务器上
• cookie 不是很安全,别人可以分析存放在本地的 cookie 并进行 cookie 欺骗,考虑到安 全应当使用 session
• session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考 虑到减轻服务器性能方面应当使用 cookie
• 单个 cookie 保存的数据不能超过 4K,很多浏览器都限制一个站点最多保存 20 个 cookie
• 可以将登陆信息等重要信息存放为 session;其他信息需要保存,可以放在 cookie

8、请求接口中常见的返回状态码
参考地址:

https://blog.csdn.net/weixin_30641465/article/details/95179923

答:
1xx – 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个 1xx 响应)
2xx – (请求成功)表示成功处理了请求的状态代码。
3xx – 请求被重定向)表示要完成请求,需要进一步操作。。
4xx – 客户端错误(请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。
5xx – (服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
常见的有:
• 200 OK:服务器成功返回用户请求的数据
• 201:(已创建) 请求成功并且服务器创建了新的资源。
• 202:(已接受) 服务器已接受请求,但尚未处理。进入后台排队,相当于异步处理。
• 301:(永久移动) 请求的网页已永久移动到新位置。
• 302:(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
• 303:建议客户访问其他 URL 或访问方式
• 304:客户端已经执行了 GET,但文件未变化
• 400 :(错误请求) 服务器不理解请求的语法。
• 401:(未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
• 403 :(禁止) 服务器拒绝请求。
• 404:(页面不存在) 服务器找不到请求的网页。
• 500:(服务器内部错误) 服务器遇到错误,无法完成请求。
• 502:(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
• 504:网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。

9、接口测试用例如何进行设计?
• 针对输入,可按照参数类型进行设计,参数是否必填,参数之间是否存在关联,参数数据类型限制,参数数据类型自身的数据范围值限制;
• 针对接口处理,可按照逻辑进行用例设计;
• 针对输出,可根据结果进行分析设计。

10、如何区分是前端的问题还是后端的问题
答:
• 检查接口,前端和后台之间是通过接口文件相互联系的,需要查看接口文件
检查请求的数据是什么,反馈的数据又是什么
• 页面可以直接 F12,或者抓包查看。如果发送的数据是正确的,但是后台反馈的数据是不 符合需求的,那就是后台的问题;如果前端没有请求接口或请求的时候发送数据与需求不符,那这个时候就是前端的问题了。
如果发送的数据是正确的,后台反馈的数据正确,前端提示错误,也是前段的问题。

11、接口测试中,下游接口需要依赖上游接口的数据,该如何处理?
答:在工具中可以使用全局变量等方式将需要的数据进行传送,或者使用对响应数据进行 提取,传给下游接口。

12、依赖第三方数据的接口如何进行测试?
答:可以使用 fiddler 进行调用接口时预设期望响应,mock 返回自己设置的响应数据, 最大限度的降低对第三方数据接口的依赖

13、若请求的接口需要先登录后方可请求,如何进行接口测试?
答:请求登录接口获取返回的响应头,或者响应信息中的数据,cookie,token,session 等,传递给依赖登录接口的请求头中,发起请求即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值