贪多必失不是一句空话

     随着测试行业越来越火,不少人就开始转到测试这一行了。但是普通的功能测试人员门槛比较低,竞争大,而且工资相对来说也有点儿低。所以测试开发又成了紧俏的行业,不少功能测试人员,或是其他行业的人员就开始学习测试开发的相关知识,但是我发现不少的时候还是有点儿盲目的。

给大家讲一个实例:先前遇到一个同事,入职的时候老大告诉我,这个同事是测试开发,还算不错,会页面自动化测试,接口自动化测试,压力测试还能部署和整理环境。一下子把我给震住了,牛人啊!于是就抱着敬畏的态度和他交流,不过几个月后发现,根本不是那么回事,所谓的页面自动化测试只是使用WebDriver写过一个类似HelloWorld的实例,接口自动化也只是听说过phpunitpython相关的能做接口自动化,自己没有动手写过。而压力测试呢,老大给他一个任务,让他搭建一个做压力的环境,折腾了两个星期什么也没有弄出来。最后我和他聊了一下,才发现他有点儿贪,想学习所有测试开发相关的技术,结果弄成了哪儿方面都不会,自我感觉还比较良好,典型的眼高手低。

贪多必失真的不是一句空话,测试开发所要用的到知识挺多的。

(1)    做自动化测试的开源框架如Webdriver ,Appium ,Robotium,Unnitest,testNG这些儿都是比较常见的,而且还有很多其他的,如CalabashKIFGitorious等等,多如牛毛。还有一些儿如Selenium IDEfirebug等辅助工具。

(2)  开发语言呢,如javapythonphpshell,还有如ruby,C,C++等,测试开发要求你都需要会点儿,在多而不在精。

(3)    压力测试方面有LRJemeterGrinderSiege等,又是数不胜数;

(4)    再加上一些儿如QTPRobot FrameworkJenkinsHudsonGitSVN等辅助工具;

(5)    如果做安全测试的话,安全领域相关的知识是需要知道的,而且如.Netsparker Community EditionWebsecurifyWatcherhttp://www.cnblogs.com/hackchecker/archive/2012/01/08/2316531.html)等安全测试工具需要熟练应用。

(6)    如果我们要做开发测试工具或是测试平台的话,还需要开发服务,接口,网站等相关的知识,当然前端HTMLCSSJS也是要会的。

(7)    服务器相关的Linux命令,apacheTomcat ,memcacheredisMysql或是其他需要遇到的软件或是服务器的安装与配置也是需要会的.

(8)    还有一些儿软技能,如项目进度的控制,协调资源,与人沟通交流,任务的汇报,PPT的演技也是需要的。

   上面简单的罗列了一下测试开发可能需要会的技能,当然也不是每个测试人中都要会,只是让你感受一下,测试开发并不是想象中的那么简单。

也许你本来就知道这些儿东西,而且看到有些儿牛人好像这些儿都会,于是你就着急了,感觉自己要学的东西太多了。不管是买书,或是查资料,或是从其他渠道找了不少东西来学习,貌似学了不少,可是哪儿一方面也不精通。当你面试的时候,面试官一看你写了那么多东西,结果往哪儿方面问的深一点儿,你都不能回答的完美,那只有一个结果:你这个人言大于实,眼高手低,是绝不会要你的。很多时候,我们宁愿带一个稍微笨一点儿,但是听话的同事, 也不愿意带一个自以为是的人的。

所以我们要成为大牛,还是不要着急的。很多东西都是通着的,但是我们还是要有步骤地去学习的,你一会儿练习九阳神功,一会儿练习乾坤大挪移,一会儿又去练习太极,结果只会走火入魔的。武林中的多少一代宗师,那是多少年的沉淀啊!虽然的测试技术一般般吧,但是还有点儿个人的经历的,个人认为你想好好地去做测试开发的话:

(1)要想明白自己的路是什么,走自动化测试,web端,移动端,还是接口?或是压力测试,或者是安全测试?要选定一个方面,不要贪多。

(2)选好路后,再去学习最常用的技术,如web端的自动化的话,就要学习Webdriver的使用,Selenium IDEFirebug等工具的使用。

(3)学会了使用后,就要深入扩展。如WebDriver+java+testNGWebDriver+python+unnitest,或是Webdriver+phpunit+TestSuite的使用。分析Webdriver实现的原理和细节,Selenium1.0WebdriverSelenium 2.0)的区别。

(4)其他类似的东西,如htmlunitjunitantmaven等等,以及为什么现在用javapython的比较多,用phpunit的比较少?

(5)如果web页面自动化学会了,我们就可以扩展到接口自动化,移动端自动化。此时你就会发现接口自动化使用的是unnittest框架,移动端自动的AppiumRobotium几乎是和Webdriver一样的,这就一通百通了嘛!

(6)自动化测试原理都明白了,就可以扩展到相关的工具jenkins,SVNGIT等,这样就可以开发自己的测试平台,测试工具了嘛。

(7)当然你或是选择性能测试,或是安全测试差不多也是一样的。一定要把一种技术吃透了,然后时刻关注一下这方面的新技术,确保不要落伍。然后有精力的时候再去学习其他方面的,就算其他的学的不咋地,我们至少有一项拿得出手的嘛。

(8)只要面试的时候在我们熟悉的方面,他们难不住我们;有任何相关的问题都能搞定,其他的不会也没有关系,如果会了就是加分项的哟。

啰嗦了这么久,其实就有一个目的,要踏踏实实地学东西,有一技之长。不能贪多,你自我感觉牛没有用,照样会被其他的牛人鄙视的,然后你再去怀疑自己,何必哟?还不如好好学习技术,我们做的牛了,面试的时候去鄙视他们:你们才做了这点儿东西啊,太差劲了!我心情好了,就来,心情不好了,就不屌你!那个感觉才叫爽呢,哈哈~

posted @ 2016-01-26 14:27  潜龙9527  阅读(348)  评论(0编辑  收藏  举报