2022年,目前大环境下还适合转行软件测试吗?

目前的大环境确实不如前几年,但是裁员这种情况基本存在于互联网大厂,中小型企业是涉及不到这些问题的,但俗话说的好“风险与机会并存”,虽然大环境有所萎靡,可其中的机会还是不少的。所以,目前学习软件测试也还是有很多的机会的。

有一些自学的小伙伴会把找到初级测试工作,作为自学的目标。但实际上,只会手工测试的工程师,在市场上没有什么竞争力。在职后没有持续的学习,很容易被淘汰。

在中级技术方面有两条技术栈:UI自动化和接口性能。而且包含了两个实战项目,有微信小程序以及金融项目实战。

我是自学软件测试的,算是野路子,没有科班背景,分享下我的测试学习路线。

一、测试入门阶段

即将转行,或者是刚毕业的同学想要进入测试这个行业,那么必须要掌握的基础知识是:

  • 软件测试的定义、生命周期、工作流程、需求分析;
  • 测试用例的设计、编写、评审;
  • bug的基础知识以及禅道的使用;
  • 测试计划、测试报告的编写;
  • SVN、Git版本控制工具的使用。

上述内容相关的理论知识搞定之后,还需要找一个项目进行测试一下:

1.发布项目进行立项,建立项目组进行分工;
2.需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
3.整理测试点,编写测试用例,然后进行用例评审;
4.执行测试,比如:功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道。
5.分析、总结、编写测试报告。

这个流程学习结束后,就算是入门软件测试了,但是还不够找到一份工作。还需要学习的内容:Linux(Linux远程连接/命令/数据库)、数据库、测试接口、APP测试。

二、进阶阶段

性能、自动化测试是技术相关的进阶阶段。这个阶段我们先要了解的是性能测试的概念和流程。

  • 常见问题剖析、流行工具、方案设计
  • 性能测试工具:jmeter工具的使用、实战;jmeter多协议、拓展与定制;分布式压测与任务调度;
  • 性能监控:性能监控体系与监控数据采集
  • 性能实施:分布式服务压测,场景设计、场景执行;测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析
  • 性能分析与报告:jvm调试与系统调试;性能瓶颈分析

性能到自动化之间需要学习编程语言,一般都是选择Python。Python+Selenium是web自动化的黄金组合,配合Appium是移动端自动化的首选。 Python需要学习内容:

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

在这里插入图片描述

性能测试要学习内容:

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

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

在这里插入图片描述
自动化接口测试要学习的内容是:

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

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

在这里插入图片描述
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的能力怎么样,构思功能模块整体布局的能力怎么样等等。 做作为初学者想要达到入门的水平,就是自己具备了一些简单项目的编码能力,初学者最重要的一点就是培养自己的测试思维,每一个程序都是不一样的,你不可能都背下来,也不是靠死记硬背的,你只有能去独立编写一些东西的时候,才有就业的就会。

所以做项目的能力才能去衡量一个学习的水平处在什么阶段,而往往那些嘴上说“会了”的人,往往没写过多少代码,也一个项目做不了出来,这就是纸上谈兵,完全曲解了学习测试到底在学什么,也不知道应该往哪里去。

一个初学者在学习的整体过程中,必须要有两个能拿得出手,能写在简历上的项目作为找工作的资本,并且要对于这两个项目的前前后后相当了解,才可能最后面试成功,一个初学者在学习完所有内容后,如若还达不到可以做简单项目的水平,那么他整个学习过程还是白费,没有达到最终的学习目的,就是学习质量不过关。所以项目的重要性希望大家都明确,因为有太多初学者不知道最后学习的目的是什么,最后白白的浪费时间。

一个web测试实战

在这里插入图片描述
一个接口测试实战

在这里插入图片描述
任何技能的学习都是建立在实践上面的,IT行业就特别强调项目经验。不练习,就像是花了半天时间去学习开枪的理论,结果根本没有机会摸枪,你觉得你打得准吗?想要学好软件测试,对技术有更深的理解,就一定要多去实操,没有熟练度的加成,你学的再多也只是纸上谈兵,一旦面对了真正的问题,你就会无从下手。

总结

如果你真的考虑好进入测试行业,系统的学习测试开发的技术才是唯一的出路。这样才能够追赶上一个初级测试人员几年积累的能力

而报名学习的最大好处就是高效,快速。有老师辅导,有问题随时解决。

自学最大的问题就是你在自学的时候遇到问题,报错,只能靠搜索,到处问来解决。遇到一个问题或者一个技术点,就上网搜索几篇文章,找找技术论坛询问学习一下,很多人都是这么做的。碎片化学习虽然投入时间少,但是效果难以保证。

首先,转行学习基础为0,不可能在自学的过程中遇到某个技术相关的所有问题;其次,通过这种方式,你只知道一个个零散的技术点,而不知道这些技术点之间的关系。以 HTTP 缓存为例,如果只是单纯去搜索“HTTP Cache-Control”,你确实可以知道 no-cache 和 no-store 等名词的含义。但是整个 HTTP Cache 协议、浏览器的处理逻辑和服务器的处理机制这些技术点你就学不到了,而它们在分析 HTTP 性能相关的问题或者优化 Web 页面的时候都是必须掌握的。

自学没有人辅导,指导,解惑,答疑。如同在黑暗中摸索。 我这里并不否定你一定自学学不会。只是这个过程会付出巨大的时间成本。但是人的矛盾就在于此,既不想付出太多的时间成本,又不想付出太多的金钱成本。那么你就要承担对应的风险成本了。也就是自学几个月发现完全没效率,再报班学几个月,最后耽误大半年甚至一年。

然后说一下女生做测试的问题

性别问题应该说经常被问到,可以说互联网所有技术岗位当中,测试人员中女性比例是最大的了。接近50%的占比。研发团队代码出了bug,女生反馈出来之后这群研发的男生也不好说啥,默默的改就行了,有利于团队协作。再一个是女生比较细心,测试的工作一般是间歇性有强度,不像研发那样加班那么频繁。一般是版本发布新产品上限要快速完成测试工作才会加班。所以很多做很多年测试的同学是可以兼顾家庭和工作的。

进入IT行业做技术岗位还是想办法提升自己的个人竞争力。谁都想钱多事少离家近,offer一大堆,工作随便挑。前提是你有这样的技术资本,行业的个人技术能力提升是一场马拉松,转行人员有劣势,但是也有很多转行人员发展的很好,对口计算机专业的毕业生发展5年8年还是只会做手工为主的功能测试,濒临淘汰失去工作的也大有人在。

功能测试目前就是就业困难,因为需求饱和了。你现在随便看看大企业的招聘都要求测试要会写代码。在培训里,只有测试开发是学代码的。

优秀一次容易,持续优秀做好才难。

另外,找机构报班的话一定要找靠谱的,这里告诉你需要注意什么,注意的的确要很多。因为现在职业教育的培训市场,不良机构,黑心机构的确蛮多的。行业乱象不少。

如何区分,可以从几个方面来看:专业性,课程服务,就业,课程技术含金量,项目集

如果大家真的想入行软件测试,建议可以参考室友当时报名的华测教育学习,他现在已经转行快2年了,也劝大家不要拿着上万费用去试错,还浪费时间。

以上都是来自一颗螺丝钉的忠告。

如果你还是没有思绪,还有一个捷径走,就是去我下面推荐的测试学习群:769146372 去请教,学习群都是测试同行和一些前辈,有很多资历老有经验的人,这样精准去问会更有效率,如果你怕麻烦我建议你采取这种办法,我当时的学习资料就是这么搞来的,我天生怕麻烦,进了交流群之后就天天问,混的熟悉之后,就有朋友直接给我拷了一套资料,我就直接顺着资料的思路逻辑学就行。

在这里插入图片描述

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 是的,可以。从 Java 开发转行到测试是可行的。测试需要具有良好的编程能力、软件工程知识和解决问题的能力,因此从事过 Java 开发的人员可以拥有这些要求。不过,还需要对测试方法、测试工具和测试技巧有深入的了解,才能在测试领域有所发挥。 ### 回答2: 可以的。在工作一的时间里,你已经积累了JAVA开发的经验和技能,这对于转行测试非常有帮助。在测试领域中,熟悉编程语言和理解代码逻辑是一个非常重要的优势。由于你已经有JAVA开发的背景,你可以更好地理解软件开发过程中的技术细节和逻辑,有能力进行更深入的测试和调试。此外,你还可以利用你在JAVA开发方面的知识和经验,帮助团队解决开发阶段出现的问题,提高软件质量。 当然,在转行测试之前,你需要学习和了解和测试相关的知识和技能。你可以通过参加测试培训课程、阅读相关的书籍和文献、参与测试项目等方式来提高自己的测试能力。此外,你还可以积极参与测试社区,与其他测试专业人员进行交流和学习,提升自己的专业素养。 总之,工作一的JAVA开发经验为你转行测试打下了坚实的基础。通过学习和提升测试能力,你可以成功转行,并在测试领域取得好的发展。 ### 回答3: 工作一的Java开发经验让您有了很扎实的编程基础和理解能力。如果您对软件测试感兴趣,并愿意为之学习和付出努力,转行测试是完全可行的。 虽然测试工作需要掌握不同的技能和知识,但是您的编程背景会使您在测试编写和执行自动化测试代码方面轻松入门。您可以利用您在Java开发中学到的知识来编写测试脚本,使用测试框架和工具。另外,您的编码经验还可以让您在分析和解决问题时更具优势。 转行测试还需要学习测试理论和技术,了解测试方法和流程,学习如何规划、设计和执行测试用例。您可以通过参加测试培训课程、自学测试相关的书籍和资料,或者向在测试领域有经验的人请教。此外,实际工作中的经验也是至关重要的,可以通过参与项目中的测试工作或者做一些自己的测试项目来提升自己的实践能力。 转行测试也需要具备良好的问题分析和沟通能力,因为测试工作需要与开发人员、产品经理等多个团队成员进行合作。您可以通过与其他测试人员交流、参加技术社区的讨论,提升自己的沟通和协作能力。 总之,工作过一的Java开发经验可以作为转行测试的有力支持。只要您愿意学习和努力,不断提升自己的测试技能和知识,转行测试是完全可以实现的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值