三、求职经验分享

3.1 面试前的准备

面试前的准备工作特别重要,只有做好充足的准备,面试前做到胸有成竹,在面试中才能决胜千里。有些人为了准备一场重要的面试,准备了一年,这并不夸张。

3.1.1 面试复习

面试复习阶段有几点建议:
  • 提前准备、提早复习
  • 要有一段系统学习、巩固基础的过程
  • 面试要前刷笔试题和面经
  • 面试前的突击复习要抓重点

(1)提前准备、提早复习

提前做好职业生涯规划,包括给自己树立一个职业目标,认清自身现状,找出一条通往目标职业的学习路线,并按计划走下去。
大三的时候,就应该开始对自己职业生涯做个规划了,到底要继续考研深造,还是确立找工作的目标,都需要提前把目标确定下来,而且目标一旦确定下来之后,最好不要轻易改变,一旦后期举棋不定,不管是找工作还是考研,两边都会耽误。
本专刊系软件测试岗位专刊,假定读者们都以找软件测试岗位工作为目标。

(2)系统学习软件测试

一般来说,本科院校很少有开设软件测试课程的专业,想要系统学习软件测试,一般有两种途径:
  1. 自学
  2. 报名培训班

先谈谈如何自学软件测试。上图是笔者结合多年软件测试工作经验,总结出来的一套软件测试的学习路线图。
由易到难,先从软件测试的基础知识开始学习,掌握基本的软件测试原理,学会怎样去编写测试用例,了解当前市面上的软件公司都是如何进行缺陷管理的,掌握常用的黑盒测试的测试方法运用到功能测试当中。如果是自学的话,建议阅读《软件测试(第2版)》、《软件测试的艺术》以及《Google 软件测试之道》。

接下来就要开始对计算机基础进行深入学习,如果本身有一定计算机基础,建议直接去看计算机专业的教科书进行复习巩固。但这对于非科班的同学来说,如果完全没有接触过的话,可能会比较困难,建议先在网上找一些视频课程进行学习。假如说想通过阅读书籍来提升自己的基础知识,最好先从入门的书籍开始阅读,比如:学习计算机网络可以阅读《图解HTTP》、《图解 TCP/IP》,此类书籍通俗易懂,并且有很多插画可以加深记忆。但建议还是优先选择看视频进行学习,因为看视频比看书要更加生动,能够加深记忆;另外老师讲解的时候,都是将知识点进行归纳总结之后进行讲解,也有助于更好的吸收知识。

编程语言基础已经成为软件测试工作必不可少的一项技能,不少研发团队也都乐于把代码开放给测试人员,让测试人员一起对代码进行评审。目前比较流行的后端语言有:Java、C#、PHP、Go(也称为:Golang)等等,不同公司运用的技术栈可能会有所不同。
建议初学者可以选择Java作为第一语言进行学习,因为Java在Web开发领域已经有多年历史,很多知名公司,譬如阿里巴巴、美团、京东等公司都把Java作为主要的后端技术栈语言,并且Java还被广泛运用在大数据、Android开发等领域,Java的通用性很强。Python作为一门“胶水”语言,因其语法简单,易于上手,在测试领域也被广泛运用,可以作为第二语言进行学习。其他的譬如前端的编程语言,若不是工作必须,做到了解和入门即可,编程语言都是有很多共性的,学完一门编程语言,再学下一门编程语言,会轻松很多。还有一点需要注意的是:学习编程不要为了学而学,编程语言本身就是一项工具,应该要学以致用。除了编程语言之外,我们也要对一些Web框架及中间件有所了解,比如你学习Java,那么Tomcat、SpringBoot、Dubbo等等都是需要了解的。

当你的知识储备比较丰富之后,就进入到了测试进阶的阶段。技术方面,可以从白盒测试、接口测试、性能测试、自动化测试、安全测试以及测试开发等领域去进行探索;管理方面,可以针对效能提升、测试架构、测试管理和项目管理等方面去进行提升。

当然,并不是说以上内容全部都学通学透才可以找工作,甚至有些内容是大家真正参与到测试工作中后,还需要再不断进行加强的。这里只是给大家提供了一个学习方向性的指引,如果时间充足的话,当然知识的储备是多多益善的。
如果自学能力不是很强或者自学了一段时间效果不佳,在经济和时间允许的条件下,可以尝试去报名软件测试的培训班,进行系统的学习。

(3)牛客网刷笔试题和面经

检验自己能力是否能达到入职标准,最好的途径就是刷笔试题和进行模拟面试。
牛客网有海量的大厂笔试原题,平时可以多刷刷笔试题,测试一下自己的实力。到了快要参加笔试时,更应该搜索自己将要参加笔试的公司的原题来加以练习,查缺补漏。