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,查看请求报文和返回报文 •如果是后端问题,查看后端日志
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
相关文章:
![](https://img-blog.csdnimg.cn/694b35de52e6493c99f913729355584f.png)
2024年接口测试高频面试题及答案
1. 什么是接口测试? •接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求 •测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系 2. 为什么要做接口…...
![](https://i-blog.csdnimg.cn/direct/0d1f2b7a9c8846329c600d14d2d1900b.png)
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函数超时返回…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux: 忘记密码的解决方法,passwd
https://www.redhat.com/sysadmin/recover-root-passwd 这里的方法很简单,就是通过console进去,添加一个启动参数,加载sysroot,然后用passwd命令修改密码。这个是RHEL7适用。 https://access.redhat.com/solutions/1192 这个是提…...
![](https://i-blog.csdnimg.cn/direct/13c8bb3d6e4b42e186e606827a2bcce8.png)
36. 有效的数独【 力扣(LeetCode) 】
一、题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图…...
![](https://www.ngui.cc/images/no-images.jpg)
机器学习中的没有免费午餐定理
嘿,各位机器学习的爱好者们!今天,让我们一起深入探讨机器学习中那个神秘而又重要的概念——没有免费午餐定理。 一、定理引入:探索算法森林的钥匙 在广阔无垠的机器学习领域中,免费午餐定理就如同一把神奇的钥匙&…...
![](https://www.ngui.cc/images/no-images.jpg)
高级java每日一道面试题-2024年8月21日-框架篇[Spring篇]-使用IOC容器应该注意哪些?
如果有遗漏,评论区告诉我进行补充 面试官: 使用IOC容器应该注意哪些? 我回答: 1. 理解IOC的基本概念 控制反转:在传统的编程模式中,程序会主动控制依赖关系的创建和管理。而在IoC容器中,这种控制权被反转给了容器本身。程序员只需要声明…...
![](https://www.ngui.cc/images/no-images.jpg)
LLM训练推理相关概念
1. 有监督微调(Supervised Fine-Tuning)与指令微调(Instruction Fine-Tuning)对模型参数的影响 **有监督微调(Supervised Fine-Tuning, SFT)和指令微调(Instruction Fine-Tuning, Instruct-Tun…...
![](https://i-blog.csdnimg.cn/direct/a8ee8d8b7da04ec4895db84065eb891b.png)
IP in IP 协议
IP in IP 是一种多重IP协议,即:客户机可以发送一个IP协议内部在嵌套一个IP协议到某个特定的主机上,在由具体的主机作为路由进行转发的协议。 例如: IP in IP帧协议结构为,第一层为发送到IP in IP 路由主机的报文&…...
![](https://www.ngui.cc/images/no-images.jpg)
DAY2: HTTP请求报文和响应报文是怎样的,有哪些常见的字段?| HTTP有哪些请求方式?| GET请求和POST请求的区别
目录 HTTP请求报文和响应报文是怎样的,有哪些常见的字段? 请求报文 响应报文 HTTP有哪些请求方式? GET请求和POST请求的区别 HTTP请求报文和响应报文是怎样的,有哪些常见的字段? HTTP报文分为请求报文和响应报文…...
线性代数:每日一题1/特征值与相似对角化
设A, B 为二阶矩阵,且 AB BA , 则“A有两个不相等的特征值”是“B可对角化"的() A. 充分必要条件 B. 充分不必要条件 C.必要不充分条件 D.既不充分也不必要条件 知识点: 特征向量与特征值的关系 相似矩阵的定义和性质 n阶…...
![](https://www.ngui.cc/images/no-images.jpg)
Android UI:PopupWindow:API
文章目录 类操作 对PopupWindow的操作 创建PopupWindow对象的操作添加并显示PopupWindow的操作移除PopupWindow的操作更新PopupWindow的操作显示内容的相关操作 布局的相关操作进入退出动画的相关操作 Transition设置进入动画的相关操作Transition设置退出动画的相关操作XML设置…...
![](https://img-blog.csdnimg.cn/img_convert/e12d3a9ac1616a047e58e7c789b3ab1e.png)
什么是DevUI?
DevUI是面向企业中后台产品的开源前端解决方案,其设计价值观基于"高效、开放、可信、乐趣"四种自然与人文相结合的理念,旨在为设计师、前端开发者提供标准的设计体系,并满足各类落地场景,是一款企业级开箱即用的产品。 …...
![](https://i-blog.csdnimg.cn/direct/d6193b6881e94ab8b17c3643461de36e.png)
DAY53
作业: 运行1个服务器和2个客户端 实现效果: 服务器和2个客户端互相聊天,服务器和客户端都需要使用select模型去实现 服务器要监视2个客户端是否连接,2个客户端是否发来消息以及服务器自己的标准输入流 客户端要监视服务器是否发来…...
![](https://img-blog.csdnimg.cn/img_convert/f129598788c34623b4467b4b5053f322.jpeg)
python中len是什么
Python len() 方法返回字符串长度。 len()方法语法: len( str ) 返回值: 返回字符串长度。 以下实例展示了len()的使用方法: #!/usr/bin/python str "this is string example....wow!!!"; print "字符串长度: ", len…...
![](https://img-blog.csdnimg.cn/img_convert/1031d764cbf142cb15185cede0790884.png)
推荐一个开源的kafka可视化客户端GUI工具(Kafka King)
大佬的博客地址: https://blog.ysboke.cn/posts/tools/kafka-king Github地址: https://github.com/Bronya0/Kafka-King Kafka-King功能清单 查看集群节点列表(完成)支持PLAINTEXT、SASL PLAINTEXT用户名密码认证(完…...
![](https://www.ngui.cc/images/no-images.jpg)
day 10 贪心算法
455. 分发饼干 饼干从大的开始利用,优先满足胃口大的; 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…...
![](https://i-blog.csdnimg.cn/direct/4a6f7afd532a4af584226a26dc43aa1d.png)
网络安全审计技术原理与应用
网络安全审计概述 概念 定义:对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作 作用:建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便发现潜在网络安全威胁行为,开展网络安全风险分析及管理 常…...
![](https://i-blog.csdnimg.cn/direct/1ab955fcb00c4b209382b3e13e3b2fc0.png)
计算机网络之TCP序号,确认序号和报文传输时间
开篇提示 本篇适合于了解基础知识,进行扩展提高的使用,附带考研习题以及解析。 TCP序号和确认序号的区别 TCP首部中有序号和确认序号,他们都是4个字节(4B),且在数据传输中有很重要的意义,那么两…...
![](https://www.ngui.cc/images/no-images.jpg)
HTML优化方法
HTML编码规范 代码格式化与缩进 1.缩进规则 推荐使用空格缩进而不是Tab,因为不同环境下空格的效果更加一致。常见缩进量为2个或4个空格 2.标签对齐 在嵌套的HTML结构中,子标签应当缩进,以清晰地展示层级关系。 3.属性的排列 …...
![](https://i-blog.csdnimg.cn/direct/89972d345007410598b18ffeeed64c0c.png)
Codeforces Round 961 D. Cases 【SOS DP、思维】
D. Cases 题意 有一个长度为 n n n 且仅由前 c c c 个大写字母组成的字符串,问最少选取多少种字母为每个单词的结尾,使得每个单词长度不超过 k k k 思路 首先注意到最后一个字母一定要选择,接下来我们给出一个断言:如果一个…...
![](https://i-blog.csdnimg.cn/direct/cbadb80de32545d6b7c99439f32af4b8.png)
VirtualBox上的Oracle Linux虚拟机安装Docker全流程
1.安装docker依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装docker仓库 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 生成docker的yum源配置到在 /etc/yum.repos.d/docker-ce.repo 3.安装D…...
![](https://i-blog.csdnimg.cn/direct/05cb942a250c452cab1776c1cd3ba63d.png)
LNMP安装部署
目录 一、Nginx安装部署 1.安装包下载 2.下载相关依赖工具 3. 创建运行用户 4.编译安装 5.优化路径 6.将nginx添加至系统服务 7.文件赋权 二、MySQL部署安装 1.解压 2.安装相关工具 3.创建运行用户 4.编译安装 5.修改配置文件 6.更改mysql安装目录和配置文件的属…...
![](https://www.ngui.cc/images/no-images.jpg)
django之自定义序列化器用法
在Django中,自定义序列化器方法通常用于处理复杂的数据转换逻辑,特别是在使用Django REST framework(DRF)时。自定义序列化器方法可以帮助你在序列化和反序列化过程中执行特定的逻辑,比如格式化日期、计算字段值、或者…...
![](https://i-blog.csdnimg.cn/direct/a44cc2baf4b6477fb91b6f390597b061.png)
20240821给飞凌OK3588-C的核心板刷Rockchip原厂的Buildroot并挂载1TB的exFAT格式的TF卡
fdisk -l df -h df -t df -T mount 20240821给飞凌OK3588-C的核心板刷Rockchip原厂的Buildroot并挂载1TB的exFAT格式的TF卡 2024/8/21 18:06 【切记,对于Rockchip原厂的Buildroot,如果你没有针对性的适配DTS:修改其中的GPIO口供电,…...
![](https://i-blog.csdnimg.cn/direct/70603bf92a944cbb8d02bac57d331ba9.png)
多模态学习Multimodal Learning:人工智能中的多模态原理与技术介绍初步了解
多模态学习(Multimodal Learning)是机器学习中的一个前沿领域,旨在综合处理和理解来自不同模态的数据。模态可以包括文本、图像、音频、视频等。随着数据多样性和复杂性增加,多模态学习在自然语言处理、计算机视觉、语音识别等领域…...
![](https://i-blog.csdnimg.cn/direct/a10d431cf5584f1292be664ca20eca40.png)
外部环境连接kafka
修改配置文件外部环境连接kafka 1、kafka的docker官方镜像地址2、kafka官方介绍的三种连接方式3、方式一:Default configs默认配置4、方式二:File input(文件输入:外部配置文件替换docker容器内的配置文件)4.1、首先查…...
![](https://www.ngui.cc/images/no-images.jpg)
结合了MySQL数据库、Elasticsearch和Redis,构建一个产品搜索和推荐系统
1. 数据库设置(MySQL) 首先,我们需要创建两个表来存储产品信息和产品类别信息。 CREATE DATABASE product_system;USE product_system;CREATE TABLE categories (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255) NOT NULL,created_at…...
![](https://img-blog.csdnimg.cn/img_convert/c90d1abbd608623aea50060813ab0779.jpeg)
白酒与素食:健康与美味的双重享受
在美食的世界里,白酒与素食的搭配仿佛是一场跨界的盛宴。豪迈白酒(HOMANLISM)的醇香与精致素食的清新,在不经意间交织出了一幅美妙的画卷,让人在品味中感受到健康与美味的双重享受。 素食,以其清淡、自然的…...
![](https://i-blog.csdnimg.cn/direct/cd15e8266075404da199fde8aa96e538.jpeg)
工厂现场多功能帮手,三防平板改善管理体验
随着制造业的智能化变革,信息化、自动化和智能化逐渐成为工厂管理的新常态。在这一波技术浪潮中,三防平板作为一种多功能的工作工具,正在逐步改善工厂现场的管理体验。 一、三防平板的定义与特点 三防平板,顾名思义,是…...
![](https://www.ngui.cc/images/no-images.jpg)
【git】问题解决---Failed to connect to github.com
场景 最近运行命令git push,git pull或者git clone的时候总会报如下错误 fatal: unable to access https://github.com/xxxxx/xxxxxx.git/: **Failed to connect to github.com** port 443 after 21052 ms: Couldnt connect to server原因 一般是网络配置原因造成的, 如果能…...
![](https://img-blog.csdnimg.cn/20200908112822442.png?)
深圳 网站 设计/哈尔滨最新信息
题目描述 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]实现思路 这道题目运用到了普通的回溯剪枝以及深度优先遍历。 原本应该是这样的: 我们可以看到&am…...
![](https://www.oschina.net/img/hot3.png)
用什么软件做动漫视频网站好/线上营销模式有哪些
2019独角兽企业重金招聘Python工程师标准>>> RestTemplate可以使用loadBalanced,但加上了oauth2的restTemplate 就识别不到服务名称了。 这个是个蛋疼的问题。 查了一天的github,发现了这是一个bug。 spring-cloud-security问题 看了半天也没…...
![](https://img-blog.csdnimg.cn/img_convert/e1e4d7c3ecccbbb450f347c1bf2b16ba.png)
海南网站建设哪里好/谷歌搜索引擎363
一、ResNet模型接上一篇文章的内容,下面这种CNN模型就更加经典,并且也是目前运用最为广泛的模型了。在2015年,何凯明提出了152层的ResNet,以3.6%的误差摘得了2015年ILSVRC比赛的桂冠,同时ResNet的提出解决了神经网络中因为网络深度…...
![](/images/no-images.jpg)
摄影网站开发的背景/免费seo软件
背景 在看阿里巴巴Java开发手册手册时,看到了有关hashCode()和equals()方法的使用规范。 只要重写 equals,就必须重写 hashCode。 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写…...
![](/images/no-images.jpg)
手机网站制作案例/5118站长工具
由于原有的方法无法处理两个日期在不同月份的情况,现更新LaTaio的方法如下:// 摘要: // 获取此实例所表示的日期为该月中的第几天。 // // 返回结果: // 日组成部分,表示为 1 和 31 之间的一个值。 public int Day { get; } 这个方法可能更直…...
![](https://img-blog.csdnimg.cn/20210412092221392.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Z4dHh6Mg==,size_16,color_FFFFFF,t_70)
佛山 做网站公司有哪些/郑州seo外包公司哪家好
问题 Charles是Mac上面知名的代理软件,类似Windows上面的fiddler。在调试CDN的过程中,需要远程调试某个地区的节点,就只能使用代理服务区进行访问调试。但是这个过程中同时需要Charles对CDN的客户端进行抓包处理,但同时有需要一个…...