我从功能测试到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…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)
+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...

HTTPS证书一年多少钱?
HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...