发布时间:2023-06-14
成为一名软件测试工程师是许多人的职业目标之一,而自学是一个灵活和可行的学习途径。在本文中,我们将讨论如何通过自学成为一名软件测试工程师。我们将提供一些学习建议、学习资源和实践技巧,帮助您制定自学计划并获得必要的知识和技能。了解如何自学成为软件测试工程师将使您能够在自己的时间和节奏下进行学习,同时培养自我驱动和问题解决能力。请注意,自学需要持续的努力和坚持,同时也可以结合其他学习途径,如在线课程或实践项目。本文旨在为那些希望通过自学成为软件测试工程师的人提供指导和建议,帮助他们实现职业目标。
软件测试行业里工程师工作岗位的分类
有按看不看代码分的:黑盒测试工程师、白盒测试工程师
有按主要业务分的:金融测试工程师、通信测试工程师、本地化测试工程师、游戏测试工程师
有按主要任务分的:自动化测试工程师、性能测试工程师、安全测试工程师
有按被测软件分的:手机app测试工程师、手游测试工程师、网页测试工程师、客户端测试工程师
有时也有按被测软件的语言、技术分的:java测试工程师、.Net测试工程师、数据库测试工程师
还有和开发混在一起的:测试开发工程师、测试工具开发工程师、测试架构师
比较多的还是笼统的:软件测试工程师、资深测试工程师、g级测试工程师、测试主管、测试经理此外最常见的就是复合的,如:java测试资深工程师、ios手游g级测试工程师,把上面的各类定语随机组合。
软件测试行业的特点
1. 收入差距极大,有月薪四五千的黑盒测试工程师,也有年薪几十万的资深测试工程师
2. 技术差距极大,有只会鼠标点点点的手工测试人员,也有精通程序代码的资深测试人员
3. 工作内容差距极大,有人每天点点鼠标,测测XXX信息管理系统,有人测复杂的金融业务,有人写测试工具,有人测服务器、中间件、测socket、测高并发,有人搭建测试平台
4. 不同岗位间技术壁垒严重,比如你让一个黑盒手工测试人员去看两个安全测试人员做渗透测试,他很可能完全看不懂这些人在干啥。如果你给一个网站手工/自动化测试人员做一份数据库测试人员的笔试题(考具体数据库的SQL、函数、存储过程),很可能他要交白卷。当然反过来说,要从技术型测试岗位转行去做黑盒手工测试人员是毫无壁垒的,但一般不会有人这么转……
5. 入行门槛低,一个其他专业的无关人员通过两个月简单培训,即可掌握普通的黑盒测试方法,成为一名软件测试工程师
6. 黑盒手工测试是主流职业,国内大部分中小型公司都需要大量的黑盒手工测试人员,同时巨头级的金融机构、互联网公司仍然需要资深的黑盒测试人员
所以造成了大量外行人员涌入软件测试行业里的黑盒手工测试岗位,并给人以测试人员技术不行的感觉。
基础不好想要学习转行软件测试方法:
第一阶段 测试基础
只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的,所以说测试基础是软件测试比较基础也比较比较比较重要的一部分了。
而学习的程度并不是说理解就可以了,比较好是能够用自己的话给复述出来。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)
以上就是大概的内容,只要你肯背、肯写,都是能独立的掌握的。
第二阶段 工具学习
软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把比较基础的几个工具学习了就行了,以后用到什么工具再去学什么工具就可以了。
下面我会列几个必学的工具,不用太精通,会用就行了。
性能测试工具:loadrunner、jmeter。
接口测试工具:postman
抓包工具:fiddle
数据库管理工具:Navicat
项目/BUG管理工具:禅道、QC
搜索工具:百度、谷歌
第三阶段 代码学习
如果你已经完成以上的两个部分的学习,那么恭喜你,你已经是一名出色的初级测试工程师了。
接下来,你需要考虑你的发展方向了。
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
其实关于方向的选择,相信你自己心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python,当然数据库也是必须掌握的!
自动化方向
等你代码已经基本掌握了,接下来就是要学习各种自动化测试了。
· 各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
· WEB自动化测试框架:selenium(适用于java\python\javascript)
· APP自动化测试框架:appium(适用于java\python\javascript)
以上的内容,根据你学的语言进行选择。
appiunm和selenium根据你参与的项目进行选择。
性能方向
对loadrunner和jmeter的掌握更加的深入。
可以手写脚本、脱离录制。
学会了多线程编程、能够手写java或者python、不用工具直接实现压测。
学习linux,毕竟性能总是和服务器打交道的。
学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
说实话、性能方向的提示更难、因为需要掌握的东西太多了。
性能测试做深入了,基本上就是架构师的水平了。
可能你现在看着这个性能方向的学习一脸懵逼。
没关系、等你把上面的编程语言学会了你就不懵逼了。
安全方向
渗透测试
SQL注入
暴力破解
脱库
第四阶段
经过之前三阶段的学习之后各位接下来考虑的就应该是怎样写代码更合理、怎样测试会更全面。
上面讲的都是教你应该怎么做。
而在第四个阶段你需要自己去思考为何要这样做,也就是说这个阶段你要学会的是主动学习,
跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了,已经有了属于自己的一套东西了。
更多新闻详情进入合肥博为峰IT教育