10年软件测试工程师感悟——写给还在迷茫中的朋友「十年磨一剑,文末福利」

文章首发于微信公众号:测试人追风

不知不觉在软件测试行业,野蛮生长了10年之久。这一路上拥有了非常多的故事。有迷茫,有踩过坑,有付出有收获,有坚持!

我一直都在软件测试行业奋战,有许多同学好友都已经转行,去选择了更适合自己的路。

这两天和从上海回来的某厂CTO一起吃饭,谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我们说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。

身边的很多朋友想要问一些关于软件测试工程师行业的问题就会来找到我们,在这十年测试经验,我们看到了太多想提升测试技术而没有明确方向的人,深刻的体会到测试人员的技术痛点,以及测试这个角色在互联网公司的待遇和地位远不及其他岗位,甚至还是会有很多人会认为测试在公司随时能被取代,可有可无。

那么在软件测试行业如果只会手工测试的测试人不做测试了,我们还能做什么?唯一办法就是保持持续的学习,希望裁员的时候自己能幸免,或者公司倒闭了,自己在市场上能更有竞争优势。因有更多机会去面试,所以接触了更多的测试人员,正因为在这个大环境不好的情况下,加上今年新冠的影响,我同样为“如果不做测试了,我还可以做什么”而焦虑。

但其实,你可以看看其他专业毕业的同学,他们大多数并不能在工作几年就工资翻倍,或翻几倍!当然,也有普遍比我们更高工资的专业。不过,我仍然因为自己生在90年代,选择了计算机专业而感到幸运。

 

关于功能测试想转自动化相关的问题:

由于历史原因,大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。

我大学学的计算机专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。

我的公众号测试人追风前几天有人留言问到我,在一线城市做功能测试,如果定个小目标,想拿到年薪二十万,需要具备哪些技能?

1.首先必须熟练整个产品的业务流程、业务是基础,这样保证产品在快速迭代时、不仅保证新功能的完整性,而且快速回归原有功能不受影响。

2.然后需要掌握一些常用测试工具来辅助测试:

Web端测试:浏览器开发者工具使用,network、console控制台、兼容性测试

移动端app测试:(安卓/IOS/ipad端)测试全流程,兼容性测试、稳定性测试,流畅度测试、adb常用命令

服务端:掌握接口测试、抓包工具使用、如何校验接口的完整性

Linux:常用shell命令,查看错误日志

数据库测试:熟悉数据库表结构,掌握常用增删改查sql语句,便于分析测试结果。

常用工具使用:SVN/git版本控制工具 、postman、jenkins应用打包和构建

换句话说,如果你拿到一个新的产品测试功能,你如果能通过数据库的表结构,和分析系统日志来快速的熟悉产品业务,说明你的测试思维,功能测试能力已经非常优秀了。

当时我在上海做软件测试掌握了以上技能点,在公司将工作效率提高了,相对比较轻松,这就导致我有充足的时间,拾起编程语言,最初用的java语言,然后学习各种自动化测试技术,当时觉得自动化测试特别有意思,而且挺神奇,激发了我浓厚的兴趣。

后来发现Python语言越来越火,而且我发现python来做自动化和对于编程基础比较薄弱的测试工程师来说特别的合适。

python还能用来爬虫,用python还能写一些定时脚本,数据库脚本,效率非常高。

测试行业的现状

现在测试行业的的趋势,你去面试任何级别的测试工程师都会问你是否会自动化测试,所以自动化测试已经是必备技能,而不是加分项。

换句话说,会用开源的测试工具不足以在公司涨薪或者跳槽至一线互联网大厂。因为真正企业自动化测试落地肯定是一个团队在做。

当你熟悉使用这些开源框架之后,你会发现有些框架之间是相通的,所以基于这些开源框架,我们打造一个属于自己的测试框架。

可以根据公司实际测试需求自主封装适合项目的测试框架,落地实用。建立自己的技术体系,得到一套落地有效的自动化测试方案,从青铜变身王者。

这样让我们自动化团队将更多的精力放在测试用例设计本身上面,达到提高产品质量,提升效率的目的。

 

 

学习的内容一定要基于自己的工作来,这样才能把学来的技术变成工作经验。那么我们软件测试工程师如何在繁琐重复的手工测试工作中,慢慢扩展积累测试技术,建立自己的技术体系?

大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库,linux等。

但是有个比较常见的问题,由于现在企业大多数都是敏捷开发模式,容易陷入版本快速迭代中。

以至于没有时间精力再去额外学习一些高级和主流的测试技术,如某种编程语言、自动化测试工具、测试框架搭建、测试平台研发。

即使挤时间强迫自己学习,也不知道从哪里开始入手,那些碎片化的东西,只能让你了解,很难很难消化。

当你要形成自己的输出,用自己的思路和技术来做项目的时候,你要回到那个知识框架里面去学习。

关于学习软件测试的小建议不要碎片化信息学习,那不叫学习,要有决策性学习,系统的学习,学习解决问题的思路。

 我的初衷很简单:让软件测试更简单!分享学习资料,面试题、技术干货。公众号测试人追风后台也有很多人问我,学习软件测试有没有捷径?我认为少走弯路就是最大的捷径。系统资料➕前人指点是功能测试转向自动化测试乃至测试开发最好的学习方法!

在适当的年龄,选择适当的岗位,尽量发挥好自己的优势。

我的自动化测试之路,一路走来都离不Python语言,因为较早的接触和使用Python语言,所以,我积累了大量基于Python语言做自动化测试的经验,这里我将这些经验录制成了《Python自动化软件测试》精品课。有兴趣的可以关注专注于分享软件测试各类学习笔记、面试题以及IT类资讯的公众号:测试人追风,获取。

该课程从测试的各个方面为你整理了Python当前最热门的测试库和框架,帮你建立自己的自动化测试技术体系,让你在测试工作变得更加高效。

全部以我之前在企业真实项目实战去驱动理论知识点,丰富的实战场景演练,全方位提升测试技术,建立一套属于自己的技术体系。

目前我一直不断学习和优化技术栈,保证是市面最先进和主流的测试技术,我想的大家学的就是市场所需,将知识和技术变现。

 文末福利:上传可能会有压缩,需要高清原图或者更多系统性提升的技术进阶/面试资料可以来找我。

 

最后:

汲取经验在前,方能功成在后,不断学习成长!不管你现在处于哪一个阶段,都可以一起来报团取暖,我们都是测试人!

猜你喜欢

转载自www.cnblogs.com/cemaxueyuan/p/13360964.html