最近在领测软件测试论坛新手上路板块中看到了很多关于软件测试培训的帖子。在这里我想谈谈看看自己的看法,希望对想进入软件测试行业的朋友有点帮助,当然,不妥之处尽请指教!
软件测试这个行业的前景这里不说了,有人说好,有人说不好。说好的,是那些比较“牛”的人,一个月拿个上万、过万的工资,当然说好!说不好的呢,是那些觉得到处都是“老虎”,无法找到前进方向、技术不咋地,待遇一般般的。所以,个人的技术能力与薪资待遇决定了你的看法。对于初学者,或者想转行的朋友,可能就需要考虑清楚了,这个行业到底适不适合你?!
我做软件测试6年多了,一路走来,收获颇多,也失去很多。软件测试从起初的不起眼,到现在的“蓬勃”发展,经历了不短的年头。至于他与开发的关系这里不再表述了。主要说说软件测试到底需要哪些技术,作为一个初学者到底需要多长时间来学习,能不能达到比较高的水平。对于那些冒号、分号不会打、C、D盘不知道在哪里的人,不是我打击你们,你们来学软件测试纯属瞎扯,去培训了也找不到工作!除非先恶补计算机基础!学软件测试,你起码得会用计算机,熟练的掌握常用的软件,啥都不会,一问三不知,试问你能学会软件测试吗?你真的当软件测试是个人就能做啊!(我有个朋友的主管这么跟她讲!)
首先,软件测试是一个质量管理的工作,那么基本的软件测试理论,软件工程理论,甚至软件开发的理论,我们都需要有所了解,至于了解到什么程度,我个人觉得对于初学者,仅需知道这些理论即可,只要在面试、工作中能够将手头的工作与相应的理论联系起来即可。所以,这些理论,看看、想想、背背也就行了。
其次、软件测试工作对于文档的编写能力是有很高的要求,测试计划、测试方案、测试报告及测试用例等等文档很多时候需要我们亲自操刀,那么这些基本的技能我们必须掌握。至于怎么学习,我们可以在网上找相关的示例,然后自己试着去学着写,依葫芦画瓢,实际上每个公司都有自己的模板,在工作中按照实际的模板编写就行了,不要太在意,即使面试的时候,基本不会让你写个计划、方案给别人看看的。但前提是你必须知道这些文档的组成部分。
接下来就是硬技术了,测试环境配置、测试用例设计、测试管理工具的使用等等,这些是必须的,别指望进公司你就可以学会了,现在的关键问题是你进不了公司,别人不会给你这个机会,现在的形势我想不用再说了。那如何学这些东西,我的方法是自己上网找项目源代码,自己部署环境、自己编写测试计划、设计测试用例、使用一些工具,这些东西都是可以利用网络获得的,别说这些是假的,实际上这些都是现实项目的缩影。态度决定一切!
对于编程的能力,论坛上有过讨论,从我的个人经验来说,对于初学者,不要太在意这玩意。你现在还没会走呢,就想着跑了,怎么可能,那些单元测试、自动化测试岂是你一个初学者能胜任的?当然,我这里所说的仅是针对没有编程能力的来说的。在起步阶段,我们仅需要知道有哪些编程语言、知道一些简单的语句,比如if、比如while等,不要想着学很多的语言,很多东西是相通的,别人说什么你就学什么,你当你是神啊!学习是个持续的过程,不要想着一步登天。我建议初学者,还是多看看C语言的东西。有人说java好,那么可以看看java版的c语言,哈哈。随着你的经验增加,技术增加,你再学其他语言的时候,速度就快了。有些东西看多了自然而然就会了。等你有了一定的基础,再去学更深的技术,如自动化测试、单元测试等。
上面简单的聊了聊软件测试中常用的知识,也是大家关注的东西,其实现在找工作最重要的就是你的工作经验。有人说,吹呗,简历上都写上,不会的也写,是个方法,避免被过滤掉,但我想问一下,这种摸奖式的找工作有多大意义?为什么不学一些真本事去面试?再加上现在的竞争这么激烈,这套伎俩可能过时了吧。那么如何让自己拥有真实的技能呢?
说到这里,不得不说培训了。培训是个不错的选择,也有朋友说了。培训机构都是骗人的,吹的,什么包就业、保底新。确实,这些东西有点虚,但大家有没有想过,在培训的日子里,老师们都讲了什么?我们缺的是软件测试技能与项目经验,而培训机构给你们的就是这些,如何在项目中运用这些技术,让你学会理论与实际的结合,让你在面试的时候,能够讲出个道道来,这就是关键的,因为你在学习的时候你确实做过,除非你梦游了!
学习软件测试的方法很多,与其他的一样:
1、自学。自学是个不错的方法,对于有自制力的人,这是个好方法,但现在的学习环境太杂,你能定下心来吗?就像学英语一样,没有一个好的环境,哑巴英语就诞生了。很多人买了不少书,看了不少视频,逛了不少论坛,但学习的效果自己知道。
2、朋友带。有领路人真幸福,他可以帮你,给你找资料,解答问题,但人家很闲吗?他能给你讲清楚吗?
3、培训。得花钱,不少培训机构花的钱还不少,上万,好贵,钱不是天上掉下来了,挣钱容易么!不到万不得已,别想着培训,前面的路子不通了,你再考虑培训吧。
乱七八糟扯了一通,最终观点:
1、想进入软件测试行业的朋友考虑清楚了,软件测试的前景你现在是看不到的,因为你还不了解测试,有人说那算了,我改成开发,或者其他的,别妄想了,其他都一样!你不懂的东西让你去展望未来呢,可能吗?
软件测试这个职业不会消亡,硬技术、就像我们父辈他们学的瓦工、木工一样。
2、初学者别想着一口吃成胖子,不可能,老老实实由基础学起。有人说软件测试的东西太多、太杂,怎么可能在短期内学会,我说可能,非常可能。再多再杂的东西是有相关性的,一通百通,只是方法问题,但你别拿那些高级玩意来说:独立进行复杂的性能脚本设计,开发QTP脚本、进行单元测试,这些不是一朝一夕能会的,即使是培训机构,也只能教你通用的方法,在项目中怎么使用工具,进行简单的脚本设计。师傅领进门,修行在个人!
3、最好先自学,毕竟培训费用都很高,钱不容易挣!当你对自己的自学能力怀疑的时候,就培训吧,是个绿色通道!别听太多人的建议,说简单的,是因为他会了,说难的,是因为他不会,所以得看自己的能力,太多的建议不会给你带来好处。
4、选择培训机构需要注意的是,别看网上评论,最好实地去看看。看看人家的课程,最好跟任教的老师聊聊,问清楚了,清晰的定位自己,就像去医院一样,你的问题在哪里,你的不足在哪里都应该跟他讲讲。还有就是跟你聊的人必须是以后教你的。
从我的角度来说,软件测试这个职业是不错的,但是一切都是靠你自己的。如果你不努力,希望通过培训能学到顶尖的技术,一毕业就拿个七八千,我告诉你不可能!培训只给你带来基本的技能与实际的项目经验,增加你的面试成功率,掌握基本的软件测试技能。有朋友培训完了,能拿到5k或更高,有人只能拿到2k,甚至还找不到工作!我告诉你,别怪培训机构、别怪软件测试难,是因为你没有努力,没有付出!
学习软件测试三个步骤:
1、自学
2、朋友带
3、培训
另:最近有很多朋友加了我,问到一个关键问题:自学与培训的时间问题,对于这个问题我这么想,如果你现在在上班,那你可以自学,如果你现在迫切需要工作,或者想立刻离开现在的环境,那你就培训。凡事都是有利有弊的,一切都得靠自己决定!自学,省钱但耗时间,没有项目经验;朋友带,省钱,可能有点项目经验但也耗时间,还受朋友的时间限制;培训,有项目经验,学习比较系统、时间快,但费钱(这是很多人的重点,哈哈)。所以,看你的决定了。