接口自动化测试面试题大全(合适各级软件测试人员)

前言

内容是很干货的!对我也很有帮助。本文仅做个分享~


因篇幅原因,还有很多Python自动化测试的面试题不能分享出来,我把面试题整理成文档了 

下面我们进入正题—接口自动化测试面试题

一、HTTP有哪些请求方法?

HTTP 共有如下7种请求方式,每种都可以发送 Header和 Body:
GET
POST
PUT
DELETE
OPTIONS
HEAD
PATCH
二、接口测试中依赖登录状态的接口如何测试?
依赖登最状态的接口,本质上是在每次发送请求时需要带上存储有账户有效信息的Session或Cookie才能发送成功,在构建POST请求时添加必要的Session或Cookie

三、get和post的区别?

    http是上层请求协议,主要定义了服务端和客户端的交互规格,底层都是tcp/ip协议
    Get会把参数附在url之后,用?分割,&连接不同参数,Get获取资源,post会把参数放置在http请求体中,Post发送请求数据
    Get产生一个tcp数据包,post产生两个tcp数据包
    Get请求,浏览器会把http header和data一起发送,服务器返回200响应码
    Psot请求,浏览器先发送header,服务器响应100(continue),然后再发送data,服务器返回200响应码
    Post的安全性比get高,如果浏览器缓存了,会把get参数留在缓存中,用户可以看到参数信息

四、http状态码302, 403, 503分别代表什么?

    302:临时重定向到某一个页面,比如要登录之后才能进入的页面,他首先会临时重定向到登录界面
    403:权限不够 服务器理解客服端的请求,但拒绝此请求
    503:服务端目前无法使用,过载或者维护中
    500:服务端异常
    404:请求失败,请求所希望得到的资源未被在服务器上发现
    401:请求身份验证
    1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理
    2XX系列:代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。
    3XX系列:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location
    域中指明。这系列中最常见的有301、302状态码。
    4XX系列:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。
    5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503状态码。

五、自动化测试怎么校验结果?

断言 ,预期结果与实际结果对比

数据库校验,根据测试场景来查询数据库里的数据和请求之前的数据进行比对。

六、post请求的四种参数形式是什么?

    Application/x-www-form-urlencoded:将参数以一组键对值的方式发送
    Multipart/form-data:支持单组和多组文件上传
    Application/json:根据后端接口的定义支持数据类型
    Text/xml

七、接口自动化测试的流程?

基本的接口功能自动化测试流程为:需求分析–>用例设计–>脚本开发–>测试执行–>结果分析

八、接口测试的常用工具有哪些?

    Postman
    JMeter
    SoapUI

九、HTTP接口的请求参数类型有哪些?

    查询字符串参数(Query String Parameters参数)一般用于GET请求,会以url string的形式进行传递
    请求体参数(Request Body)一般用于POST请求,可以使用Content-Type来指定不同参数类型

十、如何从上一个接口获取相关的响应数据传递到下一个接口?

先从上一个接口中的响应数据获取对应的返回值,然后使用正则表达式or使用JSON解析来提取需要获取的值,然后存储在一个变量中,最后在下一个接口中直接引用该变量即可

十一、接口测试用例的编写要点有哪些?

    必填字段:请求参数必填项、可选项
    合法性:输入输出合法、非法参数
    边界:请求参数边界值等
    容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
    响应数据校验:断言、数据提取传递到下一级接口…
    逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
    性能:对接口模拟并发测试,逐步加压,分析瓶颈点
    安全性:构造恶意的字符请求,如:SQL注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)

十二、接口测试中依赖登录状态的接口如何测试?

依赖登最状态的接口,本质上是在每次发送请求时需要带上存储有账户有效信息的Session或Cookie才能发送成功,在构建POST请求时添加必要的Session或Cookie

十三、依赖于第三方数据的接口如何进行测试?

可以利用一些MOCK工具(如:JSON Server、Easy Mock)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖





全部评论

相关推荐

03-15 14:55
已编辑
门头沟学院 golang
bg:双非学院本 ACM银 go选手timeline:3.1号开始暑期投递3.7号第二家公司离职顽岩科技 ai服务中台方向 笔试➕两轮面试,二面挂(钱真的好多😭)厦门纳克希科技 搞AI的,一面OC猎豹移动 搞AIGC方向 一面OC北京七牛云 搞AI接口方向 一面OC上海古德猫宁 搞AIGC方向 二面OC上海简文 面试撞了直接拒深圳图灵 搞AIGC方向一面后无消息懒得问了,面试官当场反馈不错其他小厂没记,通过率80%,小厂杀手😂北京字节 具体业务不方便透露也是AIGC后端方向2.28约面 (不知道怎么捞的我,我也没在别的地方投过字节简历哇)3.6一面 一小时 半小时拷打简历(主要是AIGC部分)剩余半小时两个看代码猜结果(经典go问题)➕合并二叉树(秒a,但是造case造了10分钟哈哈)一天后约二面3.12 二面,让我挑简历上两个亮点说,主要说的docker容器生命周期管理和raft协议使用二分法优化新任leader上任后与follower同步时间。跟面试官有共鸣,面试官还问我docker底层cpu隔离原理和是否知道虚拟显存。之后一道easy算法,(o1空间解决 给定字符串含有{和}是否合法)秒a,之后进阶版如何用10台机加快构建,想五分钟后a出来。面试官以为45分钟面试时间,留了18分钟让我跟他随便聊,后面考了linux top和free的部分数据说什么意思(专业对口了只能说,但是当时没答很好)。因为当时手里有7牛云offer,跟面试官说能否快点面试,马上另外一家时间到了。10分钟后约hr面3.13,上午hr面,下午走完流程offer到手3.14腾讯技术运营约面,想直接拒😂感受: 因为有AIGC经验所以特别受AI初创公司青睐,AIGC后端感觉竞争很小(指今年),全是简历拷打,基本没有人问我八股(八股吟唱被打断.jpeg),学的东西比较广的同时也能纵向深挖学习,也运气比较好了哈哈可能出于性格原因,没有走主流Java路线,也没有去主动跟着课写项目,项目都是自己研究和写的哈哈
北斗导航Compass低仿版:你们学校都这么牛的嘛,网上冲浪 认识了几个你们学校进大厂的
查看5道真题和解析
点赞 评论 收藏
分享
Dream_coding:你是不是只投大厂了
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客企业服务