从题干上看,你是已经进入了软件测试行业,有了一份软件测试的工作,那表示你看好这个行业,有意愿在这个行业持续发展。

  软件测试相对一些开发的专业来说,需要了解的东西特别多,拿一些招聘简章中的要求来看,大部分都要求熟悉网络、linux系统、数据库、软件测试流程及理论、Java或者python等脚本开发语言、自动化测试理论及工具使用(selenium、Jmeter、Appium、Loadrunner等,太多,此处不一一列出)、接口测试、安全测试等等,甚至最近热门的docker、Jenkins等都要懂一些,回头想想,自己现在懂得东西还真不少。

  知道了软件测试行业需要什么技能了,那没啥好版本,学呗,那就涉及到如何学的问题了。从么多年的软件测试经验中,我总结了如下的快速自学进阶的方法:

  1、兵马未动粮草先行,在学习上也是这样,有扎实的理论基础,再开展实战会非常得心应手,这就要求我们把测试理论放在一个较高的位置,而不能只重技巧、工具,那就多看几本软件测试的好书吧,或者多看看网络上一些讲软件测试理论的视频课,不图学到多么高深的技术,只求多听一些概念理论以支撑自己的测试工作。

  2、在实践中总结真理,其实在我们测试行业也是适用的,通过进行真实项目的实践,在项目中向经验丰富的同事学习,也是一个不错的提升方式,但这种方式进步速度可能会慢一点,这就要求我们足够自律,不断给自己加压,从最初的执行测试用例、提缺陷报告、设计测试用例,再到测试计划、需求及总结,要不断去挑战,让自己快速成长起来。公司内的项目测试类型会比较单一,没事就多逛逛大咖的博客或者论坛吧,不然自己的思维、技术会被限制的。

  3、如果是零基础入行的话,建议自学一些软件测试的在线课程或者线下的培训课程,这样能快速构建软件测试的理论体系,对自己在职业中的发展会有很大帮助。

  总之如果在公司通过项目学习的话,可以1、2个月上手功能测试,但由于公司项目可能单一,对自动化测试或者其他测试类型学习可能机会较少;如果通过培训学习软件测试的话,可以在3、4个月内掌握软件测试的基础理论及自动化相关的技术,会对个人的职业生涯有很大的指导及帮助。如果你还没入行,也可以抽时间进行系统的学习,大概需要3、4个月的时间掌握软件测试的基础理论及自动化相关的技术,会对个人的职业生涯有很大的指导及帮助。

  总结一下,如果是想自学软件测试,那就必须具备三大素质,一是学习方法,二是足够自律,三是有强大的意愿,我觉得第三条是前两条的基础。

很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,基本上涵盖了软件测试工程师需要掌握的全部技能,希望对刚入行或者准备学习测试的朋友提供一点指引。

1.测试基础理论

不管有没有计算机基础,测试理论的学习都是首要的,不管你的目标是功能测试、性能测试、测试开发,这些基础知识必须优先掌握。

主要包括常见的软件开发流程及模型,尤其是解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。

2.数据库学习

数据库是开发和测试的最基本技能,软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。

3.Linux学习

Linux操作系统一直被用作重要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。更高级的使用,是通过编写shell脚本,自动化完成测试任务。

4.接口测试

接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。熟练掌握接口测试已经是软件测试招聘的基本要求了。

5.性能测试

性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。

6.自动化测试

学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。

下面是本人梳理的一个测试的学习大纲,希望对大家有帮助,获取更多测试资源,程序员资料,可关注gzh【清零】获取。

 

更多推荐

刚入行的软件测试工程师如何自学软件测试?