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

一、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)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖

#牛客在线求职答疑中心#
全部评论

相关推荐

- 项目拷打(自己项目问了个遍)- Linux如何查看项目日志?如何查看进程id?- Java相对于c、c++、python等有什么区别?- 什么是继承、方法重载与重写、抽象类?- static、final关键字的作用?- Java8大基本类型?- ArrayList和LinkedList区别?List中如何查找重复元素?- HashMap的应用场景、扩容机制?- 有用过枚举吗?try catch的使用?- String能被继承吗?常用的String方法?- StringBuilder和StringBuffer的区别?- synchronized的作用?ReentrantLock的区别?- 什么是乐观锁?什么是ABA问题,如何解决的?- 什么是死锁?如何解决死锁?- 什么是线程,什么是进程,创建线程的方式?- 线程的状态有哪些?如何从就绪到阻塞状态?- 排好序的数组如何找元素?(二分查找)二分查找的思路?- 快排和冒泡的时间复杂度?- 设计递归要考虑的因素有哪些?- MySQL的版本以及存储引擎?- b+树和b树、hash索引有什么区别?- 设计一个索引要考虑的因素有哪些?- 联合索引了解吗?- 讲讲TCP的四次挥手?服务器端先断开连接吗?- 基于TCP的协议有哪些?基于UDP的协议有哪些?- http和https的区别以及他们的端口号?- http的请求方式都有哪些?响应状态码都有哪些?请求头有哪些?- 你了解的中间件?(RabbitMQ ES Nginx)- 反问
点赞 评论 收藏
转发
10 76 评论
分享
牛客网
牛客企业服务