普通二本,去过阿里外包,到现在年薪40W+的高级测试工程师,我的两年转行经历...

news2025/1/11 6:08:10

我是一个普通二本大学机械专业毕业,14年毕业,16年转行,目前做IT行业的软件测试已经有3年多,职位是高级软件测试工程师,坐标上海…

我想现在我也有一点资格谈论关于转行这个话题;希望你在决定转行之前,首先搞清楚转行是你内心热爱还是一时冲动;

如果说跳槽是另谋良机的话,那么转行在绝大多数情况下,就是重头开始,风险很大。所以才有句老话讲,“跳槽穷半年,转行穷三年”,虽然未免绝对正确,但确实有点道理。在这种情况下,跟继续死熬下去相比,转行,或许是最不坏的选择。所以,在你考虑转行之前,不妨多花一点时间,对你感兴趣的几个行业,进行主动、全方位的了解和筛选。

我当时转行也是机会+运气,为什么这么说,我机械本科毕业,毕业就知道没有好的工作,基本就是机械行业的销售,或者技术制图,或者去厂里一二线,但是作为一个本科生,三个里的任何一个都不想,有的人会说,做机械的技术制图不错呀,但是不然,一是学校里根本没学会任何技术,都是书本的,考试过了就行,不瞒各位,大学英雄联盟我是一把好手,haha。

转行经历

后来在上海干了一年多销售,一个月平均6,7000左右,和同事合租一套1500的小单间,去掉开销,基本没剩余,每次看到马路上开豪车,高档餐厅消费,大手大脚花钱的人适合我都会思考,我怎么才能在上海混下去,像现在这样继续下去,最后肯定还是只能混不下去,灰溜溜回老家,可是回老家,我又能干什么呢???

后来也算是运气机遇来了,当时已经决定找其他出路了,只是不知道怎么办,正巧有个客户,关系维护的还算可以,他就是做IT的,知道我的想法,就介绍了我去他认识的一个IT培训机构学习。

这个我现在总结起来也就是一句话“选择大于努力”了。

我当时的学习过程是学习+就业,全日制学习的,大概三个多月的时间,因为我是本科,年龄和学历都合适,加上我学的不错,那边机构就业也很负责,所以当时就业的月薪资正好1w整,已经是很满足了!现在看来和其他机构比起来时间已经是很短了,好像很多机构都要5,6个月才能学完和就业,这样一算,我上班几个月学费都赚回来,其他机构的好像还没毕业呢,而且他们的就业薪资我虽然不大清楚,但是我的收入肯定是不低了。

现在转行工作后三年多,收入的增长,也是需要不断学习行业技术才行的,那些想着转行就能一辈子高薪的这是不可能的,尤其是IT技术行业,很简单,一样的不进则退。

我的转行过程,可以总结几个建议: 你是如何转行的?转行容易吗?凡事豫则立,不豫则废,没有事先做好准备,最终即使转行了于你的生活也不会有太大的改变。转行是个不容易的过程,转行之后的技能积累和学习过程也是不容易的。转行只是个开始,转行成功后,你还需要做很多的积累才能获得你想要的东西,如果想要投机取巧,那么建议不要转行。

衷心建议

所以以一个过来人来讲,如果大家想转行,我的几点建议是:一定要自己想好转行,千万别半推半就转行,这样转行的动力肯定不足,学不下去的;二是转行一定要有认识的推荐靠谱的或者自己深入了解机构的就业情况,尤其是怎么保证就业的,不要听销售的吹,甚至网上的评价都是水军写的,要去问真得那边学出来的人,他们的评价才是最真实的。因为很多机构广告做的很大,但是就业很烂,花同样的钱,半年的时间,最后就业薪资很低或者根本就不了业, 店大欺客,你搞不过他,最终自己损失的是大量的金钱+时间!没有谁能承受这个损失。

做为一名测试人,我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级自动化测试需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到底的朋友!

1、软件测试基础理论知识:

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。

软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考

测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程

开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程

测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷

测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行

设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等

软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告

缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。

测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。

2、软件测试功底技术——Linux系统

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。

linux系统基本知识:多用户,多任务,发行版本等

常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等

会部署和配置基本的应用jdk、 mysql、 tomcat

docker安装使用

编写基本的 shell RAD本

远程终端工具使用: shell, xftps等

3、软件测试功底技术——Sql数据库

数据库作为软件系统必备的应用系统,在诸如接口测试、性能测试等等过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。

数据库基本概念

关系型数据库

MYSQL基本的增改查语句,存储过程

MYSQL复杂查询、多表查询

MYSQL索引及事务相关概念

数据库客户端工具使用:如 Navicat

4、软件测试功底技术——编程语言

推荐没有编程基础的朋友可以学习Python语言

Python语言的学习内容包含以下知识点:

Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序

数据结构:

基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;

组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据

程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符

函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数

模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip

面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法

日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件

测试框架:unitest、pytest等

并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器

网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

5、软件测试自动化进阶——接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

http/httpst协议学习

常见请求方法学习:GET、POST

cookie和 session学习

接口的基本概念

接口文档认识

接口测试用例编写

接口测试工具使用:postman、Jmeter、SoapUl

6、软件测试自动化进阶——性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景。

性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类

性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试

Jmeter及 roadrunner使用

性能测试报告输出

7、软件测试自动化进阶——app自动化

越来越多的项目和系统通过移动端来提供服务,移动端的软件质量越来越重要,App自动化测试已经成为自动化测试的重要内容。借助Appium,使得App自动化测试和Web自动化测试有很多相通之处,不过作为测试工程师,依然需要掌握移动端应用的工具和特性。

Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 - - UiAutomator22、 Monkey

Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位

Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析

封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

8、软件测试自动化进阶——持续集成和持续测试

持续集成和持续测试是一个在迭代中构建、测试产品并修复Bug的过程。它有助于团队在开发阶段的初期发现缺陷,这时的缺陷通常相对不那么复杂,并且更容易被解决。通过持续集成和持续测试,可以尽早地将错误风险降至最低,并加快交付更好质量的软件。

版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云

持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理

容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

这些资料,对于从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入下方我们的测试交流群大家一起讨论交流学习。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爆品分析第4期 | 从周销12件到3700+件,这款收腰裤热度和口碑都爆了!

衣食住行,衣是排在第一位的,作为复购率最高的类目之一,服饰一直是TikTok上电商选品的风向标,是衡量电商发展情况的重要参考指标。随着疫情的结束和经济的日渐好转,消费者对服装类的需求上升。除了时装、T恤等日常消费的…

无损音乐格式:FLAC和ALAC

前言:我最近在弄苹果的airplay项目,发现airplay2对比airplay多了音质方面的增强。AAC和MP3接触过,但对FLAC和ALAC完全不了解,整理学习资料汇总成如下信息: AirPlay2 在2017年推出,在前一代AirPlay的基础上…

一篇文章搞性IPV6的原理和配置

本章对IPV6做了简单的介绍,并通过实验让读者了解IPV6地址和6TO4隧道的配置方法。 本章包含以下内容:  IPV6的概述 配置IPV6地址 配置6to4隧道  10.1 IPv6的概述 IPv6(Internet Protocol Version 6)是网络层协议…

MyBatis源码分析(一)MyBatis整体架构分析

文章目录一、为什么要用MyBatis1、原始JDBC的痛点2、Hibernate 和 JPA3、MyBatis的特点4、MyBatis整体架构5、MyBatis主要组件及其相互关系6、MyBatis源码的特点二、源码环境搭建未完待续一、为什么要用MyBatis 1、原始JDBC的痛点 在传统JDBC场景下,SQL 夹杂在Jav…

Databend 开源周报第 80 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.com 。Whats New探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。Features & Improvements :…

Unity Asset Bundle学习 - 加载本地资源

Unity的 Asset Bundle 文档 https://docs.unity3d.com/cn/2019.4/Manual/AssetBundles-Workflow.html 第一次接触 直接按官方文档操作 下面接着按文档走流程 构建AssetBundle 此脚本将在 Assets 菜单底部创建一个名为 Build AssetBundles 的菜单项,该菜单项将执行与…

STM32学习笔记-DMA

文章目录一、功能框图通道选择仲裁器FIFO1. **FIFO**: First in First out2. FIFO作用:端口二、DMA模式配置1. 传输模式2. 源地址和目标地址3. 流控制器4. 循环模式5. 传输类型6. 直接模式7. 双缓冲模式8.DMA中断事件三、程序设计1. DMA初始化结构体DMA(Direct Memo…

20 | k8s v1.20集群搭建master和node

1 单节点master 1.1 服务器整体规划 1.2 单Master架构图 1.3 初始化配置 1.3.1 关闭防火墙 systemctl stop firewalld systemctl disable firewalld1.3.2 关闭selinux sed -i s/enforcing/disabled/ /etc/selinux/config # 永久 setenforce 0 # 临时 1.3.3 关闭swap …

tiktok小店如何找到美妆爆品?(内附2月tiktok数据分析)

根据相关数据统计,2023年来全球美妆个护零售总额稳步增长。随着全球化加剧,越来越多的美妆个护品牌选择出海,寻找新的增长和变现机会。Tiktok的快速发展给这些美妆个护品牌提供了新的可能,打通了出海的新思路。同时对于出海的小店…

LeetCode 2373. 矩阵中的局部最大值

LeetCode 2373. 矩阵中的局部最大值 难度:easy\color{Green}{easy}easy 题目描述 给你一个大小为 nxnn x nnxn 的整数矩阵 gridgridgrid 。 生成一个大小为 (n−2)x(n−2)(n - 2) x (n - 2)(n−2)x(n−2) 的整数矩阵 maxLocalmaxLocalmaxLocal ,并满足…

解决Ubuntu虚拟机不能复制粘贴

安装虚拟机的时候就有点不顺,在填写用户名和密码的时候键盘敲不上字,重新又安装了几次才行,安装成功后发现不能复制粘贴主机的内容,这肯定不行啊,找解决方案,网上也有很多,有如下:重…

泰克示波器|MSO64示波器的应用

泰克新一代示波器MSO64为实例来讲解时频域信号分析技术。MSO64采用全新TEK049平台,不仅实现了4通道同时打开时25GS/s的高采样率,而且实现了12-bit高垂直分辨率。同时,由于采用了新型低噪声前端放大ASIC—TEK061,大大降低了噪声水平…

Springboot整合Easy-Es

版本说明 Springboot 2.7.5JDK 17Elasticsearch 7.14.0Easy-Es 1.1.1《点我进入Easy-Es官网》PS&#xff1a;目前Easy-Es暂不支持SpringBoot3.X Windows10安装Elasticsearch 《安装Elasticsearch教程》 pom.xml <parent><groupId>org.springframework.boot<…

SpringBoot集成Swagger3.0(入门)01

创建SpringBoot项目 创建完成后再pom文件中导入swagger3.0依赖&#xff0c;具体的pom文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://w…

一看就懂 —— Spring boot + Spring MVC + MyBatis 基础框架demo

目录 前言 一、项目依赖 二、配置文件 三、创建数据库和实体类 3.1、创建数据库 3.2、创建实体类 四、构建 Mapper 层代码实现&#xff08;接口 XML&#xff09; 4.1、创建接口 4.2、创建 XML 4.3、XML 文件与接口的对应关系 五、实现服务层 六、实现控制器 小结 …

原生JS实现拖拽排序

拖拽&#xff08;这两个字看了几遍已经不认识了&#xff09; 说到拖拽&#xff0c;应用场景不可谓不多。无论是打开电脑还是手机&#xff0c;第一眼望去的界面都是可拖拽的&#xff0c;靠拖拽实现APP或者应用的重新布局&#xff0c;或者拖拽文件进行操作文件。 先看效果图&am…

动态IP与静态ip的区别是什么

1、DHCP IP即动态ip&#xff0c;可以自动获取IP地址。静态ip上网又被称为固定IP地址上网&#xff0c;需要手动设置IP地址。2、在网速上&#xff0c;动态ip和静态ip没有区别。3、动态ip不是一个真实的IP地址&#xff0c;静态IP是可以直接上网的IP地址。静态ip和动态ip设置方法&a…

datahub部署

硬件要求DataHub官方要求的最低配置为&#xff1a;2 个 CPU、8GB RAM、2GB 交换区和 10GB 磁盘空间。本文的示例环境为阿里云centos8云服务器安装dockeryum -y install docker sudo systemctl start docker安装docker-composecurl -SL https://get.daocloud.io/docker/compose…

Python3-列表

Python3 列表 序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值&#xff0c;称之为索引&#xff0c;第一个索引是 0&#xff0c;第二个索引是 1&#xff0c;依此类推。 Python 有 6 个序列的内置类型&#xff0c;但最常见的是列表和元组。 列表都可以进…

VUE前端常问面试题

文章目录一、VUE前端常问面试题二、文档下载地址一、VUE前端常问面试题 1、MVC和MVVM 区别 MVC&#xff1a;MVC全名是 Model View Controller&#xff0c;即模型-视图-控制器的缩写&#xff0c;一种软件设计典范。 Model(模型)&#xff1a;是用于处理应用程序数据逻辑部分。通…