当前位置:   article > 正文

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

2023还要转软件吗

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

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

在中级技术方面有两条技术栈: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年了,也劝大家不要拿着上万费用去试错,还浪费时间。

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

 

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/444496
推荐阅读
相关标签
  

闽ICP备14008679号