当前位置: 首页 > news >正文

我从功能测试到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性能测试九、总结(尾部小惊喜)前言 常见的接口&#xf…...

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 论文&#xff…...

数据库分库分表

一、为什么要分库分表 如果一个网站业务快速发展,那这个网站流量也会增加,数据的压力也会随之而来,比如电商系统来说双十一大促对订单数据压力很大,Tps十几万并发量,如果传统的架构(一主多从),主库容量肯定无法满足这么高的Tps,业务越来越大,单表数据超出了数据库支持…...

【C缺陷与陷阱】----语义“陷阱”

💯💯💯 本篇处理的是有关语义误解的问题:即程序员的本意是希望表示某种事物,而实际表示的却是另外一种事物。在本篇我们假定程序员对词法细节和语法细节的理解没有问题,因此着重讨论语义细节。导言&#xf…...

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…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

企业如何增强终端安全?

在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、👨‍🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨‍&#x1f…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦&#xff0…...