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

本文主要是介绍拿捏面试官,高频接口自动化测试面试题总结(附答案)狂收offer...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

    • 前言
    • 一、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性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

这篇关于拿捏面试官,高频接口自动化测试面试题总结(附答案)狂收offer...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301759

相关文章

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)