前段时间席卷全互联网行业的内卷现象,想必有不少人都深陷其中。其实刚开始测试行业人才往往供不应求,而在发展了十几年后,很多人涌入这个行业开始面对存量竞争。红利期过去了,只剩内部争夺。
即便如此,测试行业仍有许多隐藏的机会。因为大数据时代,测试用例量非常庞大。互联网行业需求迭代非常快,使得一个需求从提出到上线时间都非常紧急,在上线之前必须对原有功能进行回归测试。所以不管是接口还是从客户端,都需要大量的测试工作,对测试工程师的要求也越来越高。或许再过几年,自动化测试会成为从业者的准入门槛,如果做不好自动化测试,竞争力很难得到认可。
以自动化测试为例,很多测试工程师对这个方向的认识并不全面。比如,面试的时候问到自动化测试框架选择的合理性体现在哪里、设计的自动化测试用例的优缺点这些,很难回答清楚。由此可知,如果仅仅只是依赖一些现成的工具、框架来进行用例的转化,这还无法说明具有自动化测试能力。
接触过自动化测试的,对以下几种“自动化测试框架思想”一定不陌生。
- 1.模块化思想
- 2.库思想
- 3.数据驱动思想
- 4.关键字驱动思想
很多人将它们定义为“框架”,其实它们只是代表了一种自动化测试的思想,不能以简单的框架来下定义。而只有掌握自动化测试框架设计的核心,才能更好的解决以下问题:
- 1)测试数据要怎么准备,如何在框架中实现,是否可以复用
- 2)测试用例的批量导入
- 3)执行失败的用例如何快速定位复现
- 4)对于UI自动化,当出现异常时,框架如何对应处理,以保证整套用例不会中断执行
- …、
测试工程师的核心是理解产品和系统的需求、设计、逻辑,再次形成测试思维对质量风险和质量控制的判断和思路。测试开发能力还只是基础能力,单一的测试技无法进入更高的平台。要将开发技术与测试思想相结合,现实需要的,是真正具备测试开发复合能力的人才。
如果现在你正面临这些困境:为什么别人进入测试1年,就可以拿到年薪25W+,而你却涨薪困难?每天工作重复忙碌,想跳槽技术能力不够,该怎么解决…
那么下面的软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:
一、测试基础
了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
二、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
三、Shell脚本
掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
四、互联网程序原理
自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
五、MySQL数据库
软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
六、抓包工具
Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
七、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
八、Web自动化测试Java&Python
了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
九、接口与移动端自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
十、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心
十一、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
很认同一句话,努力是有惯性的。这个社会很现实,如果你不努力,一辈子也就这样了
下面我收集和整理了一份软件测试学习资源