对于很多小白而言,想要转行软件测试岗位,却又怕自己从来没有接触过计算机,底子很薄弱,从而还没开始就打起了退堂鼓。也有许多初学者,在入门的过程中,苦于不知道该学什么,又该从何学起,常常搞得一团乱麻。随着时代的发展,测试行业也从功能测试,演变成现在的自动化测试、接口测试、性能测试、安全测试、测试开发等岗位。企业软件质量的要求已经越来越高,所以测试也越来越受到重视,相应的,想要转行测试,如果没有一份完整的规划,学习的效率也会大打折扣。
1.什么是测试工程师?
软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简单来说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。同时,由于测试行业的综合性和全面性,测试需要和很多人员打交道,其中包括开发人员、产品经理等等和软件项目相关的岗位,相对的,一个好的测试人员可以去转行许多岗位。如产品岗位,因为在做项目时,他们就会接触到一些设计常识,如运维工程师,因为测试也需要代建环境,甚至有的测试员可以去做软件的部署等等。由此可见,学好测试其实未来可以选择发展的方向有很多。再回归到测试本身,测试的发展之路很长,需要不断的学习进步,提升自己的硬技能和软技能,硬技能指的是技术方面,软技能就是我们上述提到的和其他部门人员的沟通,处理矛盾等等各方面的问题。
2.测试学习入门知识
技术路线会更加偏重代码技术方向,测试领域有,服务器端测试,客户端测试,安全测试,性能测试,接口测试,自动化测试,渗透测试,测试开发。当你已经达到了测试开发的水平,也就说明你离这个行业的金字塔顶端不远了。软件测试基础知识:这一阶段,我们需要了解软件测试的概念,掌握软件测试是干什么的,熟悉软件测试的基础理论和测试方法,了解测试的生命周期,测试流程,测试用例的编写方法,在项目中的日常工作主要做什么等等,软件测试相关文档的学习和BUG提交规范的学习。语言基础:这一阶段建议大家选择Python 或者Java入门,语言的很多思想和语法都是相通的,学完第一门,第二门就很容易上手了。手动转自动:在我们学习了一个语言后,我们需要不断熟悉精通这门语言,可以结合Selenium学习Web自动化测试,通过脚本,会快速提高语言基础知识的理解和运用。了解和接触框架:这里的框架指的是测试的框架,这一阶段我们需要继续深入研究Selenium和一些自动化测试框架的知识,其中包括,单元测试框架,Java中Junit或者testNG,Python中unittest。Linux和数据库:当自动化测试到一定深度,就需要用代码连接数据库去测试,所以常见的linux和shell脚本是有必要学习的。
这个学习路线的后面几个层面对于初学者而言是有些困难的,但是如果你了解一定的开发和有扎实的代码基础,在未来,成为一名测试开发会更容易些,当然,如果完全按照路线图所学会,你的能力一定在许多测试员之上,这一点是毋庸置疑的。