你好,我是麦苗徐哥。
点进这篇文章的小伙伴,我就默认为你是刚毕业找实习或者从业几年准备转行软件测试行业的小白了。
既然你有进入it行业的这个想法,像什么薪水待遇前景什么的就不说了,这些参考招聘网站即可,今天主要谈谈软件测试是什么?如何更快的进入软件测试行业?以及你该如何后续进行自我提升进阶?
软件测试顾名思义就是对软件进行测试,找出系统bug,减少线上问题,提高用户体验。这就是软件测试工程师的职责与工作内容。
为了帮助你更好的理解软件测试以及这个行业,我先分享一下我们公司的日常工作以及各个岗位分别是做什么的,以及测试工程师主要跟哪些人员在打交道。
麦苗徐哥目前在一家世界排名二十多的公司任职,虽然比不上一线互联网公司,但也算大厂了,
公司整套流程与体系也比较规范,还是有一定参考价值的。
好的,废话不多说,直接上干货。
先聊一下公司组织架构以及每个岗位的存在都是做什么的。首先公司是按照负责业务的不同划分成了不同的大组,比如有的负责软件收钱部分的就是财务组,有的负责软件销售部分的就是网销组等等,这样的组大概有十来个,然后每个大组根据业务的继续精细划分,每个大组又划分为不同的小组,每个大组大概三个小组。
然后谈一下每个小组基本上一个小组十几个人,里面有开发有测试有产品经理,然后管理的话会有一个开发负责人,一个测试负责人。我们小组有四个测试总共,十来个开发,可以参考一下。
再谈一下每个岗位的职责:
产品经理:主要负责搜集每个月各个软件功能需求,然后发给测试开发负责人,然后负责人根据这些需求分配给不同的开发测试人员。
前端开发:主要负责web前端测试,一般是BS架构,主要负责前端页面的开发。
移动端开发:主要就是安卓,ios这些app前端的页面开发工作,属于CS架构。
后端开发:主要就是对web,app这些前端返回的数据进行逻辑控制与校验,可以共用一套后端接口
普通测试:主要就是负责功能测试包括app测试,web测试接口测试等,俗称点点点
测试开发:主要负责自动化测试,以及开发一些测试工具提高整个测试团队的效率。
运维: 主要负责线上环境的维护,一般运维出生产问题都是大问题。
接下来聊一聊测试是做什么工作的
首先每一款软件都不是一次就能开发完成的,都是从一个很小的软件随着业务的不断发展以及用户数量的增加不断优化迭代完成的。即便是很成熟的软件也需要不断的进行优化。
麦苗徐哥公司基本上每两周一个版本迭代,所以就分为月中版本和月底版本。然后测试经理分配工作的时候会直接分配一个月的任务,所以作为一个测试需要做的就是保证每个版本不出线上问题即可。
具体来谈下一个版本完整的业务流程是怎么样的,一般你面试测试岗位的话,面试官特别喜欢问这个问题来判断你是否真的做过测试。
首先产品经理对一些比较重要的需求组织需求评审会,需要开发和测试各派相关负责人员参与,之后就是编写相关测试用例,然后进行用例评审,需要相关开发和产品经理参与。
之后就是等待开发提测,开始进行测试,然后找bug,给开发提bug到相关平台上,这个不同公司都不一样。复测bug直到通过,然后上线前两天进行UAT验证,就是业务人员在测试环境进行验证看有没有问题,是否符合需求。上线前一天发系统测试报告,进行封版。
封版就是将本次要上线的代码统一提交管理,封版之后就不能进行代码改动了,之后第二天进行回归测试,如果发现问题,则需要申请解封或者需求延期不上线等等,需要测试开发负责人和产品经理进行协商评估。回归完成要发回归测试报告。
之后就是等到版本日那天晚上统一发版上线,测试要留下来进行生产验证,或者第二天进行生产验证。
以上就是麦苗徐哥公司一个版本从需求提出到上线的完整流程,其他大公司也大同小异,基本就是这样。
最后谈谈基础测试理论要学习哪些东西,我觉得就两点一个是熟悉测试的业务流程,这个上面已经讲过了,其次就是学会编写测试用例,学会这两点基本上你就可以上手做点点点工程师了,可以参考推荐的学习视频学习即可,但是面试的难度是高于工作的,俗称面试造航母,工作拧螺丝。