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

5年测试在职经验之谈:3年手工测试、2年的自动化测试,从入门到不可自拔...

毕业3年了,学的是环境工程专业,毕业后零基础转行做软件测试。

已近从事测试行业8年了,自己也从事过3年的手工测试,从事期间越来越觉得如果一直在手工测试的道路上前进,并不会有很大的发展,所以通过自己的努力,早几年已经成功的转入自动化测试的方向,又过去了这么久,现在就职于美团测试开发框架组,搭建过美团platuo测试框架,thrift测试框架,自动化测试平台,熟悉python3,java,vue,在多家公司从0到1搭建过自动化测试框架,保障过亿级流量服务的质量工作。

虽然这不是什么值得说道的事情,但我想,自己的经历应该能为那些想转行做软件测试,却又不知该如何下手的朋友们提供一点微不足道的经验,这也是我为什么要撰写这篇文章的原因。

一、手工测试的工作日常

手工测试主要是通过手工操作的方式来测试功能是否符合要求,存在许多主观因素,有可能因为测试人员的失误导致功能点的漏测或者由于测试人员的主观因素给开发人员提一些并不是bug的bug,浪费大家的时间,且大多数是重复性工作,容易产生厌烦心理。

二、自动化测试的工作日常

自动化测试主要是使用工具,利用代码自动的执行测试用例。这种方法主观因素较少,对就是对,错就是错,并不会因为测试人员主观的因素影响测试结果。而且除去编写自动化脚本的时间,进行自动化测试的时候,效率高,节省了测试人员的时间。而且在做版本的回归测试的时候,自动化测试占明显优势。而且自动化测试工程师的工资真的比功能测试工程师的薪资强太多了

三、为什么要向自动化测试方向发展?

手工测试可替代性太强。只要你会分析需求,只要会编写测试用例,就可以进行手工测试,而且3年的手工测试和5年的手工测试并没有什么大的区别,企业在招聘的时候更倾向于3年的应聘者,因为3年和5年的手工测试,工作能力差不多,3年的手工测试该会的都已经会了,并且3年的应聘者的期望薪资要低于5年的应聘者,所以手工测试的工作时间越长反而越没有竞争优势。

反观自动化测试,需要有一定的代码基础和逻辑思维能力,及随时处理脚本编写过程中的各种问题的能力,这个随着工作经验的增长,各种能力也会随之增长,所以说经验越丰富的自动化测试工程师越吃香。

四、进阶自动化,需要做什么?

如果我们想向自动化测试方向发展,需要做什么?

我的自动化测试之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,所以,我和朋友花了一段时间整理编写了下面的《自动化测试工程师发展规划路线》,希望会给你带来帮助和方向,也整理了一些自动化测试资源,说到这大家别急哈哈,接着往下看,为了不影响大家阅读文章,放在了文末

【自动化测试提升路线】

1.自动化测试必备Python编程内容


2.Web UI 自动化测试基础内容



3.Web UI 自动化测试实战内容


4.APP UI 自动化测试基础内容


5.APP UI 自动化测试实战内容


6.API 接口自动化测试基础内容


7.API 接口自动化测试实战内容


8.CI/CD持续集成专项技术


9.自动化测试框架实战技术


上面就是我整理出来的一份自动化测试工程师技术路径图。希望大家能在这个成长过程中收益良多。全方位提升测试技术,建立一套属于自己的技术体系。帮助大家不断学习和优化技术栈,跟进先进和主流的测试技术,给到大家带来的不仅仅是技术和薪资的提升,更多的是改变测试人在IT技术领域的地位和心态,拔高测试行业的技术深度。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

相关文章:

5年测试在职经验之谈:3年手工测试、2年的自动化测试,从入门到不可自拔...

毕业3年了,学的是环境工程专业,毕业后零基础转行做软件测试。 已近从事测试行业8年了,自己也从事过3年的手工测试,从事期间越来越觉得如果一直在手工测试的道路上前进,并不会有很大的发展,所以通过自己的努…...

QHash-官翻

QHash 类 template <typename Key, typename T> class QHash QHash 类是一种模板类&#xff0c;提供基于哈希表的字典类结构。更多内容… 头文件:#include <QHash>qmake:QT core派生类:QMultiHash 所有成员列表&#xff0c;包括继承的成员废弃的成员 注意&…...

MYSQL 配置优化

max_connections 允许客户端并发连接的最大数量&#xff0c;默认值是151。 show status like %connections%; 设置参数值应大于Max_used_connections。如果使用连接池&#xff0c;可参考连接池的最大连接数和每个连接池的数量作为参考设置 innodb_buffe_pool_instances Inno…...

多 态

1多态的基本概念多态是C面向对象三大特性之一多态分为两类静态多态: 函数重载和运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚函数实现运行时多态静态多态和动态多态区别:静态多态的函数地址早绑定–--编译阶段确定函数地址动态多态的函数地址晚绑定–--运…...

Java集合

集合、数组都是对多个数据进行存储操作的结构&#xff0c;简称java容器 &#xff08;此时的存储&#xff0c;主要指的是内存层面的存储&#xff0c;不涉及持久化的存储&#xff09; 数组存储的特点&#xff1a; 一旦初始化&#xff0c;其长度就确定了。数组一旦定义好&#x…...

高校借力泛微,搭建一体化、流程化的​内控管理平台

财政部《行政事业单位内部控制规范&#xff08;试行&#xff09;》中明确规定&#xff1a;行政事业单位内部控制是指通过制定制度、实施措施和执行程序&#xff0c;实现对行政事业单位经济活动风险的防范和管控&#xff0c;包括对其预算管理、收支管理、采购管理、资产管理、建…...

使用人工智能赚钱的方式,行业领域有哪些?

使用人工智能赚钱的方式&#xff0c;行业领域有哪些&#xff1f;不少于2000字。 一、人工智能的应用领域 1、金融服务&#xff1a;金融服务行业是人工智能应用的领域之一&#xff0c;它可以帮助银行、信用卡公司等金融机构实现快速、有效的贷款审批&#xff0c;以及客户分析、…...

【数组中重复的数字】-C语言-题解

原题链接&#xff1a;数组中重复的数字 一、描述&#xff1a; 在一个长度为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数…...

C++调用Python脚本进行18次循环操作后,脚本不执行

C调用Python脚本进行18次循环操作后&#xff0c;脚本不执行 现象&#xff1a; 发送端接收端 从第二张图中可以看出&#xff0c;python脚本卡在’[parkin_debug] 6’与’[parkin_debug] 7’之间 该测试经过多次反复测试&#xff0c;均在第18次循环执行时&#xff0c;出现上述问…...

字节10年架构师职业发展经历,助你做好职业规划

一直以来程序员这一职业都给人高薪资的印象&#xff0c;近年来随着互联网行业的快速发展&#xff0c;程序员更是人满为患&#xff0c;然而很多人关注的却是程序员的薪资&#xff0c;而非职业本身。 一批批程序员进入工作岗位&#xff0c;但是很多人并没有对自己的职业生涯有清…...

ArrayList真的是因为实现了RandomAccess接口才能做到快速随机访问的吗

ArrayList和RandomAccess接口RandomAccess 接口Collections.binarySearch()源码总结RandomAccess 接口 首先&#xff0c;RandomAccess接口是什么&#xff0c;以下代码可见&#xff1a; public interface RandomAccess { }RandomAccess接口其实是一个标记接口&#xff0c;它只…...

OSI七层模型与物理层与设备链路层

目录 协议 举例 OSI七层模型 理解七层模型 以下为OSI七层模型数据逐层封装和数据逐层解封的过程 TCP/IP参考模型 数据包的层层封装与层层拆包 各层的数据以及协议 封装所用的协议的数字表示形式 物理层 模拟信号 模拟信号特点 数字信号 数字信号特点 数据通信模…...

Java8的Optional类的使用 和 Stream流式操作

Java知识点总结&#xff1a;想看的可以从这里进入 目录13.6、Optional类13.7、Stream13.7.1、Stream创建13.7.2、中间操作1、筛选2、切片3、映射4、排序13.7.3、终止操作1、遍历2、聚合3、匹配查找4、归约5、收集归集统计分组字符串拼接归约13.6、Optional类 Optional类是一个…...

Authorization Server 认证服务

Hi Auth HiAuth是一个开源的基于Oauth2协议的认证、授权系统&#xff0c;除了标准的Oauth2授权流程功能外&#xff0c;还提供了应用管理、用户管理、权限管理等相关功能。 在这个项目中你能够了解到如何基于spring-security-oauth2-authorization-server实现自己的Authorizat…...

研制过程评审活动(五)生产定型阶段

1. 生产定型阶段主要任务 生产定型的主要任务是对产品批量生产条件和质量稳定情况进行全面考核,以确认产品是否达到批量生产的标准。   需要生产定型的军工产品,在完成设计定型并经小批量试生产后、正式批量生产之前,进行生产定型。生产定型的条件和时间,由定委在批准设计…...

NCUT加权的NMF

矩阵定义 X&#xff1a;特征矩阵&#xff0c;矩阵的维度为体素数mx&#xff08;指标数x被试数&#xff09;n S&#xff1a;相似性矩阵&#xff0c;由特征矩阵的每一行计算皮尔逊相关得到mxm的方阵 D&#xff1a;度矩阵&#xff0c;度矩阵的对角线元素由相似性矩阵S对应的行和…...

从0开始的ios自动化测试

最近由于工作内容调整&#xff0c;需要开始弄ios自动化了。网上信息有点杂乱&#xff0c;这边我就按我的实际情况&#xff0c;顺便记录下来&#xff0c;看是否能帮到有需要的人。 环境准备 安装tidevice pip3 install -U “tidevice[openssl]” 它的作用是&#xff0c;帮你绕…...

vue3中使用jszip压缩文件

1、安装依赖 npm install jszip npm install file-saver --save 2、使用 <template><el-card class"mb15"><template #header><span>jszip</span></template><!-- 二维码容器 --><div id"qrCodeBox">&…...

React 虚拟DOM的前世今生

引文 通过本文你将了解到 什么是虚拟DOM&#xff1f;虚拟DOM有什么优势&#xff1f;React的虚拟Dom是如何实现的&#xff1f;React是如何将虚拟Dom转变为真实Dom&#xff1f; 一、前言 要了解虚拟DOM&#xff0c;我们先明确一下DOM的概念。 根据MDN的说法&#xff1a; 文档…...

Java环境变量配置

一、Path环境变量配置设置环境变量的值&#xff1a;C:\Program Files\Java\jdk-17\bin目前较新的JDK安装时会自动配置javac、java程序的路径到Path环境变量中去 &#xff0c;因此&#xff0c;javac、java可以直接使用。注意&#xff1a;以前的老版本的JDK在安装的是没有自动配置…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

微服务商城-商品微服务

数据表 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 商…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥&#xff0c;再multisim中选择FWB&#xff0c;就有各种型号的电桥: 电桥是用来干嘛的呢&#xff1f; 它是一个由四个二极管搭成的“桥梁”形状的电路&#xff0c;用来把交流电&#xff08;AC&#xff09;变成直流电&#xff08;DC&#xff09;。…...

Spring Boot + MyBatis 集成支付宝支付流程

Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例&#xff08;电脑网站支付&#xff09; 1. 添加依赖 <!…...