几年前进入到IT行业,现在发现学习软件测试的人越来越多,今天我想根据自己的行业经验给大家提一些建议。
跟其他行业相比,做软件测试的岗位确实算是高薪职业,我们那个时候起步的工资并不高,而看现在很多毕业的学生薪资都是8000起步,工资越来越高是肯定的,因为现在都伴随着通货膨胀。目前高级测试工程师如果拥有两年测试经验,他的薪资范围最少都要在10K这个阶段,所以就导致来转行学习软件测试的人越来越多,毕竟现在做其他很多行业都赚不到什么钱。但是高薪并没有像大家想的那样容易拿到,很多人都认为身边的朋友有做软件测试月薪都几万几万的,但是我们往往忽略了他们在学习技术上付出了多少辛苦,只是看到了别人表面的风光而已。但我认为问题的关键还是很多人忽略了学习软件测试的难度,想转行学习软件测试的人虽然不少,但最后真正能成功的也就是百分之三十的概率,这些人往往学习能力强,有强烈的赚钱欲望,并且不怕吃学习的苦,肯付出时间去研究学习。
我用了五天的时候整理了今年我认为软件测试就业的主流技术栈大纲,由于内容实在太多,我就能弄成了一张长图,如果你需要的话,可以加我下面的卡片,直接管我要。
学习建议
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了。
啥?你问我学的啥。
我当然是两种都会啊
哈哈哈哈哈哈哈,惊不惊喜!意不意外!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助 。
文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方进群自行领取即可,拿走不谢。