俗话说,人怕入错行。应届生的第一份工作,对一个人的职业生涯是非常重要的,毕业后前三年,是为自己打基础积攒经验的时间,选错行业和岗位,意味着前几年的经验清零,这对于个人成长是非常致命的。
我从以下几点分析应届毕业生在软件测试行业的个人发展,跟个人发展挂钩的,无非就是三个问题:
1.入行难度:这个岗位好上手吗?有硬性要求吗?对专业限制大吗?对应届生来说难吗?
2.岗位晋升:这个岗位的晋升机制是怎样的?容易吗?(上升空间及难度)
3.薪资涨幅:这个岗位的薪资涨幅情况(有钱赚吗,薪资天花板如何)
一、入行难度
大学里并没有针对软件测试的系统课程,国内企业普遍也是重开发,轻测试。但随着这几年的发展,越来越多的企业意识到测试的重要性,对软件测试人才的需求越来越多。目前市场上的测试人员,一部分是企业自己培养的,另一部分是来自培训机构。
如果你是科班出身的应届生,走软件测试方向的话,再好不过,有一定的基础知识,如果你不是科班出身的,也不影响,毕竟大学里并没有软件测试的系统课程,不过需要你去补充一下基础的东西。
作为一个大学里没软件测试课程的想从事软件测试岗位的应届毕业生,想要拿到软件测试的敲门砖,势必要付出一些努力的,不论科班非科班,因为起点几乎是一样的。
二、必备技能
测试学习大致分为三个阶段。
第一阶段:入门;
第二阶段自动化学习,进阶;
第三阶段性能测试、测试平台开发,领域专家。
入门阶段需要掌握的知识有:
1、基本理论
测试的定义、测试的分类、测试的方法、测试的生命周期。
黑盒、白盒、灰盒 测试。
动态与静态测试。
测试计划、测试方案、测试策略、测试用例的编写、测试用例的设计方法。
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等。
单元测试、功能测试、集成测试、系统测试等。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
PDCA、5W2H等分析管理的方法 质量管理体系CMMI。
测试常用语。
2、计算机知识
操作系统、计算机网络、域和DNS、C/S架构B/S架构、网络协议。 CPU、内存、IO、带宽等。
3、Linux 相关知识
操作环境、常用命令、测试环境部署、虚拟机VM。
4、数据库相关知识
主要命令、增删改查、数据关联、分组查询。 Mysql、Mongodb数据库。
5、APP测试相关知识
安装/卸载、离线、UI、登录等测试内容。 兼容性测试。 手机特有的功能点。
6、接口相关知识
接口测试基本理论、http协议、测试方法。接口测试需求分析、用例编写、评审。
7、工具使用
项目管理工具,例如Git、jira。
bug管理工具,禅道、jira。
测试用例管理工具、jira、Excel。
抓包工具,浏览器自带的F12,Fiddler。
8、Web基本知识 HTML、CSS、JavaScript
学习有两种方式,自学和培训。
自学适合自控力强,目标明确,学习能力强的同学们,还有很重要的一点,就是项目实战经验,自学在项目实战方面会比较欠缺,相当于还是零经验,所以还是要谨慎考虑。
三、岗位晋升
软件测试的晋升路线,结合国内软件测试岗位,在头部互联网公司和软件开发企业中,岗位的发展情况,做一个软件测试工程师晋升路线和具备能力的介绍,可以作为给软件测试新人的职业规划的参考。
起步:软件测试员
自身条件:最基本要求计算机专业毕业或具备一些基本的手工测试经验。
具体工作:执行测试用例,记录测试中的bug,并进行回归测试,通过测试工具,录制回归测试脚本,并执行。
一阶:软件测试工程师
自身条件:具备1~2年工作经验的软件测试员或程序工程师。具有承担初步自动化测试的能力,能独立完善自动化测试脚本。
具体工作:设计和编写测试用例,编写自动测试脚本程序且担任测试编程初期的领导工作。
二阶:高级测试工程师
自身条件:有3~4年经验的测试工程师或程序员。需要有一定的行业业务知识,储备系统分析员的能力。
具体工作:帮助开发或维护测试或编程标准与过程,分析软件需求,获得测试需求。确定测试需求相应的测试方法,获得测试策略方案。参与同行的评审(软件需求,软件测试计划等),并为其它初级的测试工程师或程序员充当顾问。
三阶:测试组负责人
自身条件:有4~6年经验的测试工程师或程序员。具有丰富的行业业务知识,具有系统分析员的能力,专长性能测试。
具体工作:负责管理1~3名测试工程师或程序员。集中于技能方面,担负一些进度安排和工作规模/成本估算职责。分析性能瓶颈的原因,为开发团队提供bug解决策略。
负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,能够为用户提供支持与演示。
四阶:测试/编程高级负责人,资深安全或性能测试工程师
自身条件:有6~10年经验的测试工程师或程序员。
具体工作:负责管理8~10名技术人员。性能测试整体方案设计,软件系统性能问题定位和性能优化,内存优化及分析数据溢出等,分析系统的安全漏洞等。负责进度安排、工作规模/成本估算,按进度表和预算目标交付产品。负责开发项目的技术方法。为一些用户提供支持与演示。
五阶:测试/质量保证/开发(项目)经理
自身条件:有10多年的工作经验。
具体工作:管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。为一些用户提供交互和大量演示。负责项目成本、进度安排、计划和人员分工。
六阶:公司级质量总监 / 计划经理
自身条件:有15年以上开发与支持(测试/质量保证)活动方面的经验;具体工作:管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。
四、总结
较低的入行难度+技术决定岗位晋升+可观的薪资涨幅,作为一个应届毕业生,投身软件测试是一个非常正确的选择,只要你认真规划学习,一步一个脚印,最低一年,你可以拿到10k的薪资。