(松勤软件测试讯)经常有测试新人问,我也想做自动化,用什么工具好?哪种语言好?刚开始我还能心平气和地科普一下,后来问的多了,也就麻木了,丢下一句:Selenium,开发语言用Python或者Java,还有什么Jmeter、Postman也要学,撒腿就跑。

然后很多人就去自学Java,因为在他看来Java高大上,然后学着学着学不下去了,转头又去学Python,看了基本数据、函数、对象和类,流水账般的写了一些用例,很开心,觉得神功大成,可以笑傲江湖了。然后去面试,结果90%都挂了,那9%收到offer的都是瞎猫碰上死耗子,还有1%的自学大佬不在讨论之列。

 
 

如果你入行入的早,你应该还记得QTP、LoadRunner这两哥们,它们都是惠普旗下的产品,一度占据市场80%以上,你说你是做高级测试的,你没听过这两个哥们或者没用过,那你和同事说话的时候声音就比别人矮上一截。

结果现在呢?很多公司出于各种原因(主要还是成本)选择开源工具,不仅不要钱,还可以DIY!这时候你出去面试你说你会QTP和LoadRunner,Selenium神马的听都没听过,面试官一定会用奇怪的眼神打量你。

如果你做自动化只专注于某种语言或者工具,那么它们有可能会限制你的职业发展。

在前十年里,我们见证了各种工具的突起和消失,有自动化的还有项目管理的,有些当年风光无限,如今江河日下。最终可以预见,会消失在我们的视野中。所以,如果你只专注于一种语言或者工具的时候,可能隔个几年甚至更短的时间,你就必须要学习新东西了。这也是为什么IT从业人员要及时更新知识储备的重要原因,如果你不及时更新知识,那你就会失去自己的剩余价值从而被别人取代。

那么问题来了,什么最重要呢?能力!

你肯定想骂人,你TM说了这么多,就憋了两个字吗?那你倒是说说怎么才能提高能力啊?

善于总结,不仅生活中要学会总结,工作里也需要,假如你做了n年的IT狗,你还记得几年前某项目的逻辑吗?很多时候是记不住的,但是你肯定记得有那么一个项目,我用了什么工具,学会了什么。项目做完了就完了,但是你在一家公司里学到的技术或者思想才是你得到的经验。所以,不要只局限于项目本身。

举一反三,很多现在我们可以看到的工具或者语言,它们都会有很多共通点,就跟不同公司同一种类型的项目一样,它们之间有很多共通点。你在一家公司上班,跳槽到了下一家公司,什么使你能够快速上手?是执着吗?还是对新工作的热爱吗?都不是!高等动物之所以高等,是因为高等动物从生下来就会模仿,并在逐渐成长的过程中把新事物套用在自己熟识的经验上尝试去理解掌握它,如果不能套,那么肯定会新生恐惧,这就是常说的恐惧源于未知。比方说你进了一个新项目,要用你从来没接触过的语言或者工具去做,周期只有3个月,你该怎么去做呢?你肯定会失眠好久……

温故知新,很多工具和语言都是基于相同的设计模式和原则。我们在学习语言的时候经常会看到,这个语言是面向对象的,可以共享对象、方法、参数等等,也可以封装、继承、抽象、多态,Java里见过Python里也见过吧?它们的大体轮廓是差不多的,差别的只是语法规则和个别特性。

为什么很多人说想从事IT行业,精通一门语言就够了呢?原因就在这里,语言是相通的。对于web自动化工具而言,它们都是通过与浏览器进行交互,搜索DOM树标识元素与之进行交互,达到自动化测试的目的。这就和武侠小说里的武功是一样的,正派大神和反派教主总是打的四斤八两,殊途同归而已。

@松勤教育丨以工匠精神,专注IT在线教育(www.songqinnet.com