最近经常收到小伙伴的私信问打算进入到互联网这个行业,如何转行软件测试?学测试难吗?以及谈到自己非计算机科班毕业,半路转行没什么经验,比较迷茫,不知道学习路线,以及需要学习哪些课程。甚至询问是否需要报个培训班学习,自学就可以吗,还是必须报班等问题。
首先我想说,初级软件测试学习和入门的门槛都是很低的,比起开发岗位来说,要容易得多,只要知道学习路线以及怎么学之后,自学是完全可以入行的。所以,今天就来跟大家探讨一下这个问题。
我浏览了BOSS直聘、拉勾网、猎聘网等招聘网站上目前关于初级测试工程师的招聘要求,以及薪水待遇等信息。以本人所在的城市上海来举例,*经验在两年之内,薪水待遇在7K-12K之间的都可以定义为初级测试工程师。当然,有一些名校毕业的计算机大佬,刚毕业就入职大厂测试开发工程师岗位,薪水十几K起,我也认识不少这样的人,但是他们都是经过层层面试,竞争是非常激烈的。
那么,作为一名刚毕业的应届生或者转行的零基础小白,要掌握哪些技能,才能找到一份像样的软件测试*并胜任这个岗位呢?首先要了解IT互联网行业目前的一个现状就是“比较卷”,江湖上流传的面试造火箭,*拧螺丝。也就是说有些知识在实际*中很少甚至不会用到,但是你需要了解。
作为一名初级测试工程师,日常主要*是功能测试,俗称点工。只需要掌握从需求分析到功能上线的整个测试流程,以及会编写测试用例。就足以应付日常*,这些知识差不多一个月时间绝对够了。
然而,现在*的问题是你要怎么得到入行的机会,只有先踏入这个行业,才能谋发展,实现伟大抱负,升职加薪,而面试需要的技能往往高于实际*。
好了,废话不多说,下面就来逐个简单聊一下面试初级测试工程师要掌握的技能,以及日常*中的用途。
软件测试理论基础
首先要明白IT互联网公司基本的组织架构以及各个岗位是做什么的,主要是项目经理、产品经理、UI设计师、前端、后端、测试、运维等。了解一个版本迭代从需求分析到上线整个测试流程以及使用的管理工具。要掌握测试用例设计和编写的方法,Bug的编写及管理流程……
功能测试
主要分为Web测试、App测试和接口测试,另外还有H5、小程序。对于Web和App,根据编写的测试用例执行用例进行测试即可。对于接口测试,要掌握两个技能,一是会使用Postmam等工具来调接口,二是会使用浏览器F12或Fiddler工具来抓*定位Bug。学好接口测试也是为之后性能压测的学习打下基础。
数据库
了解数据库概念、关系型数据库和非关系型数据库。首学MySQL,主要掌握SQL语句,增删改查、where子句、聚合函数、limit、排序、嵌套查询(分组及子查询)、关联查询(内连接、左连接、右连接)。*一款数据库管理工具的使用,比如Navicat。加分项会存储过程、懂索引、事务、SQL优化,这些初级不强制要求。*中使用最多的是查询语句和修改语句,主要校验前端的传值以及不同系统接口调用数据传输,存值是否正确。
Linux
掌握Linux基本命令,比如文件和目录相关命令、系统管理命令、用户和用户组管理命令、查看磁盘和内存空间命令、Linux三剑客等,会用命令查日志,会搭建测试环境。因为绝大数公司的服务器以及代码都是部署在Linux系统上的,*中用得最多的就是查询日志,定位Bug。还要*Xshell和Xftp工具的使用,这两款工具主要用于与远程服务器建立连接以及文件传输。
计算机网络协议
网络协议这块要掌握一些高频面试题,比如:http和https协议的区别,接口请求方式get和post的区别,tcp/ip协议,cookie、session和token机制的区别,三次握手四次挥手,在浏览器输入一个网址发生了什么?这些都需要了解一下。
版本控制工具
主要是Git和SVN,Git是命令行式,SVN是图形化界面,企业里面主要用来管理代码以及文档等,属于工具的使用,比较简单,建议都学一下。
编程语言
Java/Python,初级对编程语言要求不高,即使你不会也是可以的,但是是加分项,*掌握一些基础语法,如果你之前没有编程基础,建议从Python入手比较容易,学完基础语法,能手写实现冒泡排序或其他排序,很加分。
自动化测试
主要分为Web自动化、App自动化和接口自动化。初级要求不高,知道一些框架即可,比如:Selenium、Appium、Requests等。建议优先学习接口自动化,目前需求最多,相比于UI自动化,成本较低收益较高,因此是企业做自动化测试的首选。加分项是会搭建好的框架编写自动化用例、脚本等。
性能测试
初级对性能这块没要求,加分项了解性能测试的思想,会使用Jmeter做接口压测,并发测试等。如果时间富裕,可以学习一下。
以上所罗列的技能基本就是零基础小白转行成为一枚初级测试工程师需要学习掌握的技能,前六项是必学项,决定了企业会不会录用你,后三项是加分项,决定了你能谈到多高的薪水,当然,技能会的越多越好,我始终秉持着“能力应该大于*年限”的观点。但是请至少面试之前把基本的东西先掌握好,千万不要轻易浪费面试的机会。