前言
许多学生去参加接口测试方面的面试, 背了数量众多的理论知识, 然而一旦被问到实际操作, 再问到相关场景, 就立刻遭遇了失败的情况。
实际上, 大企业面试根本不会考查靠死记硬背得来的概念, 而只是考查, 你懂不懂运用, 可不可以检测出漏洞, 有没有能够落实的思维逻辑。
今儿, 去整理关乎面试方面那最高频、且通过率高高在上的接口测试对应标准答案, 所有内容, 都是面试官切实想听寻的思路, 只须直直背诵下来, 于面试之时, 便能妥妥虐翻80%的那些求职者!
一、什么是接口测试?为什么要做接口测试?(必问)
标准满分回答:
针对前后端交互、还有服务与服务之间的 API 接口测试时, 会对请求参数加以测试, 逻辑校验也进行测试, 数据返回同样要测试, 异常场景也在其测试范围之内。
相较于 UI 功能测试, 接口测试介入时间更早, 在前端页面尚未开发完成之际, 便能够着手开展测试, 如此一来, 能够提前察觉后端逻辑、数据库以及接口参数层面所存在的 bug, 进而降低后期需要进行修复所耗费的成本。与此同时, 接口的稳定性对页面功能的稳定性起着决定性作用, 它能够涉足诸多页面测试之时无法触及的深层问题。
二、接口测试的核心流程是什么?
标准满分回答:
首要的是, 去熟悉需求文档以及接口文档, 梳理出接口的请求方式、参数还有依赖关系, 其次呢, 要设计测试用例, 涵盖正常场景、异常参数、边界场景以及安全场景, 然后, 借助工具或者脚本去执行测试, 校验返回的数据、状态码以及业务逻辑, 最后, 联动数据库核对数据落库是否精准无误, 提交缺陷并且跟进回归。
三、Get和Post区别?面试不要只答传参方式!
高分进阶回答:
1、传参有不一样的方式, Get的时候参数是拼接在URL的后面, Post的情况下参数则是放置在请求体当中。
2、安全性存在差异, Get参数以明文形式呈现, 能够被直接看见, 所以存在信息泄露的风险, 而Post方式在安全性方面相对而言更加可靠。
3、数据长度存在限制: Get存在URL长度方面的限制, 这种情况适合进行小数据的查询, Post不存在这样的限制, 其适合用于提交表单、提交文件。
4、缓存特性:Get会默认缓存请求数据,Post不会缓存;
5、幂等性方面, Get请求其天然具备幂等特性, 多次发起该请求其结果会保持一致, 而Post请求并非幂等, 要是重复进行提交的话就有可能产生脏数据。
四、什么是接口幂等?怎么测试幂等性?(高频压轴题)
标准答案:
幂等性所表达的是同一个请求在进行多次重复递交的情况下, 最终的业务结果会保持一致, 不会出现产生多条脏数据的情况。其核心场景包含下单, 支付, 退款, 充值接口。
测试方法:

1、快速重复点击、批量重发请求;
2、使用抓包工具拦截请求,重复发送数据包;
3、利用接口自动化, 进行循环请求, 以此来校验数据库, 是否存在重复生成订单的情况, 以及是否存在重复扣款的状况。
五、什么是接口越权测试?你怎么测?
标准答案:
越权分为水平越权和垂直越权,是接口测试核心安全场景。
水平越权:同权限用户,A用户篡改参数查看/操作B用户数据;
垂直越权:低权限用户,越权操作高权限管理员接口。
检查做法如下, 将Token进行替换、把用户ID展开并予以更替、对资源ID做篡改处理, 随后验证接口是不是会中止非法请求, 要是没被截住那就表明存在越权方面的漏洞。
六、接口报错4xx、5xx常见原因?
面试精简版:
4xx客户端出现错误, 参数存在错误, Token已经过期, 权限有所不足, 请求地址出现错误。
在5xx服务端错误当中, 涵盖了代码空指针这种情况, 存在数据库异常这种状况, 出现了服务器宕机这种现象, 还有接口逻辑bug这种问题。
七、如何做接口关联?举个项目场景
满分场景回答:
项目里边好多接口存有依赖关联, 就像登录接口返回的是Token, 接下来下单、查询订单时都得携带Token去请求。我将要借助工具或者脚本提取前面一个接口的返回参数, 设定成全局变量, 后续的接口直接拿来引用, 达成接口自动关联以及批量执行。
总结
在进行接口面试时, 所考查的并非是背诵内容, 而是对于场景的理解以及落地的能力。以上这些全部都是企业面试当中的高频原题, 要是能够熟练掌握这套标准答案的话, 便足以应对百分之九十的中级测试接口面试, 进而能够轻松地拿下高薪offer。
互动提问
你面试接口题经常卡在哪一题?评论区告诉我!
Copyright © 2018 All Rights Reserved 版权所有 宁国人才网 苏ICP备2024139598号-6
地址:安徽省合肥市瑶海区 EMAIL:
Powered by PHPYun.