拿捏面试官,高频接口自动化测试面试题总结(附答案)狂收offer...

news2024/11/26 8:55:51

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

面试题:自动化使用的测试框架是什么?简述自动化框架的设计、维护?

1、测试框架:Python+Unittest/Pytest+Requests+DDT+Openpyxl+Pymysql+Logging

测试框架:

python:入门简单,语法简洁

Unittest/Pytest:定义一个测试用例类,具体的方法来维护测试用例的生命周期,测试场景行为,测试用例 前置场景,行为,期望结果,实际结果,断言方法,Setup teardown方法

Requests:接口调用 ,支持http请求的库,API 简洁,提供不同的http请求方法,支持session,cookies,

DDT:数据驱动,ddt 类装饰器,data 测试方法装饰器 unpack解包可迭代的数据类型

普通用户,数据库,配置文件—(基础数据)

Openpyxl: 数据管理 excel管理数据,使用openpyxl模块来进行excel数据的读和写(excle,csv, json, yaml, txt都可以管理测试数据)

Pymysql:数据库交互,数据校验

eval/json:数据格式的转换 Eval将python支持的格式转换成对应的格式

logging:日志处理, 统一日志输出格式,渠道,级别,执行结果的记录,便于定位问题

Jenkins:持续集成

2、框架设计思路:数据驱动+结构分层(可读性,可维护性,可扩展性)

数据驱动:将维护数据与代码分离,接口调用行为一致,针对不同的参数组合驱动不同的测试场景,减少代码冗余

结构分层:数据层+用例层+逻辑层
数据层:测试数据的支撑 data.xls
用例层:用例的执行 test_register.py test_recharge.py
逻辑层:公用的方法的封装与提取 doexcle.py do_mysql.py http_requests.py logger.py等模块

3、框架设计步骤

准备测试数据: EXCEL表准备测试用例—excel数据的读取—参数值的替换

发起请求:请求方法(get/post方法进行封装—URL的拼接(不同—参数转化为字典

拿到请求的返回值:解析返回值code,status,msg信息

断言

好处:

1)自动化测试用例和手工测试用例的完美结合,减少重复工作
2)配置灵活,可以自主切换测试环境,执行测试用例
3)常用功能进行封装,逻辑清晰,易于维护
4)统一执行入口,管理测试用例集:
run.py模块通过模糊查找来选择需要执行的测试用例
5)持续集成,定时构建,快速反馈

面试题: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参数留在缓存中,用户可以看到参数信息;

面试题:post请求的四种参数形式是什么?

Application/x-www-form-urlencoded:将参数以一组键对值的方式发送;

Multipart/form-data:支持单组和多组文件上传;

Application/json:根据后端接口的定义支持数据类型;

Text/xml;

面试题:http状态码302、403、503分别代表什么?

302:临时重定向到某一个页面,比如要登录之后才能进入的页面,他首先会临时重定向到登录界面
403:权限不够 服务器理解客服端的请求,但拒绝此请求
503:服务端目前无法使用,过载或者维护中
500:服务端异常
404:请求失败,请求所希望得到的资源未被在服务器上发现
401:请求身份验证

1XX系列:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理

2XX系列:代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。

3XX系列:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。这系列中最常见的有301、302状态码。

4XX系列:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。

5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503状态码。

公司有用到第三方服务,出了问题,打电话给第三方,第三方不承认,这时候日志又显示不到错误,应该怎么处理?

1/ 单独调用第三方服务,查看三方接口返回的status,code,msg,看是否能支持正常服务

2/ 在自己的应用中mock第三方服务,来调用自己的接口,看能否正常工作,将结果反馈给第三方

3/ 配置日志级别在debug级别时,添加第三方请求过程的日志,查看入参,响应来追踪问题

面试题:接口自动化中的关联怎么处理?

把上一个请求返回的结果传入到下一个请求的参数中,将请求的结果反射到一个类属性(使用setattr()函数),下一个请求去调用这个类属性

面试题:自动化测试怎么校验结果?

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

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

面试题:具体的在这个项目中自动化怎么应用到实际的,您对自动化结果的分析

完成所有的自动化测试框架的设计和实现后,进行接口测试,然后集成到jenkins,配置定时执行,生成html报表,查看测试通过率,查看接口的功能

每次发版时,进行回归测试,新功能开发未提测前

面试题:做好测试计划的关键是什么?

明确测试目的,增强测试计划的实用性,保证测试用例的实用性和覆盖率,完全需求文档和规格指标书等,严格界定测试周期,测试轮次,测试覆盖模块等

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有在不断地探索和尝试中,我们才能发现自己的潜力和价值。勇敢追求梦想,坚定前行,你将成为自己人生的赢家!

生命中最重要的事情,不是你拥有了什么,而是你如何创造和分享价值。坚持追求,不断努力,你将成为自己人生的英雄!

成功不是偶然的,而是通过不断的努力和奋斗赢得的。相信自己的能力,坚定前行,你将创造出属于自己的不朽传奇!

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

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

相关文章

基于水循环算法的无人机航迹规划-附代码

基于水循环算法的无人机航迹规划 文章目录 基于水循环算法的无人机航迹规划1.水循环搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用水循环算法来优化无人机航迹规划。 1.水循环…

Windows防火墙导致端口访问不通

计算机A的IIS中部署的服务,在另外的计算机B中始终无法访问,ping和telnet都不通。   最初认为是硬件的问题,但是检查了网络后并未发现问题,同时计算机B与其它联网计算机之间也是可以相互访问。   接着测试从计算机A中ping和tel…

【网络安全 --- 文件上传靶场练习】文件上传靶场安装以及1-5关闯关思路及技巧,源码分析

一,前期准备环境和工具 1,vmware 16.0安装 若已安装,请忽略 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客文章浏览阅读186次,点赞9次,收藏2次。【网络安全 --- 工…

idea 提升效率的常用快捷键 汇总

点击File --> Settings --> keymap便可进入看到 IDEA 提供的快捷键。我们也可以搜索和自定义所有快捷键 下面13个事我常用的快捷键,后面还有全部,可以当做字典来查 1.当前文件下查找:CtrlF 当前文件下替换:CtrlR 2.当前…

FPGA时序分析与约束(8)——时序引擎

一、概述 要想进行时序分析和约束,我们需要理解时序引擎究竟是如何进行时序分析的,包括时序引擎如何进行建立分析(setup),保持分析(hold),恢复时间分析(recovery)和移除时间分析(removal)。 二、时序引擎进…

2024王道考研计算机组成原理——输入输出系统

7.1.1 输入输出系统和几种IO控制方式 输入设备:把数据从主机外部输入主机内部 输出设备:把数据从主机内部输出到主机外部 现在的IO接口(芯片)通常被集成在南桥芯片的内部 DMA接口其实也是IO接口(芯片)的一种,磁盘准备的数据先一个字一个字…

VS2022将编码方式设置为UTF-8的一种方法

一、首先在VS2022的菜单栏中找到Tools/Customize。 二、在弹出的对话框中选择Commands标签,Menu bar中选择File,点击Add Command按钮。 三、在弹出的Add Command对话框中选择左侧Categories栏中选择File,在Commands栏中选择Advanced Save Opt…

吴恩达《机器学习》2-5->2-7:梯度下降算法与理解

一、梯度下降算法 梯度下降算法的目标是通过反复迭代来更新模型参数,以便最小化代价函数。代价函数通常用于衡量模型的性能,我们希望找到使代价函数最小的参数值。这个过程通常分为以下几个步骤: 初始化参数: 随机或设定初始参数…

帆软report JS实现填报控件只能填写一次

效果 方法: 代码: if(this.getValue()!"")//判断这个控件框是否有值,这里是不为空{this.setEnable(false)}//不为空,则不能再修改else{this.setEnable(true)}//为空,可以编辑

vue2【Options 选项API、mixin混入】,vue3【Composition 合成API、hooks】

目录 逻辑组合/复用机制 mixin混入状态复用【官方不推荐使用】 生命周期合并 同名覆盖 难溯源 hooks钩子【只能在setup生命周期中用】 ref ()、reactive()useState computed()useMemo 自定义: useXxx 示例 Vue2 :Options API选项类型&#x…

代码审计-锐捷NBR路由器 EWEB网管系统 远程命令执行

那天下着很大的雨,母亲从城里走回来的时候,浑身就是一个泥人,那一刻我就知道我没有别的选择了 出现漏洞的文件在 /guest_auth/guestIsUp.php 审查源码我们发现通过命令拼接的方式构造命令执行 构造payload: /guest_auth/guestI…

基于闪电搜索算法的无人机航迹规划-附代码

基于闪电搜索算法的无人机航迹规划 文章目录 基于闪电搜索算法的无人机航迹规划1.闪电搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用闪电搜索算法来优化无人机航迹规划。 …

基于入侵杂草算法的无人机航迹规划-附代码

基于入侵杂草算法的无人机航迹规划 文章目录 基于入侵杂草算法的无人机航迹规划1.入侵杂草搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用入侵杂草算法来优化无人机航迹规划。 …

windows8080端口占用

查看端口占用 netstat -ano | findstr “8080”查看占用进程 tasklist | findstr “4664”关闭占用进程 taskkill /f /t /im httpd.exe

关于git推送代码到github远程仓库中文乱码问题,visual studio保存文件默认编码格式问题

中文乱码问题本质上的原因是:二者的编码格式不同。当你用GB2313格式保存一个文件,用utf-8的格式打开,它必然就显示乱码。 据我所知,github上面是utf-8,而visual studio默认保存为GB2312,把代码推送到gith…

ChineseChess.2023.10.29.02

中国象棋残局模拟器 中国象棋残局模拟器ChineseChess.2023.10.29.02_桌游棋牌热门视频

Mac docker+vscode

mac 使用docker vs code 通过vscode 可以使用docker容器的环境。 可以在容器安装gdb, 直接调试代码。 创建容易时候可以指定目录和容易目录可以共享文件。

音画欣赏|《诗和远方》

《诗和远方》 8050cm 陈可之2020年绘 面朝大海,春暖花开 [海子] 从明天起,做一个幸福的人 喂马、劈柴,周游世界 从明天起,关心粮食和蔬菜 我有一所房子,面朝大海,春暖花开 从明天起,和每一…

超市便利店小程序商城该是怎样的

超市便利店的数量非常多,在人流聚集处和小区周边,线下店主要以周边客户为主,一般来说不会缺生意,但也不会有大的增长,线上电商冲击下,尤其是中大型超市或连锁,需要商家线上发展获得生意。 而除…

基于群居蜘蛛算法的无人机航迹规划

基于群居蜘蛛算法的无人机航迹规划 文章目录 基于群居蜘蛛算法的无人机航迹规划1.群居蜘蛛搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用群居蜘蛛算法来优化无人机航迹规划。 …