工作10年的测试工程师被炒,没有方向,你根本躲不过中年危机

本文探讨了软件测试行业的中年危机现象,指出兴趣和持续学习的重要性。软件测试前景光明,薪资逐年增长,需求量增加。文章提供了详细的软件测试学习大纲,包括基础理论、Linux、Sql、编程语言(Python)、接口测试、性能测试、App自动化和持续集成等。同时,强调了持续学习和准备对于职业发展的重要性,提供配套学习资源以助力测试人员提升技能。
摘要由CSDN通过智能技术生成

很多人都说软件测试是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我:

  • 软件测试也有中年危机吗?
  • 软件测试的前景怎么样?
  • 该如何学习软件测试?

在软件测试行业混迹了接近十年的我,最近也在思考,如何突破软件测试行业的天花板,这个行业究竟如何规划职业发展道路?

一、软件测试也有中年危机吗?

毫无疑问,软件测试是有中年危机的

这些年随着测试行业的发展,很多人转行IT,软件测试的群体也越来越庞大,他们当中,有人非常喜欢,所以就会花更多的时间自发的去研究程序,去学习一些新技术;而对有的人来说,他们当初进入这个行业只是为了高薪,所以在这个行业工作几年等年纪大了以后,他们自然会对这个行业里所做的事情感到越来越反感,自己也想早点离开这个行业。

不论是做软件测试还是做其他工作,如果你对当前所做的这件事情非常感兴趣,那不论你年纪多大,你都会自发的去学习很多东西,你总能拼命的爬到行业的金字塔顶端;反之你会更容易会感到迷茫,最终在迷茫和压力之下被迫淘汰。

二、软件测试前景怎么样?

测试到底有没有前景,不需要泛泛而谈讲道理,只要亮出不断上升的测试行业薪资已经有了答案。现在就亮出中立平台职友集历年的薪资截图,请看:

从以上图片可以看到,测试薪资是一路往上涨的,尤其是在2015年和2017年,都是30%以上的增幅。

为什么薪资会持续上涨呢?那就是测试的需求量在不断的放大,请看下方截图:

随着互联网发展,某一赛道的竞争者越来越多。当前互联网的同质化竞争,是运营取胜,更是质量取胜,而测试是保证质量的守门员。

所有的互联网产品经过开发后,都需要专业人员测试后才能上线,软件测试在软件开发过程中已经占据了一半乃至更多的工作量,因此软件测试的重要性也在行业中逐步上升,毕竟优秀的软件测试团队是软件质量的重要保证。测试岗位早就是互联网三大技术支撑部门。


薪资越来越来高,岗位越来越多,地位越来越受到重视,甚至和开发比,测试的薪资也不遑多让。甚至10年工龄后,软件测试平均薪资开始超越开发(中立网站职友集数据)。测试发展这么有后劲,怎么会没有前景?

所以说,只要互联网有前景和出路,测试就会有前景和出路。

三、软件测试整体学习大纲

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

软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。测试理论本身的理解掌握往往通过案例反复练习思考理解的过程。理论阶段包含的核心知识内容有如下:

  1. 软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
  2. 测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
  3. 开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
  4. 测试流程:掌握并指导测试人员在实际项目中如何开展测试工作。这要求测试人员对常见的主流测试流程有较为透彻的理解。遇到不同的软件项目,知道从何处着实能最有效率的测试软件缺陷
  5. 测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
  6. 设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法。比如黑盒测试用例的设计方法、测试用例元素等等
  7. 软件缺陷:在测试执行过程中应该确定缺陷并提交缺陷报告
  8. 缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题。例如:bug的等级优先级分类、bug的描述、bug的生命周期、缺陷管理工具使用,如禅道等。
  9. 测试报告:测试过程的回顾和结果确认,生成系统性的专业软件测试评估报告。
    在这里插入图片描述

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

linux系统是主要的服务端操作系统,也是从事IT岗位的大部分人员必须具备的基本技术之一。作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。

  1. linux系统基本知识:多用户,多任务,发行版本等
  2. 常见 linux操作命令:日志查看,文件压缩、解压,用户管理,文件权限等
  3. 会部署和配置基本的应用jdk、 mysql、 tomcat
  4. docker安装使用
  5. 编写基本的 shell RAD本
  6. 远程终端工具使用: shell, xftps等

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

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

  1. 数据库基本概念
  2. 关系型数据库
  3. MYSQL基本的增改查语句,存储过程
  4. MYSQL复杂查询、多表查询
  5. MYSQL索引及事务相关概念
  6. 数据库客户端工具使用:如 Navicat

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

高级的自动化测试工程师都会涉入到编程语言的检查环节。懂编程,不代表你要写出一个网站或者一个小程序,如果要求真那么高的话,你都可以去做开发了。所以做测试要学编程只不过是为了让我们能够写自动化脚本,去完成更多复杂的大型项目测试,也是提高自身测试技术上限必备的技术点。

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

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

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

  2. 数据结构:

    1. 基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;
    2. 组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
  3. 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符

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

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

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

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

  8. 测试框架:unitest、pytest等

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

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

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

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

  1. http/httpst协议学习
  2. 常见请求方法学习:GET、POST
  3. cookie和 session学习
  4. 接口的基本概念
  5. 接口文档认识
  6. 接口测试用例编写
  7. 接口测试工具使用:postman、Jmeter、SoapUl

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

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。

  1. 性能基本概念:性能测试意义、常见性能指标理解、性能测试的分类
  2. 性能测试流程:性能需求分析、性能场景设计、测试脚本编写、测试执行资源监控、性能调优、回归测试
  3. Jmeter及 roadrunner使用
  4. 性能测试报告输出

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

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

  1. Appium移动测试环境搭建:Appium ServerAppium和 Desktop、 Android运行环境搭建、模拟器安装和连接、真机设备调试模式、adb、 weditor、 UiAutomator22、 Monkey
  2. Appium元素定位:原生应用元素定位、纯web应用元素定位、混合应用元素定位
  3. Appium元素交互:等待元素加载,元素的基本属性和方法、滑动、拖动、缩放操作、下拉选择操作、 toast消息处理、常见控件分析、常见布局分析
  4. 封装测试框架:集成Appium、adb等工具、预定义异常处理、记录Appium日志、屏幕截图、打造多用途测试框架

在这里插入图片描述

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

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

  1. 版本控制Git:背景介绍、环境部署、工作区、暂存区和提交区、分支创建与合并、解决冲突、标签、 config与别名、本地仓与远程仓、 GitHub与码云
  2. 持续集成 Jenkins:背景介绍、环境部署、文件结构、远程仓库与私服、ja包依赖、插件管理
  3. 容器Docker:了解 Dockers的镜像、仓库、容器、 Docker Engine和架构图、网络设置、数据持久化

很抱歉,这篇没有让你觉得耳目一新的技能,也没有让你一天成为大佬的绝妙锦囊。

所以为大家准备一份配套学习资源:

囊括了:

  • 2021.9月最新版软件测试全套完整视频
  • 500套软件测试面试题+面试讲解视频
  • 10套典藏版 超高价值的软件测试试卷
  • 300套软件测试项目简历模板
  • 80套各类软测用例的设计模板合集

最后一句话送给大家:机会只垂青有准备的人,这是一个靠本事的社会。有时候,你之所以发展得不好,不是因为没有机遇,而是因为你没有准备好,导致机遇与你擦肩而过。如果你想要学习,什么时候开始都不晚,而不是瞻前顾后,你只要用尽全力,剩下的交给时间!

加油吧,测试人!路就在脚下,成功就在明天!

精彩推荐:

公司新来的阿里p8,看了我做的APP和接口测试,甩给了我这份文档…

腾讯二面:web测试问题被虐哭了,直到学长给了我这些知识点…

面试滴滴科技,被按在地上摩擦,鬼知道我经历了什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员二黑

V:testerhei

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值