赞
踩
如果说,2021年对于全世界来说,都是一场极大的挑战的话;那么,2022年绝对是机遇多多的一年。众所周知,随着疫情在全球范围内逐步得到控制,无论是国际还是国内的环境,都会呈现逐步回升的趋势,各行业的机会也将显现出。那么,2022年的软件测试行业又会又怎样的风云变化呢?
是否行业已经趋于饱和了?如果饱和了,行业从业者将如何破局?如果没饱和,什么样的人适合走入这个行业呢?今天,我们就这些问题,来聊一聊2022年软件测试行业的主流趋势。希望能解决一部分小伙伴心中的困惑。
2022年,软件测试这个行业又将如何发展呢?我来谈一下我眼中软件测试行业发展的几个点,如果你处在这个行业,一定能体会到我说的对不对。
1、表面"衰落"的测试行业
鉴于过去的大形势变化, 不懂技术的测试工程师会逐渐被淘汰出局。 一波测试工程师的失业潮是在所难免的。
虽然早期我也呼吁身边的人赶紧脱离落后的业务体系, 脱离落后的测试技能, 但是看到很多人越来越生活艰难, 也是挺心痛的。
包括测试工程师的需求越来越少, 招聘职位也越来越少, 典型的新崛起的巨无霸公司比如facebook早期都没有QA。
甚至前几年一度有QA团队是否值得存在的争论。
比如一个典型的例子, 在搜索, 推荐, 机器学习等方向的算法测试是很重要的领域, 是需要专业的测试工程师参与的。 这个行业能容纳很多的测试团队。
但是测试行业这些年就没形成对这个领域的正确测试方法, 结果最后丢失了这个市场。 现在都是研发自己保证了。 因为找不到合格的测试工程师去保证这个业务。
一定要记住, 业务空间决定QA的生存空间, 这是所有行业都通行的道理。
如果你不能满足业务需求, 就会被淘汰出局, 要么选择退守防御要么选择勇于接受挑战
那测试行业的未来是什么样的?我个人必要还是持乐观态度的,且听后面分析。
2、测试从业人员的规模
从业人员规模跟生产力负相关, 跟业务规模正相关。 以后能有多大取决于技术和业务规模的双重因素。
首先是大环境因素, 随着各种行业的互联网化, IT行业在扩大, 外卖, 美甲, 甚至是无人机汽车航天产业都将成为科技公司。 研发的队伍会扩大, QA的队伍自然也会整体扩大。 前提是QA自己要跟得上时代。
其次是随着生产力提升自然就不会需要这么多人的。 哪个行业都这样, 测试行业并不特殊。
人数多意味着大家的价值跟富士康工厂里的工人一样廉价。 追求高附加值才是正确的路。 这对公司和测试团队都是双赢的。
第三个因素是行业地位。 devops的流行是推动了研发和运维的密切合作。 一旦这个阶段完成, 产品的生产部署会非常的流畅。
随之而来的就是问题会越来越早的暴露, 大家对质量会更加的重视。 到时候就会进入一个新的时代, DevQA。
运维逐渐会管道化, Dev和QA会成为新的主角。 只是到时候能撑大局的不一定是现在的软件测试工程师了,会是新时代的测试工程师。
技术层面上也会有创新。 以前的测试只能留下测试用例和业务知识文档 没有什么连续性积累。
随着接口测试, 质量监控, 覆盖率分析, 业务建模等技术的突破, QA也会形成自己稳定可积累的业务数据, 并逐渐形成自己的平台和业务。
业务空间+技术门槛的双重因素,是我坚信QA部门能长期存在的一个核心因素。
3、测试行业的管理会逐渐扁平化
几乎大部分的互联网公司都在分拆业务和QA团队从而提高执行力。 所以管理上百人的总监职位会越来越少, 而管理百人以下的总监会越来越多。 不排除少量的巨无霸仍然没有改变。 或者有些烧钱的初创公司倒行逆施。 其中这些测试管理者会遇到一些新的挑战, 比如更高层是研发出身居多。 不懂研发体系几乎没有发展空间了。 测试管理体系失去了上层建筑, 对未来的影响还是深远的。 会有阵痛, 但是结果肯定会是好的。
4、测试技术人才需求增多
原因是多方面的。
大公司因为分拆的问题。 不再有统一的测试技术支撑部门, 所以分拆之后的每个团队都需要组建对应的职能团队, 对测试技术人员的需求反而会增多。
中小型公司也苛求质量保证效果, 不止是要好, 而且要求更快, 也需要大量的技术人才。 这几年通过各种招聘网站的招聘job的描述也能看得出来。
5、外包测试的灾难和新生
原来做欧美日韩外包业务的公司会因为国内互联网的发展逐渐式微, 他们需要转型做国内。
但是国内对外包业务也大多排斥, 而且外包业务在效率沟通管理上都有诸多弊端。 其自身也无法承载对测试工程师的培养和长期发展。 所以这几年会有大量的外包测试工程师转型。
这方面需要有新的优秀的外包服务公司。能做到有自己的测试服务, 测试技术和高级的测试研究工程师才行。
比如东软也开始做自己的各种云测平台之类的, 就是一种为了迎合新时代的变更。
6、不懂开发的测试工程师已经是新时代的文盲
第一个是工作上已经没有太大的晋升空间。 第二个是也很难跳槽。 最好的结果是凭借多年的经验转管理。
我跟行业的很多测试经理交流过, 大部分工作超过6年的人, 在测试执行上会倦怠, 在测试技术的改进上已经无法入门, 还不如招实习生。
相对来说, 有技术基础的人在工作8年以上仍然会保持自己的学习热情。
所以未来测试团队的架构基本会是多数业务测试工程师+少数测试专家+测试经理的管理模式。
7、测试行业的门槛增加
以前处于发展期, 行业对人才的苛求是第一位的。 现在随着大公司发展稳定, 招人已经稳定了。
他们基本只在211院校校招。 社招也看学历。 初创公司多是融资烧钱为主, 在学历上和阅历上也是看的很高。 能够不拘一格降人才的公司会越来越少。
我之前推荐了不少同学去其他优秀的公司, 其中有一部分同学就是技术不错, 但是学历未过关。 所以希望大家技能和学历上能够好好的重视这个问题。
除了学历门槛, 如上一条所说技术门槛也存在。 所以加油吧, 少年!
8、测试行业的薪资在提高
测试行业经过自身的净化洗涤会有新生。 典型的变化就是薪资从以前的3k-15k的范围, 整体提升到1w-3w之间。
技术含量的提升, 责任的提升必然会带来整体的回报。 现在只要技术好, 学历没问题。 工作3年拿个两三万的月薪是很平常的。
后面会详细说薪资的方面。
9、研发工程师进入测试领域
这些年整个行业对测试行业的发展非常不满意, 通俗点讲, 大家都觉得测试很Low, 但是又不能没有。
研发提交项目给测试的心情就跟以前过年要去火车站排队买票一样。 要申请测试资源, 给测试讲解业务和实现, 遇到比较low的或者新入职的, 连搭建环境都不会还得手把手教。
研发只是修改一行代码, QA或者测试那边就炸锅了。各种流程足以让研发头发都能掉好几根。
作为参考对比, 再思考下运维。 当年部署个环境跟提交测试很像。 要申请运维的介入, 要申请机器资源, 然后提交部署文档, 还要明确基础环境, 依赖库等各种细节的版本号。遇到本地行发布环境不行之类的问题,还得跟运维撕逼。
而现在随着持续交付和devops的流行。 发布都已经做到"丝般柔滑"了, 一键发布,自由选择灰度,平时的发布甚至都不需要运维参与。
尝试了新模式的甜头后, 对测试行业的弊端已经很难忍受了。
所以在优秀的测试工程师和架构师难找的情况下, 已经有越来越多的公司选择直接用研发工程师来顶了。
他们的追求很简单。 单测->接口测试->基础的冒烟测试, 能够做到自动化就可以了。 如果能像运维那样做成测试即服务就更完美了。
有人会问博主上面说怎么多,那零基础小白怎么入行软件测试呢?
我用了五天的时候整理了今年我认为软件测试就业的主流技术栈大纲,由于内容实在太多,我就能弄成了一张长图
学习建议
1、一般来说,测试新人的话首先需要把基础打好,测试理论基础可以通过看一些经典书籍或网上也有很多免费的资源,选择前两本基础的看,你会受益匪浅。
2、刚开始不太建议加入过多技术群或其他论坛提问,初期遇到问题可以自己搜索自己尝试解决,当然需要控制一个止损点,不要为一个问题耗费太长时间
3、自学基础的同时一定要做好笔记,且一定是通过自己的理解后做的。可以使用思维导图把前后学到的东西给关联起来
4、读完一本书或一个阶段结束后,可以自测一下,通过找一些经典的笔试题或一些istqb中的题目,来巩固或查漏补缺,有针对性的再次巩固学过的东西
5、接下来可以找一些项目来做或去众测平台看一些基本的项目测试流程,包括基本测试文档的书写规范等等,testin众测平台是一个锻炼的不错平台,至少测试用例设计、执行及bug探索提交缺陷都是挺好的。
6、目前有好多平台会开设一些免费的公开课,通过技术讨论组可以接收消息推送,设定好时间听一些专业领域的测试方法,可以快速了解到大体的流程。(一定要经过严格筛选,选择质量高的,否则会浪费一大部分时间)
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。
混在软件测试职业圈,工具千千万,不可能每个都会用,至少要知道有哪些工具可用,什么时候该用什么工具,每个工具能解决什么问题,然后再深入应用几款工具即可,下面就带大家总结一下。
测试管理工具
- 禅道:简单好用,市场主流,互联网行业居多
- Jira:简单好用
- QC/ALM:复杂,收费,电信/金融行业使用较多
- bugzilla:功能简单
- svn:代码和文档管理工具
- git:但是多分支管理比svn好
接口测试工具
- Jmeter(开源)
- postman
- SoapUI
- 推荐使用 jmeter 和 postman。
性能测试工具
- loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大
- jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用
- Locust:基于python的一个性能测试工具
白盒测试工具
- junit/testng:java下的单元测试框架
- unittest/pytest:python下的单元测试框架
- cppunit:跨平台的c++单元测试框架
- PhpUnit:Php语言下的单元测试框架
- TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用
- Klockword:静态测试工具,军工行业常用
持续集成工具
- Jenkins:比较常见的一种CI工具
- Hudson
网络测试工具
- 以HTTP/HTTPs协议为主,网络测试工具有:
- wireshark
- fiddler
- charles
app自动化工具
- appium:这个应该算是目前最流行的基于app的自动化测试框架了
- uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作
- Monkey:安卓自带的测试工具
- Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言
- Robotium:一款国外的Android自动化测试框架,用法比较
web安全测试工具
- appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来
- fiddler:网络抓包工具
- burpsuite:暴力破解、抓包工具
- skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。
好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章
嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python。
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用了!
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java,只需要学完JavaSE的部分就够你用了。 python的话也是一样的,把基础的部分学完就行了。
总之前期你两者二选一的学习就OK了。
啥?你问我学的啥。
我当然是两种都会啊
哈哈哈哈哈哈哈,惊不惊喜!意不意外!
自动化方向
等你代码已经基本掌握了,嗯,很好,接下来就要学习各种自动化测试了。
各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
WEB自动化测试框架:selenium(适用于java\python\javascript)
APP自动化测试框架:appium(适用于java\python\javascript)
以上的内容,根据你学的语言进行选择。
appiunm和selenium根据你参与的项目进行选择。
不过无所谓了,反正迟早都要学会的。
这部分的教程太多了,你学会了编程的基础后,随便百度,好多博客论坛都有教程。
而且凭你那时候的水平,你都能轻松的看懂。
性能方向
对loadrunner和jmeter的掌握更加的深入。
可以手写脚本、脱离录制。
学会了多线程编程、能够手写java或者python、不用工具直接实现压测。
学习linux,毕竟性能总是和服务器打交道的。
学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
说实话、性能方向的提示更难、因为需要掌握的东西太多了。
性能测试做深入了,基本上就是架构师的水平了。
可能你现在看着这个性能方向的学习一脸懵逼。
没关系、等你把上面的编程语言学会了你就不懵逼了。
安全方向
渗透测试
SQL注入
暴力破解
脱库
等等
其实安全测试基本上偏向于网络攻防了,也就是传说中的黑客了,不过我们都是好人,这个的发展方向就是白帽子。
推荐知道创宇的学习体系。
我估计你看到这里就更懵逼了。
没关系、等你把基础的东西学会就知道我在说啥了。
毕竟你现在还是一个小白嘛。
不要去纠结这种小事。
各位在这个阶段,正常情况都应该是中级测试工程师的水平了。
前三个阶段学习完成后,各位就应该考虑怎么写代码更合理了。
怎么去测试更全面。
怎么才能更好的保障项目的质量。
我认为,在这个阶段,应该回头重新学习一遍测试基础。
因为这个阶段的提高是思想、方法的提高了。
上面讲的都是教你应该怎么做。
在这个阶段你要自己去发现、为什么要那样做。
跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。
自动化测试框架、性能测试框架等等。
已经有了属于自己的一套东西了。
在群里或者论坛上去装逼、别人都会尊称你一声大佬了。
可能你也学会了一些其他的技术了,甚至在往全栈等方向跨进了。
总之,到了这个阶段就没什么学习路线了。
B站最牛的Python自动化测试框架全栈测试开发实战项目入门到精通,涨薪必备教程!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。