当前位置: 首页 > news >正文

2024年接口测试高频面试题及答案

1. 什么是接口测试?

    •接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求    •测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系

2. 为什么要做接口测试/接口测试有哪些优势?

    •可以发现UI页面上发现不了的bug    •检查系统的安全性、稳定性    •越底层发现bug,它的修复成本是越低的    •检测系统异常处理的能力    •提前介入测试,提升测试效率

3. 请问你们公司是如何做接口测试的?

    •需求分析

        •对于产品的需求进行认识和理解,这一块主要了解接口 业务逻辑、业务关联

        •Api文档分析与评审

    •主要分析:请求和响应    •请求:

        •请求url是否合理        •请求信息头是否明确        •请求方法是否合理        •请求参数是否必填、含义、参数方式是否明确

        •响应:

    •响应状态码    •响应数据格式    •响应信息头    •异常返回信息和错误代码是否合理

    •测试计划编写

•测什么、谁来测、怎么测、风险预测及进度控制

    •用例设计与评审

•根据接口业务、接口信息编写接口用例•与产品、开发一起评审用例

    •测试环境准备

•例如测试工具:Postman、jmeter安装•接口服务的环境(大部分开发进行部署)

    •执行用例

•按照接口用例执行

    •缺陷管理

•记录发现的缺陷,开发完成之后进行回归验证

    •测试报告

•编写本次测试报告,发送给相关人员

重点说明:

•接口测试重点是:接口文档分析、用例设计•回答问题时,需要有重点,例如 接口文档分析、用例设计使用了哪些些方法、遇见什么问题,如何解决的(接口数据存在关联,工具里面如何做的关联)

4. 怎么设计接口测试用例?

参考下图:

 •接口业务逻辑测试

接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值 是否正确的验证,需要覆盖到接口实现的所有业务场景。

    •其他测试点

•例如需要登录状态(以token为例,token为空、错误的token、失效的token)。

    •参数异常情况

•必填项验证•参数的长度、类型、格式异常:•常规参数:(数字、字符串、日期)•参数长度:6-18位。或身份证、电话的长度。•参数类型:数字(精度),字母,中文,带空格的参数,特殊字符、NULL。• 日期格式:年月日,年月日时分秒,日期格式(包括/,-,:等)。

    •错误码异常覆盖    •其他的关注点补充

•接口有翻页时,页码与页数的异常值测试•数据库的增删改查后,接口数据是否保持一致性•类似文件地址接口,需要查看返回的地址是否可以打开下载•所有列表页接口必须考虑排序值•所有功能都要考虑兼容旧版本

面试回答说明:需要逻辑清晰,建议按照图片分类回答,先回答大的分类,再具体到每个细节

5. 没有接口文档如何做接口测试?

    •首先去跟开发沟通,是否真正没有编写接口说明文档或者存在相关的设计文档,如果真是没有,可以推动一下是否可以进行补充(站在开发的角度进行沟通)    •如果存在前端界面,通过抓包工具进行抓包,整理出接口相关信息,与开发进行沟通是否存在遗漏    •不存在前端界面,有代码能力,直接去查看开发代码实现,获取接口信息    •将整理的接口信息,编写出对应的接口测试用例    •使用接口测试工具,执行测试用例,例如:Postman或Jmeter    •记录测试结果,存在问题及时与开发沟通    •提交缺陷,开发修改之后进行回归测试    •测试完成提交测试报告    •做接口测试项目复盘,主要推动开发对接口文档重要性

6. 常用的接口测试工具?

    •Postman    •Jmeter    •Fiddler    •Apifox    •通过代码进行,例如 python+request、java+httpclient

7. 怎么区分bug是前端还是后端的bug?

    一般我会使用抓包工具进行抓包,获取前端和后端的数据交互过程

    •查看前端发送的请求数据是否正确(请求url、请求头、请求参数),如果前端参数存在问题,这个可以确定前端肯定存在问题(不能确定后端不存在问题,需要使用正确参数进行验证)    •前端请求参数没有问题,查看后端响应的数据是否有问题,如果后端数据存在问题,那就是后端问题    •最后一种,前端参数和后端请求都没有问题,这时候可以考虑前端是否做了数据转换(格式化),大概率是这里面处理出问题(曾经一个数值问题,由于前端在对数值转换处理出问题)

8. 接口之间数据依赖如何处理?

    •直接举例接口测试使用的工具里面实现    •参考(Posman):

    •在前置接口中提取要传递的数据保存到全局变量或者环境变量    •在后续接口,直接使用保存在全局变量或环境变量中的参数值

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

    •通过mock工具模拟第三方返回

10. 你平常做接口测试的过程中发现过哪些bug?

    •一般错误:接口没实现,没按约定返回结果,边界值处理问题等    •输入异常值(空值、特殊字符、超过约定长度等)    •输入错误的参数,多输入,少输入参数    •安全性问题,如明文传输、返回结果含有敏感信息,没对用户身份信息做校验,没有恶意请求拦截等    •性能问题,如接口并发插入多条相同操作,响应时间过长,接口压测出现瓶颈等    •例如:一个管理员删除操作,前端界面非管理员不显示删除按钮,通过接口可以使用非管理员进行删除

11. 当接口出现异常时候,你是如何分析异常的?

    •一种方案使用工具(fiddler)抓包,查看请求报文和返回报文    •第二种:web端直接使用浏览器 F12界面的Network,查看请求报文和返回报文    •如果是后端问题,查看后端日志

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

相关文章:

2024年接口测试高频面试题及答案

1. 什么是接口测试? •接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求 •测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系 2. 为什么要做接口…...

ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(8)

接前一篇文章:ESP32-C3在MQTT访问时出现“transport_base: Poll timeout or error”问题的分析(7) 前边几回分析了笔者在MQTT测试时所遇到的问题: 最终定位到了是由于components\components\tcp_transport\transport_ssl.c的base_poll_write函数中调用的select函数超时返回…...

Linux: 忘记密码的解决方法,passwd

https://www.redhat.com/sysadmin/recover-root-passwd 这里的方法很简单,就是通过console进去,添加一个启动参数,加载sysroot,然后用passwd命令修改密码。这个是RHEL7适用。 https://access.redhat.com/solutions/1192 这个是提…...

36. 有效的数独【 力扣(LeetCode) 】

一、题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图…...

机器学习中的没有免费午餐定理

嘿,各位机器学习的爱好者们!今天,让我们一起深入探讨机器学习中那个神秘而又重要的概念——没有免费午餐定理。 一、定理引入:探索算法森林的钥匙 在广阔无垠的机器学习领域中,免费午餐定理就如同一把神奇的钥匙&…...

高级java每日一道面试题-2024年8月21日-框架篇[Spring篇]-使用IOC容器应该注意哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 使用IOC容器应该注意哪些? 我回答: 1. 理解IOC的基本概念 控制反转:在传统的编程模式中,程序会主动控制依赖关系的创建和管理。而在IoC容器中,这种控制权被反转给了容器本身。程序员只需要声明…...

LLM训练推理相关概念

1. 有监督微调(Supervised Fine-Tuning)与指令微调(Instruction Fine-Tuning)对模型参数的影响 **有监督微调(Supervised Fine-Tuning, SFT)和指令微调(Instruction Fine-Tuning, Instruct-Tun…...

IP in IP 协议

IP in IP 是一种多重IP协议,即:客户机可以发送一个IP协议内部在嵌套一个IP协议到某个特定的主机上,在由具体的主机作为路由进行转发的协议。 例如: IP in IP帧协议结构为,第一层为发送到IP in IP 路由主机的报文&…...

DAY2: HTTP请求报文和响应报文是怎样的,有哪些常见的字段?| HTTP有哪些请求方式?| GET请求和POST请求的区别

目录 HTTP请求报文和响应报文是怎样的,有哪些常见的字段? 请求报文 响应报文 HTTP有哪些请求方式? GET请求和POST请求的区别 HTTP请求报文和响应报文是怎样的,有哪些常见的字段? HTTP报文分为请求报文和响应报文…...

线性代数:每日一题1/特征值与相似对角化

设A, B 为二阶矩阵,且 AB BA , 则“A有两个不相等的特征值”是“B可对角化"的() A. 充分必要条件 B. 充分不必要条件 C.必要不充分条件 D.既不充分也不必要条件 知识点: 特征向量与特征值的关系 相似矩阵的定义和性质 n阶…...

Android UI:PopupWindow:API

文章目录 类操作 对PopupWindow的操作 创建PopupWindow对象的操作添加并显示PopupWindow的操作移除PopupWindow的操作更新PopupWindow的操作显示内容的相关操作 布局的相关操作进入退出动画的相关操作 Transition设置进入动画的相关操作Transition设置退出动画的相关操作XML设置…...

什么是DevUI?

DevUI是面向企业中后台产品的开源前端解决方案,其设计价值观基于"高效、开放、可信、乐趣"四种自然与人文相结合的理念,旨在为设计师、前端开发者提供标准的设计体系,并满足各类落地场景,是一款企业级开箱即用的产品。 …...

DAY53

作业: 运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…...

python中len是什么

Python len() 方法返回字符串长度。 len()方法语法: len( str ) 返回值: 返回字符串长度。 以下实例展示了len()的使用方法: #!/usr/bin/python str "this is string example....wow!!!"; print "字符串长度: ", len…...

推荐一个开源的kafka可视化客户端GUI工具(Kafka King)

大佬的博客地址: https://blog.ysboke.cn/posts/tools/kafka-king Github地址: https://github.com/Bronya0/Kafka-King Kafka-King功能清单 查看集群节点列表(完成)支持PLAINTEXT、SASL PLAINTEXT用户名密码认证(完…...

day 10 贪心算法

455. 分发饼干 饼干从大的开始利用&#xff0c;优先满足胃口大的&#xff1b; class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(),g.end());sort(s.begin(),s.end());int res0;int indexs.size()-1;for…...

网络安全审计技术原理与应用

网络安全审计概述 概念 定义:对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作 作用:建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便发现潜在网络安全威胁行为,开展网络安全风险分析及管理 常…...

计算机网络之TCP序号,确认序号和报文传输时间

开篇提示 本篇适合于了解基础知识&#xff0c;进行扩展提高的使用&#xff0c;附带考研习题以及解析。 TCP序号和确认序号的区别 TCP首部中有序号和确认序号&#xff0c;他们都是4个字节&#xff08;4B&#xff09;&#xff0c;且在数据传输中有很重要的意义&#xff0c;那么两…...

HTML优化方法

HTML编码规范 代码格式化与缩进 1.缩进规则 ​ 推荐使用空格缩进而不是Tab&#xff0c;因为不同环境下空格的效果更加一致。常见缩进量为2个或4个空格 2.标签对齐 ​ 在嵌套的HTML结构中&#xff0c;子标签应当缩进&#xff0c;以清晰地展示层级关系。 3.属性的排列 ​ …...

Codeforces Round 961 D. Cases 【SOS DP、思维】

D. Cases 题意 有一个长度为 n n n 且仅由前 c c c 个大写字母组成的字符串&#xff0c;问最少选取多少种字母为每个单词的结尾&#xff0c;使得每个单词长度不超过 k k k 思路 首先注意到最后一个字母一定要选择&#xff0c;接下来我们给出一个断言&#xff1a;如果一个…...

[Cesium] 数字孪生实践 | 超图插件打通UE4/Unity三维GIS管线全解析

1. 数字孪生与三维GIS技术融合的现状 数字孪生技术正在改变我们理解和构建物理世界的方式。简单来说&#xff0c;数字孪生就是通过数字化手段&#xff0c;在虚拟空间中创建一个与真实世界完全对应的"双胞胎"。这个数字化的双胞胎可以实时反映真实世界的状态&#xff…...

别再只会用`p`了!GDB调试C++结构体/类与数组的3个高级技巧与避坑指南

别再只会用p了&#xff01;GDB调试C结构体/类与数组的3个高级技巧与避坑指南 调试C代码时&#xff0c;你是否经常遇到这样的场景&#xff1a;面对一个复杂对象&#xff0c;用p *ptr命令后&#xff0c;终端输出像天书一样难以理解&#xff1f;结构体成员挤在一起&#xff0c;数…...

Promises/A+性能优化指南:让你的异步代码运行得更快

Promises/A性能优化指南&#xff1a;让你的异步代码运行得更快 【免费下载链接】promises-spec An open standard for sound, interoperable JavaScript promises—by implementers, for implementers. 项目地址: https://gitcode.com/gh_mirrors/pr/promises-spec 在Ja…...

代码审查时最该关注的不是语法,而是这五个“坏味道”

“这段代码能跑&#xff0c;但总觉得哪里不对劲。”如果你在审查代码时有过这种感觉&#xff0c;说明你已经嗅到了代码的坏味道。作为软件测试从业者&#xff0c;我们往往比开发人员更早感受到坏味道带来的痛苦——一个看似简单的变更导致回归测试大面积失败&#xff0c;一个边…...

S7-1500 PLC做高速数据采集?一个32位微秒时间戳的完整实现与避坑指南

S7-1500 PLC微秒级时间戳工程实践&#xff1a;从硬件同步到数据拼接的完整方案 在工业自动化领域&#xff0c;毫秒级响应已是基础要求&#xff0c;而微秒级精度正成为高端装备的标配。当一台数控机床以8000转/分钟的速度运行时&#xff0c;每个刀具接触工件的瞬间都需被精确记录…...

子网掩码实战:从原理到网络规划的深度解析

1. 子网掩码的核心原理 第一次接触子网掩码时&#xff0c;我也被那一串数字搞得晕头转向。直到有次公司网络改造&#xff0c;亲眼看到老工程师用子网划分解决了IP地址不足的问题&#xff0c;才真正明白它的价值。简单来说&#xff0c;子网掩码就像邮局的邮政编码系统 - 它告诉网…...

ARM Cortex-A72/A720架构解析与调试优化实践

1. ARM Cortex-A72/A720架构深度解析作为ARMv8-A架构的典型代表&#xff0c;Cortex-A72和A720处理器广泛应用于移动设备和嵌入式系统。我曾参与多个基于这两款核心的SoC开发项目&#xff0c;今天将结合官方文档和实战经验&#xff0c;深入剖析其关键特性和调试技巧。1.1 指令集…...

ESP32-S3物联网开发实战:从点灯到上云Adafruit IO

1. 项目概述&#xff1a;从点灯到上云&#xff0c;解锁ESP32-S3的完整能力拿到一块ESP32-S3开发板&#xff0c;比如Adafruit的QT Py ESP32-S3&#xff0c;很多朋友的第一步就是让板载的RGB LED&#xff08;NeoPixel&#xff09;闪起来&#xff0c;这就像嵌入式世界的“Hello Wo…...

从枚举到成像:VisionMaster连接海康工业相机的实战避坑指南

1. 工业相机连接前的硬件准备 第一次用VisionMaster连接海康工业相机时&#xff0c;硬件连接是最容易出问题的环节。我遇到过不少新手工程师因为电源接反或者网线没插好&#xff0c;折腾半天找不到设备的情况。这里分享几个关键细节&#xff1a; 首先是供电问题。海康工业相机通…...

AgentGPT 二次开发指南:API 调用、功能扩展与场景定制

AgentGPT 二次开发指南:API 调用、功能扩展与场景定制 1. 引入与连接:为什么你需要二次开发 AgentGPT? 1.1 开场:从一个真实需求说起 2023年3月AgentGPT横空出世时,很多人第一次感受到了自主智能体的魔力:输入一个「帮我做一份奶茶店的创业商业计划书,包含市场调研、成…...