2024接口自动化测试高频面试题【建议收藏】

news2024/12/28 19:45:00

一、json和字典的区别?

  • json就是一个文本、字符串;有固定的格式,格式长的像python字典和列表的组合;以key-value的键值对形式来保存数据,结构清晰,。可以说是目前互联网项目开发中最常用的一种数据交互格式

  • 字典属于python里面的基本数据类型

  • json不属于python里面的基本数据类型

二、你做接口自动化测试时,测试数据放哪里?

  • 对于一些基础数据比如说数据库配置可以放到静态配置配置文件中(日志级别、请求头、请求url、账号密码)

  • 接口测试需要用到的数据可以放到数据库表,也可以放到excel文件中(请求方法、请求数据)

三、什么是数据驱动

  • 数据驱动就是通过excel来维护测试数据,通过相应的技术处理,拿到测试数据用于测试,从而实现测试数据与代码的解耦;

  • 数据驱动测试的本质就是高级的参数化。

四、excel中如何设计你的用例?

1、所有的接口信息维护在一个excel文件中

2、每个接口,用一个sheet表维护

3、接口传递请求参数用data列,通过构造json格式的字符串即可解决多个传参的问题,同时提升了用例的可维护性

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

五、excel中的数据怎么拿出来?

  • 通过第三方库openpyxl来完成,项目只要引入第三方库,通过它提供的api即可完成对excel的操作,甚至于我们自己也可以做一些二次封装,封装一个读写excel中用例的方法,使得操作更方便。一行数据就是一个用例。

六、如果有些接口做了鉴权(需要鉴定权限),怎么实现这些接口的自动化测试?

  • 通过token来实现鉴权的,那么同样先调用完登录接口–》拿到它返回的这个数据–》存储起来(存储在动态环境变量Envdate中),后面再调用其他接口的时候直接带上这个数据过去就可以了。

  • 把token保存在动态环境变量Envdate中(因为token是可以变化的,一般不放到静态环境变量中)

七、什么是会话?

  • 所谓会话就是session,而session是一种服务器的缓存技术,由服务器端创建,用户登录了系统,一般就会把登录用户的信息保存到这个session对象中,然后把此会话对应的id(JSESSIONID)返回,因此大部分系统都会用到session机制来实现鉴权。Session保存数据方式也是以key-value的形式。

八、什么是token?

  • 所谓token其实就是服务器端返回的一个字符串(比较复杂,有点类似于xys73494954sdhcdr83435这么一串),基于JWT生成的token令牌,一般这个数据是唯一的,服务器每次返回的token都会不一样。

Token之所以可以用来做鉴权,原理如下:

用户a调用了登录接口–》登录了系统b–》服务器端生成了一个唯一的token信息(假设为c),然后会拿用户的编号id(假设为d)做了一个映射:c-d,然后将这样的映射关系存到数据库或redis等缓存中,然后再返回这个token给客户端–》客户端再调用其他需要鉴权的接口时,只需要将缓存起来的这个token带过去验证–》服务器根据此token检查是否有登录用户信息来判断此请求是否是一个已登录授权的用户。(这里客户端怎么取到这个token,怎么存,再次请求时怎么带过去,上面接口鉴权部分已解释)

九、某个接口请求,参数依赖上个接口的返回数据,怎么处理(接口关联)?

场景:b接口在调用的时候参数依赖于a接口的返回数据。

处理方案:

a接口调用完–》从响应中取出b依赖的这个参数–》保存起来–》b调用的时候,取出这个信息–》当做参数传过去即可。

十、接口调用依赖第三方的接口b,而b接口还未提供给你,如何处理?

通过mock框架搭建自己的mock系统/平台(其实就是自己开发接口),模拟这个第三方接口mock一个出来即可,这样就解决了这个依赖。

十一、你做接口自动化时怎么做的数据验证

  • 数据验证主要包括两个方面:

接口响应报文的验证

利用jsonpath取出响应数据(大多数情况是json)中的关键字段的值,通过AssertEqual断言期望值和实际结果是否符合预期。

数据库表数据的验证

  • 做表数据验证要先明白两点:

a. 表数据验证首先得明白这个接口的基本业务,会影响到哪些表,哪些字段的数据,然后才能准备查询sql去有针对性的查数据。

b. 并不是所有用例的执行都会操作数据库,影响到表数据,因此只有影响到了表数据的用例,才准备查询脚本

十二、如何提升测试套件的执行效率(接口测试优化的地方)

1.减少excel读写,减少不必要的io操作

2.excel读取测试数据,全部存储到静态变量中

3.excel数据回写,尽量通过批量方式去写。

十三、在你做接口自动化过程中,遇到了什么问题吗?说下原因?

工作中遇到的问题

十四、面试官追问框架的大概结构?

  • data层:数据层(excel、py文件存放的测试用例数据)

  • testcases层:测试逻辑层

  • logs层:脚本运行日志

  • reports层:报告层

  • common层:公共方法层(项目的路径配置、处理测试用例数据、日志记录、数据库查询)

  • config层:配置层(环境相关的配置、数据库配置、日志配置)

  • run_test.py:项目的入口文件

框架中自动化用例的执行流程这边简单介绍一下:

  • 通过自动化框架启动文件运行程序,

  • 首先会去用例数据层存放的文件(excel)中读取用例数据,

  • 然后以数据驱动的模式生成测试用例,

  • 之后将用例加载到测试套件中,

  • 最后执行测试套件中的用例,

  • 生成测试报告以及用例执行的详细日志。

十五、接口的响应时间,多少时间为通过,多少时间不通过

接口测试响应时间都是超级快的,ms 级的

十六、什么样的接口,是个好的接口

功能准确无误,响应速度快,支持多用户并发操作,安全性好

十七、接口出错了怎么办?

1、先检查一下请求参数

2、网络通不通

3、服务器有没有启动

4、开发定位

十八、接口测试用例怎么写?

查看这些接口有哪些参数,每个参数有什么约束条件,正常和异常的响应信息有哪些,然后编写测试用例来覆盖这些需求

十九、支付功能,付款的接口是怎么测试的呢?

工作中的情况

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1614077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

buuctf——[CISCN2019 华北赛区 Day2 Web1]Hack World

buuctf——[CISCN2019 华北赛区 Day2 Web1]Hack World 1.根据提示,说明flag在表里 2.那就猜测存在sql注入,反手测试一波id1 3.尝试使用1--进行注释 4.直接丢进salmap里吧,不出意外多半是跑不出来 5.直接放入fuzz里进行测试 6.发现当我…

Springboot 结合PDF上传到OSS

目录 一、首先注册阿里云OSS(新用户免费使用3个月) 二、步骤 2.1 将pdf模板上传到oos 2.2 这里有pdf地址,将读写权限设置为共工读 ​编辑 三、代码 3.1 pom.xml 3.2 配置文件 3.3 oss model 3.4 配置类(不需要修改) 3.5 将配置类放入ioc容器 3.…

Linux之rocky8操作系统安装

一、rocky系统简介 CentOS宣布停止开发后,CentOS的原创始人Gregory Kurtzer在CentOS网站上发表评论宣布,他将再次启动一个项目以实现CentOS的最初目标。它的名字被选为对早期CentOS联合创始人Rocky McGaugh的致敬。rocky系统一个开源、社区拥有和管理、免…

VForm3的文件上传方式

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…

快排非递归与计数排序

感谢大佬的光临各位,希望和大家一起进步,望得到你的三连,互三支持,一起进步 个人主页:LaNzikinh-CSDN博客 收入专栏:初阶数据结构_LaNzikinh篮子的博客-CSDN博客 文章目录 前言一.快速排序非递归二.数据结构栈与内存栈…

“电子商务”的红利还能存在多久?我想抖音回答了这个问题

哈喽~我是电商月月 互联网的发展有目共睹,网上交易,电子支付已经遍及每个人身边,两者结合,特别是电商行业,利用这个时期真的赚的盆满钵满 每年都有大批商家涌入电商这个赛道,但发展了那么多年&#xff0c…

B端界面:除了蓝色外,四条搞定清新明快的界面设计。

一、什么是清新明快风格 清新明快的设计风格是指在B端系统中使用明亮、清淡的色彩、简洁的布局和自然元素,以及轻快的动效,营造出轻松、愉悦的界面氛围。 二、哪些行业适用 这种设计风格适用于多个行业,特别是那些与创意、娱乐、健康、旅游…

Python turtle海龟绘制美国队长盾牌

使用Python中的turtle模块绘制美队盾牌 具体思路如下: 导入海龟库第1个圆:半径 200,红色填充第2个圆:半径 150,白色填充第3个圆:半径 100,红色填充第4个圆:半径 50,蓝色…

动态Web项目讲解+Demo

web流程演示 请求路径 请求路径明确要请求的是哪个servlet 请求方式 servlet含有两种请求方式:doGet和doPost doGet&doPost 返回数据就是httpResponse,返回给success 参数 包含在request当中 成功 上述流程任何一步都没出问题,就会…

Java学习笔记26(枚举和注解)

1.枚举和注解 1.1 枚举 ​ 1.枚举(enumeration) ​ 2.枚举是一组常量的集合 ​ 3.枚举属于一种特殊的类,里面只包含一组有限的特定的对象 1.枚举应用案例 ​ 1.不需要提供setXxx方法,因为枚举对象值通常为只读 ​ 2.对枚举对象/属性使用final st…

完成学校官网页面制作

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>教务系统</title> <style> .wap{ margin:0 auto; width:955px; } .top{ height:150px; padding-left:85px; …

【PCI】PCIe EP标准配置空间(十)

本文参考PCIe协议 5.0&#xff1a;https://download.csdn.net/download/zz2633105/89204842 PCIe配置空间 EP标准配置空间 Vendor ID Register (Offset 00h) PCIe设备厂商ID&#xff0c;比如Intel的Vendor ID通常是0x8086。需要注意的是&#xff0c;厂商的ID不是厂商随意定的…

人人可拥有刘强东同款数字人分身!

每个人都可以拥有东哥同款数字人分身直播间进行直播带货&#xff0c;怎样克隆自己的数字人形象&#xff1f; 青否数字人克隆源码的克隆效果媲美真人&#xff1a; 仅需将真人录制的2-6分钟视频上传至克隆端后台&#xff0c;系统便会自动启动自动克隆。3-5小时后&#xff0c;即可…

Python从0到100(十五):函数的高级应用

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

地图图源#ESRI ArcGIS XYZ Tiles系列(TMS)

目录 1、前言 2、地图图源网址 2.1、Satellite 卫星图源 2.2、Terrain 地形图源 2.3、Street 路网/标注图源 2.4、Specifity 特色设计图源 3、专业推荐”穿搭“ 4、图源配置下载及使用 图源名称图层类别特别注意谷歌 Google①地形 ②影像 ③矢量及标注 ④特色图源国内大…

迭代加深搜索(图的路径查找)

目录 概念 优点 缺点 如何剪枝&#xff08;八数码&#xff09; 剪枝策略&#xff1a; 深度优先搜索&#xff08;DFS&#xff09;和广度优先搜索&#xff08;BFS&#xff09; 深度优先搜索&#xff08;DFS&#xff09; 广度优先搜索&#xff08;BFS&#xff09; 比较 应…

Facebook账号运营要用什么IP?

众所周知&#xff0c;Facebook封号大多数情况都是因为IP的原因。Facebook对于用户账号有严格的IP要求和限制&#xff0c;以维护平台的稳定性和安全性。在这种背景下&#xff0c;海外IP代理成为了一种有效的解决方案&#xff0c;帮助用户避免检测&#xff0c;更加快捷安全地进行…

基于51单片机的电子秤LCD1602液晶显示( proteus仿真+程序+设计报告+讲解视频)

基于51单片机电子秤LCD显示 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真设计4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接 基于51单片机电子秤LCD显示( proteus仿真程序设计报告讲解视频&#xff09; 仿真图proteus8.9及以上 程序编译器&#xf…

OceanBase开发者大会2023届视频及PPT汇总

数据库技术趋势 我眼中的数据库技术 阳振坤OceanBase 首席科学家 观看视频 下载 PDF 未来&#xff0c;中国需要什么样的数据库&#xff1f; 周傲英华东师范大学副校长&#xff0c;CCF 会士 观看视频 下载 PDF 云原生技术趋势解读 Keith ChanCNCF 云原生计算基金会中国区总监 …

Linux嵌入式驱动开发-阻塞IO与非阻塞IO

文章目录 阻塞与非阻塞访问简介阻塞访问的实现等待队列等待队列头等待队列项从等待队列头添加/移除等待队列项等待唤醒等待事件API 非阻塞访问的实现轮询poll 函数原型可以返回的资源状态 阻塞与非阻塞访问简介 **IO&#xff1a;**Input/Output&#xff0c;也就是输入/输出&am…