前几天和同学小聚,有个同学抱怨道:“我们公司马上要改制了,之前是国企以后就不是了,待遇也大不如前哎。本来毕业的时候想着是做文职类工作轻松些而且国企也比较稳定,现在看来真得另谋出路了。“我想转行做软件测试咋样啊?你给我提点建议啊?”我相信我这位同学的经历并非个例,有很多朋友都因为各种各样的原因想转行进入软件测试行业,那我今天就单独写一篇文章,聊聊小白如何入门软件测试吧。
作为一个拥有四年多软件测试经验,参与过大大小小十来个项目,涉猎范围包括嵌入式项目、大数据项目、APP项目、人工智能项目,做过功能测试、性能测试和自动化测试,也参与过测试人员的招聘的测试工程师,我认为入门软件测试需要四个方面的知识or技能,它们是:业务知识、职业素养、基础知识、技术知识。
这四者之间的关系见上图,职业素养是一切的根基,因为人在职场就必须拥有必要的职业素养,软件测试工程师也不例外。基础知识和技术知识是两大支柱,它们共同为业务知识服务。毕竟对于一个公司来说,盈利是主要目的,所以业务是根本目标。我记得有一年腾讯的面试官就说过一句话:“你的个人技能如果能给公司业务带来价值,那么你的个人价值就越高”
一、职业素养
首先是认真的工作态度。因为软件测试本来就是个细致活儿,不认真仔细地全心投入是很难发现潜在BUG的,一旦这些BUG流到最终用户手上,给公司带来的损失就是不可计数的。
其次是善于沟通和团队协作。现在的软件开发模式都是team work形式。比方说发现一个疑似BUG,你如果和程序员小哥说:“我又发现了个BUG,你快来看看”对方八成会说:“你自己环境配置有问题吧,我本地是可以运行的”然后就没有然后了,但是如果你和程序员小哥说:“老铁,有空吗?不知道是不是我的测试环境配置有问题,导致你开发的某某模块运行不了”程序员小哥八成会说:“操!不会又出BUG了吧”然后立马帮你排查问题。平时和团队成员沟通的时候,学会同理心,多站在别人角度思考问题,有个好人缘的话开展工作起来也相对容易些。
最后是较强的学习能力。因为IT业是一个技术更新迭代非常频繁的行业,可能今年流行的框架到了明年就过时了,所以需要从业者具备较强的学习能力。
二、基础知识
基础知识是入门IT行业的通用基础,类似大学里学过的公共课一样。只要是IT行业从业者,就必须要掌握。其中包括:
1.软件工程的相关知识。比如软件的定义、软件的生命周期、软件开发的模型、软件开发流程、计算机组成原理、操作系统分类等等。
2.软件测试的基本知识。比如软件测试的概念、软件测试的目的、软件测试的原则、产品质量模型、软件测试的分类、软件测试的基本流程、测试方案由哪几部分组成、BUG的闭环流程是怎样的、测试用例怎么写、怎么高效提BUG、软件测试处于软件开发周期中的哪个环节、相关利益方都有谁、测试报告的格式是什么等等。
3.英语。由于现在很多公司都会涉猎海外业务,而且很多开源技术文档都是英文的,所以学习英语其实对软件测试工程师来说也是非常重要的。所以平时多积累一些单词量、多听VOA音频、多看英文原文文档对英语学习是非常有帮助的。
三、技术知识
1.数据库基础。因为数据库是最常见的数据存储工具,所以掌握它非常有必要。比如数据库的概率、分类、实体联系模型、三大范式、数据的备份、存储过程、SQL语句怎么写(增删改查)等等。
2.LINUX基础知识。现在很多大型服务器都装linux操作系统,所以我们要熟悉Linux的文件结构、基本命令、shell脚本相关知识。这里建议大家可以自己在电脑上装个linux虚拟机,再装mysql。这样一来,就可以在上面联系Linux指令和sql语句了。
3.编程语言基础知识。可以学一门高级语言,比如java、python等。虽然测试工程师在编程上的要求可能略低于开发工程师,但是了解编程语言能让你成为一个level更高的测试。比如在code review的时候,你就可以站在测试的角度上对代码结构提出自己的建议;又比如高段位的测试开发工程师、自动化测试工程师等都需要编程能力,所以打好语言基础很重要。
四、业务知识
一切技术都是为业务服务的,所以当你进入一家公司一个项目组的时候,首先需要了解这家公司是做什么的,这个项目组在这家公司里处于什么地位。比如你去了一家银行,你所在的项目组负责银行自助APP开发,那么你就需要学习银行开户、存款、转账、销户等一系列业务需要遵循的流程,一般产品原型图里都有流程图,好好学习这些流程图对设计测试用例很有帮助。又不如你去了一家智能交通领域的公司,你所在的项目组负责开发城市道路交通违法行为自动抓拍的工具。那么你就需要了解一下道路交通法规,有哪些违法行为,如何界定这些违法行为,车牌号码的编制规则等等。一般来说,测试人员都可以从产品经理/项目经理/需求工程师处获取包含这些业务知识的文档,自学即可,有不懂的再请教其他同事。
总结:
写到这里,小白入门软件测试所需要的知识基本就介绍完毕了。可能有些朋友们要问,如何获取这些知识呢?你可以买书、买视频资料利用业余时间自学;你也可以关注一些测试方面的公众号,利用零散时间学习;条件容许的话你还可以报名一些培训课程,在老师的指导下系统地学习软件测试知识。总之,网络时代获取学习资料不是问题,最最关键的是执行力!JUST DO IT!笔者见过太多买了一大堆学习资料,百度云盘里都存满了,但是从来没点开看的人了。所以,只有坚持学习才能成功转型,毕竟机会总是留给有准备的人!
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660