前些天写了《软件测试员---你的路在哪里?》 我有提到,我问了一下大我几岁朋友的薪资,他的薪资处在我划分的第二阶段的中间,情绪变得比较消极。
他告诉我,你跳到第二阶段了,但再往上走,想有一个薪资的大跨度很难,需要的时间也相对比较长。然后,我就把测试员的路划分了三个阶段。虽然划分了三个阶段,但我并不知道如何跨越到第三个阶段。自己也处于非常迷茫的状态。 希望能得到有用的回复了评论,但大多回复说到努力做好现在,埋头学好技术。这些是必须的,单就测试技术来说,多了去了。总要给自己找个比较明朗的方向和目标吧!不然,你是想一切随缘呢?还是想等着柳暗花明呢?
先说一位网友在群里发了一篇颇长的文章,大概意思是讲功能测试一样可以做到很牛。注意,我这里的“功能测试”是狭义上的功能,因为一切的软件测试活动都是为了保证软件功能的正确运行。而我这里所说的功能测试是偏向于“手工”测试吧。这篇文章里大讲特讲,功能测试员不单单是找功能上那些简单的bug 。更要从需求和架构上发现隐藏了问题。我不否认他的正确性。但身为一个天朝的测试员,你一功能测试员管这么“宽”,你让拿着更高薪资的需求分析师和架构师情何以堪啊。
而且,在国内我没发现有特么牛的单单就会功能的功能测试专家。我想他们都应该转行去做需求分析师了吧!说上面这些是想告诉你,想在国内通过功能测试(狭义)达到第三个阶段很难。
后来群里讨论了一下,在这里要感谢“拙文”的指点,大我两岁,他已轻松跨越到第三阶段,表示毫无压力。唉!这就是人与人的差距。
自己思考了一下,把进阶到第三阶段分为三条路。白盒测试、自动化测试、性能测试。(从广义上来讲,白盒测试与自动化测试也属于功能测试)
注:可能你也早知道这三个方向,我这里对这三个方面做个分析,如有错误,欢迎指正!以免误人误已。呵呵!
白盒测试:
在我们大多测试员看来,这是个非常高级的工作,好多人视其为测试工作的终极目标。其实,它并没有想象的高级与神秘,只是我们一般的“初级”测试员不懂开发,自认为比开发低半头。如果能测开发人员写的代码,那自然是件不得了的事儿。呵呵!
其实,开发也就那么回事儿。你看看那么多的培训机构,甚至有承诺你只要是理工科专业的,半年都能教会你开发,收入还三到八K之间。他们还教你有项目经验,一个大点的项目做几年的都有。他们就半年还让你有项目经验。其实,也是把比较基本的东西教给你,不会的函数会查文档,工作之间会遇到开发各种各样的系统。那也需要一个长期的学习各积累的过程。说这么多就是想告诉你,开发不难。下面看一下白盒测试需要掌握哪些技能:
首先,懂得一门开发语言是必须的,代码都不懂,如何写测试代码。是吧!不过,你是否疑虑开发人员写了个100行的代码,你可能可要写200行有代码来验证开发人员100行有代码是否正确。不用担心,有测试来框架来帮你呢?像java的测试框架有JUnit、testNG ,C++测试框架有CPPUnit、Unit++等等,基本上现在流行有语言都有相应的测试框架。所以,在熟悉了一门语言之后,你需要精通一门测试框架。
白盒测试,你需要做不仅仅是单元能测试,只真对开发人员的每段代码进行测试。而且,在相当多的时候,单元测试是由开发人员自己完成的。你还需要做集成测试。多个单元代码放到一起之后,你需要对这个集成小模块进行测试。你还需要进行接口测试。现在的系统相当复杂,各种子系统或模块之间需要相互调用彼此的接口。相关,集成测试与接口测试,本人未接触过,所以,知之甚少。哈哈!
自动化测试:
这里的自动化测试主要指的功能自动化测试,你是不是立刻想到了QTP,他只是个自动测试工具而已,QTP不等于自动化测试,如果你已经会用QTP录制回放脚本,那只能算刚入门,用QTP的朋友都知道,要想QTP玩的比较深一点,那么你必须学习VBS脚本语言。
看到好多公司的一腔热情的扑在自动化测试上,但投入了大量的成本,收效甚微,这个主要是他们的一没自动化经验,二没分析系统是否适合自动化测试。但这并不妨碍自动化测试技术进住公司。还有大把的公司在尝试自动化,因为它后期真的可以节约不小的成本。呵呵
下面来看想做自动测试的人员需要哪些技能。
除了QTP外,自动化工具很多,另一个比较有名的是selenium,他支持多种语言,java、php、C# 等等。如果你要自动化的项目是C/S的,那么你需要对Windows组件了如指掌,因为你要用语言操作这些组件。不过,现在的大多项目都是基于web端的。在这里想说一下现在的前端开发人员真的好悲剧,以前就一个IE6,现在各种各样的浏览器百家争鸣,我们要兼顾到各种浏览器。在这里说声“你们辛苦了!”,不急,身为web端的功能自动化测试人员,你也是个悲剧。因为前端的技术你都要会,前端技术发展的很快,各种绚丽的新组件,比如最近大火的HTML5技术,因为你要用自动化捕捉这些组件的属性。所以,你要面临的问题很多。道路很曲折。
性能测试:
如果前面两个你感觉有难度,要不咱再看看性能测试。总有一款适合你的,哈哈!
这个我会,我会用loadrunner,又犯前面的毛病了,是吧?QTP都不等于动能自动化测试,你认为loadrunner会等于性能测试!?淡定!测试工具只是性能测试过程中的一个部分,虽然,是必不可少的一部分,但性能工具的选择也很多,比如,JMeter和webLOAD都是相当出色的性能测试工具。
其实,说性能测试工具是测试过程中不可缺少的一部分,那是在现在,过去还真不是。在那个没有性能测试工具的年代,银行测试人员组织员工,准备个几十上百台电脑,领导一吹口哨,员工狂点鼠标。不要笑,真有此事儿!扯远了。呵呵。
看到现在市面上仅有的几本性能测试书都是基于loadrunner工具来讲的,这里多少有点误人的感觉。唉!
这里纠正你一个观点,你要测试的一个系统是一个整体,所以,你要对一个系统的整体都非常了解。你要给一个人看病,你只会看头痛,可病人是肚子痛,你死盯着病人的头研究,怎么能找到病人问题的所在。当然,你可以找看肚子的医生来协助。但看肚子的医生可以会误导你对病人问题的判断。所以,你要向古代的华佗学习,什么外科,内科,男科一人完搞定。为什么讲这个?因为下面我要说的东西你可能会认为不是做性能测试要学的内容。
服务系统:现在的系统有台是用windows的?所以,要学习linux/unix,不说精通也要熟练。因为你在性能测试的简历上常写搭建测试环境,莫非~,是windows的测试环境?安装各种服务要会,查看监控系统性能,对系统几部机制也要有所了解。
数据库:至少要熟悉一种大型数据库,对数据库使用,调优!性能出了问题,不要死盯程序,也许是数据库设计不合理或出现有性能问题引起了。你要会分析数据库。
中间件:中间件是系统与服务器的中间载体,要对中间件的机制性能有所了解。常见的中间件有tomcat、weblogic等。
软件系统:唉,这里又要扯开发的东西了,不过不用像白盒测试那样精通。
系统架构:为什么要学习架构的东西,同样是几块木板,可以做成坚固的大楼,也可能做成风一吹就倒的鸡窝。不了解系统架构如何进行测试,如何进行性能分析。
其它,网络知识,因为网络环境也是测试中很重要的一部分。协议,常有发现自己用loadrunner录制了半天没录到东西或无法回放。这八成是协议选错了。
-----------------------------------------------------------------------------------
上面讲的三个方向,你能做的其种一项工作,那么你突破到第三阶段毫无压力。所果,在那项工作中小有所成,那将前途无量了。呵呵!在写完这篇博文的时候,我就给自己定下了目标。关于每项工作所需要的技能我也略有阐述。但不是很明确。因为,我不是过来人。但有了目标总是好的。你呢?
原文链接:http://www.cnblogs.com/fnng/archive/2012/06/13/2548599.html