工作三年,月薪不到20k,软件测试工程师,担心被应届生取代

2023-12-04

工作了3年,一个月工资不到20K,担心被应届毕业生取代! 互联网的快速发展伴随着员工适者生存的加速。几年是一条分界线。如果人们的能力和体力不够,他们就会被淘汰。生动的工作生活让许多人焦虑不安。

最近,一名来自211本科的测试工程师表达了他的焦虑:“他已经工作了三年多,今年25岁,目前的工资不到20K。然而,考虑到他再过几年就30岁了,他的技术并没有提高多少,但是他熟悉几个框架。除了测试文档的写作能力,他没有真正的接触过自动化测试。我觉得任何应届毕业生都可以取代我。当我看到阿里颁发的年终大奖时,我感到非常焦虑。我不知道接下来的五年该做什么,这样我30岁时就不会太尴尬了。”

事实上,我相信许多朋友也有同样的感觉,并且对这种情况有一些经验,但是改变现状是很困难的。然而,如果人们不努力阐明许多事情,就不可能改变它们的现状。一个人怎么知道自己能否改变它们?找到正确的方向并为之努力并不是不可能的。那么,一个程序员能做什么呢?

首先,自动化测试 怎么才能成为一个合格的自动化测试工程师呢。

必须要掌握一门编程语言,应该以Java或者python为主,虽然什么语言都可以用来做自动化测试,但毕竟这个两个最流行嘛,如果不想成为自动化测试工程师里的非主流自动化测试工程师,那我还是强烈推荐大家选择python语言,对编程基础薄弱很友好,学起来容易些。

编程语言是自动化的核心,不会编程,都是白搭。然后要会主流的测试框架,和一些辅助工具。

主流的框架啊,不外乎selenium,appium,monkey,monkeyrunner之类的,基本上掌握了这个几个APP和UI自动化都可以玩的转了。

第二,性能测试 要做好性能测试 ,一个最重要的前提就是需要了解被测试产品的系统架构,掌握整个系统的数据流向和交互;这样你才能够分析出系统的压力点,从而制定性能测试计划,否则你再牛逼的性能测试工具都可能达不到测试目的。

然后就是选择一个性能测试工具,这里建议多分析下一些开源的性能测试工具,比如:ab性能测试工具。掌握这些工具的实现原理,这对于后面自己去优化工具来达到测试目的会有很大的帮助。而不是简简单单的觉得自己会使用loadrunner的录制回放以及结果分析就是性能测试的大牛了,这样我只能说,你对自己要求太低了。

实践、分析、验证、反复实践,终有一天你会成为该领域的性能测试大牛以及测试专家,这里不得不说的就是,一般性能测试大牛同时也是测试工具开发的大牛,否则你可能还要去依靠别人(不符合大牛的身份)。

作为一名软件测试工程师,该怎样努力才能快速成为一名优秀的测试开发大佬,或者性能测试大佬,或者说作为一名软件测试工程师需要掌握哪些知识体系。这不仅是一个刚刚踏入职场的软件测试工程师,也是工作三五年之后开始迷茫的工程师,都必须要面对和想明白的问题。

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

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

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

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

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

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

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

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

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

编程语言推荐大家以Python为首,Java语言为辅学习,查看各大招聘网站,基本上也是以这两种语言为主的。没有编程基础的朋友可以先学习Python语言

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

  • Python基础:Python语言特点、运行环境、基本语法、代码风格、示例程序
  • 数据结构:基本数据结构:数字、字符串、类型判断、类型转换、切片、字符串格式化、数值运算、位置参数和关键字参数;组合数据结构:列表、元组、范围、字典、集合、不可hash对象、解包、内存地数据结构址、不可变数据
  • 程序控制:顺序结构、循环结构、判断结构、异常处理、逻辑运算符
  • 函数:定义函数、函数的参数、返回值、变量作用域、匿名函数、常用内置函数
  • 模块和库:模块和包、import关键字、常用标准库、常用第三方库、包管理工具pip
  • 面向对象:面向对象起源和优势、面向对象的特性类和对象的联系、对象的特殊方法
  • 日志记录:baseConfig、文件日志、邮件日志、定制格式、内置占位符、等级过滤、分级传播、配置文件
  • 测试框架:unitest、pytest等
  • 并发编程:多进程、多线程、协程、线程池、同步控制、线程通信、分布式、猴子补丁、 async语法、生成器
  • 网络编程:socket编程基础、TCP服务端和客户端、并行请求处理、HTTP服务端和客户端

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

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

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

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

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

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

七、软件测试自动化进阶——web自动化

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理;做测试的同学们都了解,做Web自动化,我们主要用Selenium或者是QTP,这里我们需要掌握Selenium的web自动化环境搭建,正确的浏览器配置。

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

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

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

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

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

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

相信你根据这个学习架构路线,不断地去摸索与提升,突破技术的瓶颈,可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。我也是走过这样一段路,才能获得更多高薪职位的机会,付出终有回报,也算是对我能力的一种认可吧,真正的证明了自己的价值。至少税后30+的薪水是我当前状态下比较满意的。

我也分享一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,有需要的朋友可以点击下方卡片进去自取,除了基础入门的资源,大家在里面也上传了不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。

可以自助拿走(私信关键词“资料”免费获取~)

【50G软件测试资料包】内附视频教程+课程笔记+测试文档+216页精选面试题汇总

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

最后,不要成为一条咸鱼

想以测试为长期发展职业目标,是需要时刻保持学习的,要使自己具备竞争力, 无论你现在工作几年,只要行动起来,你就已经占优势了,好啦就到这里了,祝大家2022年能升职加薪,拿到心仪公司的offer,事事顺遂。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

工作三年,月薪不到20k,软件测试工程师,担心被应届生取代 的相关文章

  • JMeter在HTTP请求中使用beanshell变量

    我是这里的绝对菜鸟 我的意思是JAVA 花了几个小时寻找解决方案 现在我只想开枪自己 我想在 beanshell 断言中创建一个字符串 该字符串位于 HTTP 请求的正上方 在 beanshell 中我写道 String docid abc
  • JMeter(活动?)FTP 到 VLTrader

    情况 我正在使用 JMeter 来加载测试我的通信应用程序 Cleo VLTrader 我是 JMeter 的新手 并且能够使 HTTP 通信工作 但不能使 FTP 工作 当我尝试使用 JMeter FTP 请求采样器时 我可以在服务器端看
  • 使用extentreports获取jmeter测试结果

    对于任何使用 jmeter 进行 api 功能测试的人来说 报告并不是那么好 有没有人用过类似的东西http extentreports com http extentreports com 显示他们的测试结果 关于更好地显示测试结果的其他
  • JMeter:为单个用户触发多个并发 HTTP 请求

    我有一个带有线程组和 Cookie 管理器的 JMeter 负载测试脚本 线程组中的用户首先使用HTTP采样器登录来获取cookie 然后 循环控制器触发交错采样器 该采样器在几个向服务器发出查询的 HTTP 采样器之间交替 现在 我希望交
  • 在 JMeter 的 BeanShell Sampler 中将字符串解析为整数

    我试图在 JMeter 中将字符串解析为整数 但由于以下错误而失败 如果我尝试打印 vars get 返回的字符串 它们看起来不错 2014 06 28 00 08 52 WARN jmeter assertions BeanShellAs
  • 负载测试时如何测量CPU和内存

    我们在异构环境中使用 JMeter 并且希望在运行服务或 Web 应用程序的服务器上产生重负载时测量 CPU 和内存 您建议使用什么 是否有任何软件解决方案 开源或商业 可以将 CPU 和内存使用情况记录在文件或数据库中 谢谢你 您可以使用
  • JMeter - 根据平均响应时间测试失败

    我正在使用性能插件在 Jenkins 中运行 JMeter 作业 如果平均响应时间 这是我尝试添加 BeanSehll Listener 和 Assertion 的方法 Recording Controller Home Page Bean
  • Apache JMeter 的 Cookie 管理器未将 cookie 添加到 POST 请求

    我制定了非常简单的测试计划 登录 POST 返回会话cookie 获取状态 GET 返回用户状态 创建资源 POST 为资源提供 JSON 正文 所以我的 测试计划 如下所示 Test Plan Thread Group HTTP 请求默认
  • 负载测试kafka消费者

    我正在编辑问题 因为我认为它不够清楚 如何对我的 kafka 消费者进行负载测试 我看过很多关于 apache kafka 负载测试的文章 但没有一篇关于消费者负载测试的文章 对于前 我在jsr223中编写了jmeter kafka生产者测
  • 在 JMeter 中,您可以指定变量来填充 HTTP 请求默认值吗?

    我希望能够从 CSV 文件中读取值 或者更理想的是 properties使用 JMeter 文件 然后在多个中使用它Test Plan是在HTTP Request Defaults as the Server Name or IP 以及Po
  • 使用 JMeter 时陷入嵌套循环。嵌套循环控制器和 CSV 数据集配置。

    在我的网站上 我有两个商家操作 搜索和浏览 一次搜索通常会触发三次浏览 我有一个 JMeter 测试 它使用商家和商家 ID 号的 CSV 文件 在大规模运行此测试时 我希望使用我网站上的所有商家 我已经在 J Meter 中映射了它 如下
  • Jmeter 下降的最佳方法?

    我们都知道 Jmeter 并不是最擅长在运行期间更改活动线程的数量 除非您喜欢并创建以不同时间间隔触发的单独线程组 有没有人想出一个好的解决方案来在测试结束时降低速度 例如 我从 50 个线程开始 在 30 分钟内我想要 0 个活动线程 查
  • 在 JMETER 中循环遍历 JSON 响应 +

    我正在使用 Jmeter 进行性能测试并卡在以下点 我从 Webapi 收到 JSON 响应 如下所示 PersonInfoList Person 0 id 1 name Steve 1 Person id 2 name Mark 我需要根
  • 如何让Jmeter识别“localhost”URL?

    如何对只能由我的计算机访问的 localhost url 进行性能测试 我可以使用 jmeter 对 google 等实时网站进行性能测试 但 jmeter 无法检测本地 url 应用程序的 URL 192 168 121 20 80012
  • 手动设置Jmeter主目录

    根据这个帖子 http jmeter 512774 n5 nabble com Automatic generation of aggregate reports td4281459 html Jmeter home被自动检测到 有没有办法
  • 重写 jmeter.properties

    是否可以在不关闭并重新启动JMeter的情况下重新读取jmeter properties 也许有任何额外的类会触发这个过程 有时我需要使用属性的值 并且每次都重新启动 JMeter 并不方便 所以我想自动化此过程 无需从文件中重新读取 jm
  • 分布式模式下的 JMeter 摘要报告

    我正在分布式模式 2个从站 主站 下运行Jmeter性能测试 在我的测试脚本中我配置了摘要 报告应将一些数据保存到 csv 文件 此文件位置配置有固定名称 reports summary csv 值 当我从主站成功连接到两个从站时 测试在从
  • JMeter 为子功能添加 Think Time

    在 JMeter 中 当我右键单击 线程 控制器 时 我有一个选项 Add Think Time to children功能 当我点击它时 我会看到每个采样器Test Action暂停与Uniform Random Timer随机延迟 10
  • 通过 Java 独立应用程序运行 JMeter 测试用例,无需在本地安装 JMeter。

    我正在尝试使用以下命令执行 JMeter 测试用例 我是否有另一种方法可以在不本地安装 JMeter 的情况下执行测试用例 这里我必须提供 JMeterUtils 的 JMeter HOME 路径 JMeter Engine Standar
  • 错误 - jmeter.util.BeanShellInterpreter:调用 bsh 方法时出错:eval 源文件:内联评估:

    当我运行将 Beanshell 后处理器作为采样器子级的 jmeter 脚本时 出现以下错误 错误 jmeter util BeanShellInterpreter 调用 bsh 方法时出错 eval 源文件 内联评估 https i st

随机推荐