我从功能测试到python接口自动化测试涨到22k,谁知道我经历了什么......
目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
 
前言
常见的接口:
 http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、jmeter、apifox、loadrunner等;
python接口自动化测试:https://www.bilibili.com/video/BV16G411x76E/
webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;
对于软件测试而言,有几个大体的发展方向:功能,接口,UI,性能。
对于有一定基础测试经验的软件测试从业者来说,接口肯定是最好的方向
 阅读完此文我就会告知你原因
接下来我将从下面三个方面来阐述:
 1、为什么对于初学者来说,接口是最好的进阶方向?
 2、接口学习可以分为哪三个阶段?
 3、接口学习的三个阶段分别学什么?
接口测试最好的方向
为什么对于有一定基础测试经验的软件测试从业者来说,接口是最好的方向?
 目前项目实现方式,绝大多数都是采用前后端分离,所以功能都需要通过接口来完成,所以接口测试应用广泛,必不可少;
相对于功能、UI、性能测试而言,接口学习的性价比更高;
相对于功能测试,接口测试之后可以选择实现自动化,方便回归;
相对于UI测试,要么是考虑手动测试,要么是考虑自动化。如果是UI自动化的话,在项目还处于开荒期,迭代比较快且内容更替比较大的情况下,UI自动化的性价比是很低的;
相对于性能测试,它的学习基础就是接口测试;
学好了接口测试,对于我们找一个比较好的工作,帮忙很大。是不是这样?
接口测试已经是现如今测试工程师的标配技能。如果只会功能测试,若再学一个接口测试,起步薪资就能达到13K+了,所以学接口测试的性价比非常高
所以你若要自学,至少要知道如何使用常见的接口测试工具(比如postman、jmeter、ApiPost、Apifox等)去进行接口测试
接口测试学习三个阶段
阶段一
 了解接口测试相关的基础知识,达到的目标有两个:
 1.能解读接口文档;
 2.能编写接口测试用例
阶段二
 学习使用工具完成接口测试,工具推荐Postman和Jmeter。对于新人,没有接触过接口测试的,我建议先学习使用Postman这种工具,因为它上手要比Jmeter友好很多
阶段三
 学习使用代码完成接口测试,并且能搭建接口测试的自动化框架。这最后一个阶段,也可以说是接口测试从接口自动化测试的过渡阶段
虽然使用Postman或者Jmeter也能完成接口的自动化测试,但是如果你想要拿到月20k+的offer,代码这一块是无论如何都绕不过去的。
这里建议用python做自动化测试。现企业的主流
学习的三个阶段
第一阶段学习内容
 这一个阶段,我们主要是了解接口测试的一些基础知识
包括下面这些:
 了解接口及接口测试的概论
 知道什么是接口,什么是接口测试,并且了解接口测试的原理和为什么要进行接口测试
理解Http协议
 (1)了解Http协议的作用是什么,都有哪些特点
 (2)理解URL,以及URL的组成部分
 (3)理解Http协议的两个组成部分,Http请求和Http响应,掌握如何通过抓包Fiddler,谷歌的开发者工具,fiddler或者charles抓取接口,并且查看这两部分的内容
 (4) 重点掌握Http请求的请求方法都要哪些
 (5) 重点掌握常见的Http响应的状态码都有哪些,并且代表什么意思
了解接口规范,重点了解Restful接口风格
接口文档的解析
 (1)明白接口文档的作用
 (2) 知道接口文档都应该要包含哪些内容
最重要的,接口的测试用例编写。这里的重点是理解接口测试用例设计的思路和方法。
第二阶段学习内容
 对于初学者而言,我建议以postman入手开始学习接口测试,因为它对于新手而言,比Jmeter友好太多了
基本上5天左右就能完成掌握,对一般遇到的接口进行测试一点问题都没有
对于Postman的学习可以从以下几个方面进行学习:
基本的设置
 创建接口请求
 设置请求方法
 URL
 在URL中设置参数
 设置请求头
 设置表单格式和JSON类型的请求体参数,能查看响应数据和响应的状态码
高级的用法
 (1)进行接口测试用例的管理
 (2)使用postman完成断言
 (3) 使用Postman完成接口之前的数据关联
 (4) 使用postman完成测试数据的参数化
 (5) 学习使用请求的前置脚本
学习借助newman这个插件完成生成测试报告
第三阶段学习内容
 接口测试的第三阶段,其实就可以理解为是接口的自动化测试了。目前在这个行业里面实现接口自动化,大部分就是两个方向,一个是JAVA,另外一个是Python。但是对于一个没有什么代码基础的不太友好。
这个阶段我强推Python,因为从学习Python到能实现接口自动化框架的搭建,最多一个月就能实现。而你要选择JAVA的话,一个月的时间,你连基础还没有学完
如果要学习Python进行接口自动化的话,可以分成以下几个步骤:
学习Python
 Python的基础语法,如变量、函数和类,顺序、分支、循环;
 python框架封装;
 Python的单元测试框架,unittest和pytest
学习使用代码进行数据库的操作,工具包pymysql
 学习使用代码,进行SQL语句的增,删,改,查;
 学习使用代码,进行事务的手动提交
 自行封装一个数据库的工具类
学习使用代码进行接口测试,学习工具包requests
学习借助unittest或者pytest搭建接口自动化框架
只要能完成这最后一个阶段,基本上接口测试这一块就通透了,想找一个20k+以上的工作就没有问题。最后的话,还可以继续学习Jmeter或者loadrunner来进行接口性能方面的测试。
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 | 
一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)
过去的,让它过去,永远不要回顾;未来的,等来了时再说,不要空想;我们只抓住了现在,用我们现在的理想,做我们所应该做的。
相信自己,坚信自己的目标,去承受常人承受不了的磨难与挫折,不断去努力、去奋斗,成功最终就会是你的!
多数人在人潮汹涌的世间,白白挤了一生,从来不知道哪里才是他所想要到达的地方,而有目标的人却始终不忘记自己的方向,所以他能打开出路,走向成功。
相关文章:
 
我从功能测试到python接口自动化测试涨到22k,谁知道我经历了什么......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 常见的接口…...
 
SDG,ADAM,LookAhead,Lion等优化器的对比介绍
本文将介绍了最先进的深度学习优化方法,帮助神经网络训练得更快,表现得更好。有很多个不同形式的优化器,这里我们只找最基础、最常用、最有效和最新的来介绍。 优化器 首先,让我们定义优化。当我们训练我们的模型以使其表现更好…...
 
【项目实现典型案例】12.数据库数据类型不一致导致查询慢
目录一:背景介绍二:索引失效复现四:索引实现的六种情况1、类型转换,函数2、ISNULL3、通配符开头4、范围查询5、组合索引,不符合最左匹配原则6、WHERE子句中的OR四:总结一:背景介绍 MySql数据库…...
【大数据开发】报错汇总
目录 Hadoop Attempting to operate on hdfs namenode as root jps后没有namenode Hive Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V Caused by:o…...
 
HTTPS的加密原理(工作机制)
现在很多网站使用的都是HTTPS协议,比如CSDN他们为什么要使用HTTPS协议而不是继续使用HTTP协议呢?以及HTTPS都做了些什么?HTTP协议与HTTPS有哪些区别? 下面我来 讲解这些问题?(篇幅可能有些长,请求耐心观看,我以0基础的角度去讲解这些东西, 如果你有一定的基础前面的跳过就好…...
Git仓库迁移
背景 由于公司原来的gitee地址需要改完新的gitlab仓库,大量的服务模块已再本地进行开发,且存在大量分支进行维护,迁移要求历史提交记录也得同步,需要简单快捷一并完成各服务已经分支迁移。 一、在新的目标git中创建新代码仓 新…...
用CHATGPT生成C++面试题及答案
以下是C的面试题及其答案: 什么是C?C与C语言有什么区别? C是一种高级编程语言,是对C语言的扩展。C具有更强大的面向对象编程能力,支持类、继承、多态等特性。 什么是面向对象编程? 面向对象编程是一种编程…...
 
二进制,八进制,十进制,十六进制的相互转换【简单易懂】(含代码模板)
目录 二进制转十进制 十进制原理: 二进制转十进制计算: 八、十六进制转十进制 八、十六进制转十进制计算: 十进制转其他进制 十进制转二进制: 十进制转八进制: 十进制转十六进制: 不同进制之间的相互转…...
 
Redis技术详解
Redis技术详解 Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存&…...
 
解决mybatis-plus updateById方法不能set null
原因 因为 MyBatis-Plus 自带的更新方法,都有对对象空值进行判空。只有不为空的字段才会进行数据更新 所以像updateById等方法,在更新时会自动忽略为null的字段,只更新非null字段值 但在某些情况下,我们的需求就是将数据库中的值…...
Linux的mysql 数据库及开发包安装
注意:以下操作都以 root 用户进行操作 直接按照下列步骤在命令行输入即可 下载 1: sudo yum install -y mariadb 2: sudo yum install -y mariadb-server 3: sudo yum install -y mariadb-devel 接下来配置文件:在相应…...
 
π-Day快乐:Python可视化π
π-Day快乐:Python可视化π 今天是3.14,正好是圆周率 π\piπ 的前3位,因此数学界将这一天定为π\bold{\pi}π day。 π\piπ 可能是最著名的无理数了,人类对 π\piπ 的研究从未停止。目前人类借助计算机已经计算到 π\piπ 小数…...
 
【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取
【论文速递】ACM MM 2022 - 基于统一对比学习框架的新闻多媒体事件抽取 【论文原文】:Multimedia Event Extraction From News With a Unified Contrastive Learning Framework 【作者信息】:Liu, Jian and Chen, Yufeng and Xu, Jinan 论文ÿ…...
数据库分库分表
一、为什么要分库分表 如果一个网站业务快速发展,那这个网站流量也会增加,数据的压力也会随之而来,比如电商系统来说双十一大促对订单数据压力很大,Tps十几万并发量,如果传统的架构(一主多从),主库容量肯定无法满足这么高的Tps,业务越来越大,单表数据超出了数据库支持…...
 
【C缺陷与陷阱】----语义“陷阱”
💯💯💯 本篇处理的是有关语义误解的问题:即程序员的本意是希望表示某种事物,而实际表示的却是另外一种事物。在本篇我们假定程序员对词法细节和语法细节的理解没有问题,因此着重讨论语义细节。导言…...
 
JavaWeb--VUE
VUE1 概述2 快速入门3 Vue 指令3.1 v-bind & v-model 指令3.2 v-on 指令3.3 条件判断指令3.4 v-for 指令4 生命周期5 案例5.1 需求5.2 查询所有功能5.3 添加功能目标 能够使用VUE中常用指令和插值表达式能够使用VUE生命周期函数 mounted 1 概述 接下来我们学习一款前端的框…...
 
2分钟彻底搞懂“高内聚,低耦合”
💗推荐阅读文章💗 🌸JavaSE系列🌸👉1️⃣《JavaSE系列教程》🌺MySQL系列🌺👉2️⃣《MySQL系列教程》🍀JavaWeb系列🍀👉3️⃣《JavaWeb系列教程》…...
网络编程UDP TCP
定义:关注底层数据的传输 区分网页编程:关注上层应用 端口号:区分软件 2个字节 0~65535表示端口号 同一协议下端口号不能冲突 8000以下称为预留端口号,建议之间设置端口号为8000以上 常见的端口号: 80:http 8080:tomcat 3306:mysql 1521:oracle InetSocketAddress:此类实现IP套…...
 
【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测
随着社会和经济的持续发展,电力系统的投资与建设也日益加速。在电力系统中,输电线路作为电能传输的载体,是最为关键的环节之一。而绝缘子作为输电环节中的重要设备,在支撑固定导线,保障绝缘距离的方面有着重要作用。大…...
交叉编译(NDK)
文章目录前言Android-NDK使用NDK目录结构主流的Android NDK交叉编译前言 交叉编译是指在一种计算机体系结构上编译和构建应用程序,但是生成的可执行文件和库是针对另一种不同的体系结构,比如ARM、MIPS、PowerPC、x86 等。 常见的交叉编译工具集&#x…...
 
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
 
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
 
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
 
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
 
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
 
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
