爆肝整理,接口自动化测试面试题+答案,25k*15薪如何达成的...

目录:导读

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


前言

1、请问你是如何做接口测试的?

大体来说,经历以下过程:接口需求调研、接口测试工具选择、接口测试用例编写、接口测试执行、接口测试回归、接口测试自动化持续集成。

具体来说,接口测试流程分成以下几步:
第1步:分析出测试需求,并请开发提供接口说明文档;
第2步:从接口说明文档中整理出接口测试用例,里面要包括详细的入参(正常情况,异常情况包括输入参数个数,类型,可选/必选,考虑参数有互斥或关联的情况)和出参数据(符合接口文档需求)以及明确的格式和检查点;

第3步:与开发一起对接口测试用例进行评审;
第4步:结合开发库,准备接口测试用例中的入参数据和出参数据,并整理成Excel格式的文件;
第5步:结合接口测试用例文档和Excel格式的数据文档,编写接口自动化测试的业务逻辑代码;
第6步:开始执行接口自动化测试用例;
第7步:执行如有bug,提交至缺陷管理平台;
第8步:开发修改完成后,回归bug,跟踪状态;
第9步:完成后进行自动化持续集成;

2、接口测试执行中需要比对数据库吗?

接口的返回关键字段和字段值是需要校验的,不然接口测试就没有意义了。
一般有两种方式:

数据库预置数据,接口校验返回;
接口调用,比对数据库查询结果;

3、接口测试质量评估标准是什么?

一般来说,从以下八个方面评估:
业务功能覆盖是否完整;
业务规则覆盖是否完整;
参数验证是否达到要求(边界、业务规则);
接口异常场景覆盖是否完整;
接口覆盖率是否达到要求;
代码覆盖率是否达到要求;
性能指标是否满足要求;
安全指标是否满足要求;

4、接口产生的垃圾数据如何清理?

造数据和数据清理,需用Python连数据库了,做增删改查的操作测试用例前置操作。

setUp做数据准备后置操作;
tearDown做数据清理;

5、其他接口要先获取接口信息,如何让登录的接口只在其他接口调用一次?

解决方法如下:
使用单例模式;使用自定义缓存机制;使用测试框架中的 setup 机制;pytest 中 fixture 机制;

6、接口测试断言从哪些方面去设计?

接口测试断言可以从以下五个方面进行设计:

响应码:检查响应码是否符合预期,用来判断测试用例是否执行成功(针对http接口);

关键字:验证关键字是否符合预期,用来判断测试用例是否执行成功;

正则匹配:当一个接口返回的内容较多,并且有一定规律时,可通过正则表达式来校验接口返回的信息来判定测试用例是否执行成功;

数据库匹配核对:比如对查询一个接口返回的数据进行验证时,可通过编写sql语句查询结果,然后将sql语句执行后数据库返回的结果与接口返回的结果进行核对,以此来判定测试用例是否执行成功;

通过相关接口进行辅助验证:比如,当测试一个删除接口时,删除一条记录后,想验证这条记录真的被删除,可调用查询接口,若删除的记录没被查询到,则说明删除这条记录成功。

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

可以利用一些Mock工具(如:JSON Server、Easy Mock)来模拟第三方的数据返回,最大限度的降低对第三方数据接口的依赖。Mock服务是指在测试过程中对于某些复杂(或者不太好构造)的对象,用一个虚拟的对象替代它。

如现在有A和B两个接口, A需要调用接口B才能完成业务需求。这个时候B接口有如下三种情况:

B接口还没有开发完成:需要等待接口的数据来进行开发,这时候完善的接口Mock服务能大大缩短开发联调等待时间。

B的某些场景很难去模拟:比如超时、未知错误或者不稳定的第三方接口。
性能测试中隔离B接口(第三方接口):在进行压测的时候就会遇到问题。

8、接口调不通,如何去排查?

接口调不通的原因:
1、接口没有任何响应
很多时候在做接口测试时,会发现接口没有任何返回,比如浏览器一直在转圈,或者返回一个空白页面。用接口测试工具时,工具报错,提示“no response”。

排查思路:
先检查接口ip是否正确,可以通过在本机ping 接口的ip,检查网络是否通畅;
检查接口的端口号是否正确,可以通过在本机telnet接口的ip和端口号,检查端口是否能连通;

检查项目是否启动或者部署成功,可以找研发确认,或者自己登录到服务器上,通过ps命令检查项目的进程是否存在,然后用tail命令查看部署日志;

检查服务器防火墙是否关闭,如果因为安全或者权限问题不能关闭,需要找运维进行策略配置,开放对应的ip和端口号;

检查你的客户端(浏览器/测试工具),是否设置了网络代理,网络代理可能会造成请求失败;

检查操作系统的host文件,是否绑定了一个错误的ip映射;

2、接口有响应但是返回了错误的状态码
有些时候接口会返回一些错误的HTTP状态码,需要根据不同的状态码来确定具体的原因。

排查思路:
400:客户端请求错误,比如请求参数格式错误(如json字符串不合法);
401:未授权,比如在请求header里,缺乏必要的信息头(如token、auth等字段);
403:禁止,常见的原因是用户的账号没有对应的url权限,还有就是项目所用的中间件,不允许远程访问(比如Apache);
404:资源未找到,导致这种情况的原因很多,比如:url拼写错误;url后有空格;项目没有启动成功;请求协议不对,如http/https;

405:方法不允许,常见的原因是请求方式不正确,比如GET类型接口,使用POST方式去请求;

415:不支持的媒体类型,常见原因是请求数据的类型和服务端支持的类型不匹配,比如json接口,需要添加一个信息头Content-type:application/json;

500:服务器内部错误,出现这种情况,说明服务端内部报错了,需要登录到服务器上,检查错误日志,根据具体的提示信息再进行排查;

502/503/504(Bad Gateway/错误的网关、Service Unavailable/服务无法获得、Gateway Timeout/网关超时)。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有不断努力,才能抵达成功的彼岸;只有坚持奋斗,才能驱散困难的阴霾;只有积极进取,才能迎来人生的辉煌。相信自己,勇往直前,每一次努力都将成就更美好的明天!

只有拼尽全力,才能看见成功的曙光;只有坚持不懈,才能迎来人生的辉煌。今天的努力将成就明日的辉煌,让我们一起奋斗,创造属于自己的非凡人生!

时光如梭,岁月如矢,唯有奋斗不息,才能超越平凡的自己,绽放辉煌的人生。坚持梦想,追求卓越,勇敢面对挑战,无惧失败,每一次拼搏都是通向成功的跃动旋律,继续前行,收获辉煌。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQLite数据库安装

安装方式一: sudi apt-get install sqlite 安装方式二: https://www.sqlite.org/download.html 1. 把下载的文件 sqlite-autoconf-3420000.tar.gz 上传到开发板 2. tar xvf sqlite-autoconf-3420000.tar.gz 解压 3. cd sqlite-autoconf-3420000 进入…

mac 下 geoserver 安装

一、去官网下载geoserver https://geoserver.org/ 选择一个版本,然后点进去 二、需要配置java环境和设置geoserver 环境变量 1)、java 环境安装 Java Downloads | Oracle 中国 2)、环境变量设置 1.打开终端:command 空格键 2…

校园课表微信小程序全栈项目

遇到的第一个问题关于npm start 首先找到对应的后端项目 crtl shift (esc键下的波浪号) 召唤终端 Error:Cannot find module dotenv 解决问题: npm install dotenv 简写 npm i dotenv 然后遇到第二个问题 Port 3000 is already in use 我的3000接口被占用 那就要去检…

数仓学习---6、数据仓库概述、 数据仓库建模概述、维度建模理论之事实表、维度建模理论之维度表

这是本人的学习过程,看到的同道中人祝福你们心若有所向往,何惧道阻且长; 但愿每一个人都像星星一样安详而从容的,不断沿着既定的目标走完自己的路程; 最后想说一句君子不隐其短,不知则问,不能则…

windows权限维持

文章目录 不死马权限维持映像劫持技术策略组脚本维持shift粘滞键后门建立影子账号powershell配置文件后门Monitor权限维持利用安全描述符隐藏服务后门进行权限维持iis后门window隐藏技术驱动级文件隐藏 不死马权限维持 <?php ignore_user_abort(); //关掉浏览器&#xff0…

Java将获取的参数,图片以及pdf文件放入到word文档指定位置

首先引入的依赖 <!-- poi库 --> <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId&…

配置spark

配置spark Yarn 模式Standalone 模式Local 模式 Yarn 模式 tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module cd /opt/module mv spark-3.0.0-bin-hadoop3.2 spark-yarn修改 hadoop 配置文件/opt/module/hadoop/etc/hadoop/yarn-site.xml, 并分发 <!--是否启动一…

短视频矩阵系统源码--开发实践

短视频矩阵系统源码开发技术&#xff1a; 1. 数据采集&#xff1a;使用Python的requests库进行数据爬取&#xff0c;使用Selenium模拟浏览器操作&#xff0c;解决抖音反爬虫机制。 2. 数据处理&#xff1a;使用Python的正则表达式、BeautifulSoup等库进行数据处理。 3. 关键…

【C++医学影像PACS】CT检查中的三维重建是什么检查?

一、【PACS影像科普】CT检查中的三维重建是什么检查&#xff1f; 三维重建是多层螺旋CT的一个最大的优点&#xff0c;也是影像工作多年来&#xff0c;从横断解剖到多平面&#xff0c;乃至立体的一次飞跃&#xff0c;让抽象变的形象&#xff0c;大大地提高了准确性&#xff0c;为…

力扣142. 环形链表 II

题目 给定一个链表的头节点head&#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回null。 链接&#xff1a;142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 题解 方法一&#xff1a;设置两个指针&#xff0c;一个指针指向链表头结点&#…

支付通道及系统设计

支付渠道&#xff0c;也可以叫支付通道&#xff0c;是指能够提供资金流转功能的通道&#xff0c;包括但不限于银行、第三方支付机构。我们常见的借记卡&#xff08;储蓄卡&#xff09;、贷记卡&#xff08;信用卡&#xff09;、微信、支付宝、云闪付等支付方式&#xff0c;都是…

使用vue3 + Ts + Vite + ElementPlus实现一个抽奖程序

一. 说明 这是一个通过vue3 Ts Vite ElementPlus实现的一个抽奖程序。项目链接 二. 整体架构与功能描述 左侧设置了奖品说明&#xff0c;每个奖项配有文字和图片简介。总共设置了四个奖项&#xff0c;分别是特等奖1名&#xff0c;一等奖2名&#xff0c;二等奖5名&#xf…