本人不才,今年35+,在行业摸爬滚打10余年,迷茫过、努力过,虽然不能说成为这个行业的翘楚,但是最起码在接近40岁的年龄,依然可以在行业中占据一份不错的岗位。回首过往,我最后悔的事情有两件:第一,入行太晚。我26岁才正式投身进入软件测试行业;第二,没有进行过专业的技能培训,都是一边工作一边学习,成长效率太低。所以说系统学习很重要,今天聊聊如何从0开始学习软件测试并拿到一份offer

为了方便大家学习,我将通过下面几个步骤来进行阐述:

一、什么是软件测试?

二、对于初级软件测试工程师,需要掌握哪些专业知识呢?

三、中级软件测试工程师专业技能储备(学会一点,拿下10k)


一、什么是软件测试?

在学习软件测试之前,我们应该先弄明白什么是软件测试?

高赞回答是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试定义,什么是软件测试?

软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

0基础如何自学软件测试?并且拿到一份10k的入职offer..._测试类型


二、对于初级软件测试工程师,需要掌握哪些专业知识呢?

软件测试属于IT行业,整个IT行业说是吃青春饭不为过。但是这个行业仅仅有学历和年龄的优势,是没有办法立足的,因为它需要非常强的专业知识。

各阶段技能需求,我们可以看下图,很好的总结作为软件测试工程师,在各个阶段需要具备的技能。

0基础如何自学软件测试?并且拿到一份10k的入职offer..._职场规划_02

对于还没有进入到软件测试这个行业的朋友,前期的准备工作可以从初、中级软件测试工程师的从业技能要求开始入手。

1、初级软件测试工程师专业技能储备

1)了解计算机以及软件测试相关的基础知识

a.计算机基础知识

计算机组成部分,操作系统分类,常见的系统架构(B/S和C/S),常用的DOS命令

b.软件测试基础理论知识

软件测试的目的、定义、原则,产品质量模型,软件测试的基本流程

2)常用的Linux命令

在软件测试中,有时候需要我们自己去搭建测试环境,或者是在服务器部署自动化项目。而服务器基本都是使用Linux系统的,所有我们需要掌握一些基础的Linux命令

3)SQL语句

在软件测试中,测试结果的校验或者自动化中的测试数据准备,都会操作数据库来完成。所以对于数据库的最基本的增、删、改、查的SQL语句,需要能够独立完成编写

4) 手工测试用例的编写(最重要)

作为一个软件测试工程师,最基本的要求就是用例编写的能力。如何编写出一份高覆盖率,低重复率的测试用例,是初入软件测试行业应该去不断追求的能力。

5 ) 缺陷的管理

了解在团队中,如何管理测试人员提出的BUG,从而保证项目的BUG能够及时被修复

此阶段视频推荐

会了以上这些内容,只能说是能够获得一份工作(5k~7k之间),但是现在行业招人的要求原来越高,搞定自动化或者性能测试,才能拿到10k以上的月薪,关于上方学习内容,我也整理了一份相对应的0基础入行的视频教程

非计算机专业:5天计算机基础+2天linux+4天mysql+1天环境搭建+3天手工测试理论+6天功能测试项目,合计21天;

完整配套学习资源:《新人如何入门和学习软件测试?》,只要学习完前面3个阶段即可。需要的朋友可以私聊我

计算机专业:只需要7小时快速学习测试理论,测试用例设计方法,缺陷管理方法,抓包工具,测试管理工具就可以拿下功能测试;《实战项目带小白入职7-12k功能测试岗位,仅7小时【史上最快】》需要的朋友可以私聊我

五年前,如果你只会手工测试没有问题。但是互联网的发展速度超乎你的想象。在现如今你想要在这个行业混得下去,不会自动化很难长期的立足。

而是否会完成自动化测试,这也是初级与中级软件测试工程师的分界线。

0基础如何自学软件测试?并且拿到一份10k的入职offer..._职场规划_03

三、中级软件测试工程师专业技能储备(学会一点,拿下10k)

1、接口测试相关专业技能

论是自动化测试还是性能测试,甚至之后往测试开发方向发展,最基础的就是针对接口进行测试。所以要想做好中级软件测试工程师,第一步就是能够完成接口测试。

1)接口以及接口测试相关的理论基础知识

包括接口及接口测试的概念,接口测试的原理,接口测试的流程,http协议,Restful接口风格。这些内容都需要有所了解

2)接口工具的使用:Postman和Jmeter

接口测试,可以使用代码,也可以使用工具。通常情况下,接口测试最多还是使用工具来完成.原因无他,"高效"。

3)抓包工具:Fiddler和Charles

在测试过程中,我们为了定位前后端的问题,就会使用抓包工具,查看接口返回的结果。从而定位问题是前端的,还是后端的。这两个工具,我们一般二选一去学习就可以了,因为他们的作用都是一样的。


2 . 编程语言学习

自动化测试的实现方式,主要还是依赖代码来完成的。所以要能进行自动化测试,首先需要掌握一门编程语言。目前行业主流的自动化测试的编程语言为python和java。我个人推荐python,因为对于新人而言,上手的难度比较低一些。如果可以全天学习,python也就差不多10天就能入门


3、自动化测试学习

Python学完以后,我们就可以开始自动化测试方面的学习。

自动化测试的目的,主要还是为了降低回归测试的时间。

软件测试中的自动化测试,分为UI自动化和接口自动化。

1)接口自动化:

0基础如何自学软件测试?并且拿到一份10k的入职offer..._软件测试_04

 2)UI自动化:

0基础如何自学软件测试?并且拿到一份10k的入职offer..._职场规划_05

通过以上的学习之后,我们再来看你具备哪些能力?这个时候的你拿下10k的offer,如同喝水一般

1.SQL语句,Linux常用命令

2.手工测试用例的编写以及缺陷的管理

3.使用抓包工具进行前后端问题定位

4.使用Postman或Jmeter进行接口测试

5.使用Python进行接口/UI自动化测试

多么华丽的技能知识储备,保证你在行业内以高起点出发。

既然都看到这里啦,请你帮个忙:

1、点赞,让更多小伙伴看到;

2、关注我,持续更新测试干货。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。