零基础入门测试该学什么?最全整理,照着学就对了!
发布时间:2022-03-25

对于很多小白而言,想要转行软件测试岗位,却又怕自己从来没有接触过计算机,底子很薄弱,从而还没开始就打起了退堂鼓。也有许多初学者,在入门的过程中,苦于不知道该学什么,又该从何学起,常常搞得一团乱麻。 


随着时代的发展,测试行业也从最初的功能测试,演变成现在的自动化测试、接口测试、性能测试、安全测试、测试开发等岗位。企业软件质量的要求已经越来越高,所以测试也越来越受到重视,相应的,想要转行测试,如果没有一份完整的规划,学习的效率也会大打折扣。 


本期,笔者就给大家盘点一下,零基础转行测试需要学习哪些内容呢?



1、什么是测试工程师?


       软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。


       简单来说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。 


同时,由于测试行业的综合性和全面性,测试需要和很多人员打交道,其中包括开发人员、产品经理等等和软件项目相关的岗位,相对的,一个好的测试人员可以去转行许多岗位。


 

如产品岗位,因为在做项目时,他们就会接触到一些设计常识,如运维工程师,因为测试也需要代建环境,甚至有的测试员可以去做软件的部署等等。由此可见,学好测试其实未来可以选择发展的方向有很多。 


再回归到测试本身,测试的发展之路很长,需要不断的学习进步,提升自己的硬技能和软技能,硬技能指的是技术方面,软技能就是我们上述提到的和其他部门人员的沟通,处理矛盾等等各方面的问题。 


所以,想要成为一名好的测试工程师并不简单。



2、测试学习成长路线


       下面给大家一个技术学习成长路线,小伙伴可以根据此参考,开始学习:



       技术路线会更加偏重代码技术方向,测试领域有,服务器端测试,客户端测试,安全测试,性能测试,接口测试,自动化测试,渗透测试,测试开发。当你已经达到了测试开发的水平,也就说明你离这个行业的金字塔顶端不远了。


       下面针对这条路线中比较关键的几点拎出来和大家说一下: 


       1)软件测试基础知识

 

这一阶段,我们需要了解软件测试的概念,掌握软件测试是干什么的,熟悉软件测试的基础理论和测试方法,了解测试的生命周期,测试流程,测试用例的编写方法,在项目中的日常工作主要做什么等等。需要掌握以下两点: 


软件测试相关文档的学习和BUG提交规范的学习

 

1、了解测试计划、测试方案、测试策略、需求文档、需求评审、测试用例设计方法等

2、了解bug的定义、分类、bug的生命周期,bug提交规范,bug管理工具和项目管理工具的基本使用(禅道,jira,tapd,readmind,testlink等)。 


需要学习哪些测试工具 


1、xmind/mindmanage思维导图、svn/git源代码和文档管理工具、抓包工具(fiddler、charles:掌握基本抓包用法,弱网请求、接口请求拦截、响应结果篡改)

2、学习linux基本操作,掌握常用命令,学会环境部署的大致操作

3、学习数据库的基本知识,掌握增删改查的常见操作

4、了解一些简单的html、css、javascript相关的内容,有个概念就行

5、结合以上工具,再运用到项目中,回过头来重新再去测试一遍(不要觉得枯燥,测试经常干一些反复琐碎的事情,需要耐心和细心) 


2)语言基础

 

这一阶段建议大家选择Python 或者Java入门,首推Python,学完再学Java,语言的很多思想和语法都是相通的,学完第一门,第二门就很容易上手了。 


3)手动转自动

 

在我们学习了一个语言后,我们需要不断熟悉精通这门语言,可以结合Selenium学习Web自动化测试,通过脚本,会快速提高语言基础知识的理解和运用。


       4)自动化脚本开发

 

这个阶段我们需要会自己写出测试用例了,如果Selenium自动化脚本开发,你起码要完成100个自动化测试用例,才能做到熟练运用。 



       5)了解和接触框架

 

这里的框架指的是测试的框架,这一阶段我们需要继续深入研究Selenium和一些自动化测试框架的知识,其中包括,单元测试框架,Java中Junit或者testNG,Python中unittest 


6)设计简单测试框架

 

一个测试框架大概包括测试对象,测试组件,基础类和函数,工具类,测试数据,异常处理,测试日志,断言和测试报告等这些模块。 


在设计测试框架的时候,我们要尽可能的将这些模块有机的结合起来,将脚本能够有效的组织、连贯应用起来,提高测试脚本的可维护性和可读性。 


7)常见设计框架


       由于应用系统技术五花八门,几乎没有测试框架能应用在多个项目上并体现出应有的价值,所以一般情况都需要根据项目自身情况来定制化我们的测试框架,常用的有数据驱动,关键字驱动和两种方式的混合。 


8)Linux和数据库

 

当自动化测试到一定深度,就需要用代码连接数据库去测试,所以常见的linux和shell脚本是有必要学习的。 


9)版本控制和持续集成

 

持续集成指的是,频繁地(一天多次)将代码集成到主干。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。

 

根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。同时,集成可以帮助我们每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。 



       10)Web前端(可选)

 

我们可以学一些前端的知识,来帮助我们之后更好的完成工作。 


11)写一些小程序

 

通过一些小程序来帮助我们更快的确定自己的技术能力在哪个层面。 


12)完全掌握一门语言

 

可以将这一阶段看作一个学习的目标,帮助我们稳定代码基础。



3、写在最后

 

这个学习路线的后面几个层面对于初学者而言是有些困难的,但是如果你了解一定的开发和有扎实的代码基础,在未来,成为一名测试开发会更容易些,当然,如果完全按照路线图所学会,你的能力一定在许多测试员之上,这一点是毋庸置疑的。 


无论哪一行都需要努力和坚持,测试行业也是如此,相信自己,其实只要有毅力,从小白晋升资深者也不是什么难事。



更多软件测试相关推荐:

软件测试更多干货文章

软件测试就业培训

相关阅读
/