如果你觉得还行的话,就点点文章末右下角的“好看”支持下
经常有人在公众号留言或是微信问我,做自动化测试用什么工具好,或是学哪门编程语言好呢?
这个时候总是无奈的说:
你应该学习Python 或是Java。
你应该掌握Selenium。
又或者你需要学会jmeter,嗯,可能LoadRunner你应该学习。
也许SoapUI是个不错的选择,或者你可是试试PostMan。
又或者直接不想鸟你,一句话都不想回。
可能事实是:这些都不重要。这答案可能让你有点无法接受,又或者显得我在装13了。
下面将从我的工作经历、经验出发,对这个可能的事实进行些分享,期望能在你的自动化测试学习和实践的过程,提供些参考或教训,以帮助你聚焦起来,去关注一些应该关注的东西。
首先说明一点的是:专注于某种编程语言或工具可能限制你的发挥,尤其可能限制了你在工作中可提供的价值。
注:如果你可提供的价值在逐步退化,那么你的舞台可能突然谢幕。
下面我要说说这些限制体现在哪些方面,你应该如何去避免它
在2008年的时候,就已经参与到自动化测试项目中,至今已过10年了,在这10年里见尽了各种工具的突起、消失。
有些一时的兴起,然后消失;
有些慢慢的崛起,其强悍的生命力还在延续;
有些当年风光无尽,如今依然江河日下。
最终,在可预见的未来,当前所有的工具都会过时,被更好地工具所替代或是停止了维护。
因此,如果你只专注学习一门编程语言或工具,可能每隔几年甚至更短时间,就必须从头开始学习新的东西了。
所以什么最重要? 能力才是需要聚焦的!!!
你可能要说了,屁话,谁不知道能力才是根本,什么才是能力,你倒告诉我呀。
撸了个天,这就是能力。
基本原则和设计模式才是你持久输出的动力。
对于自动化测试新手而言,甚至对于一些有自动化测试经验的人来讲,面对现在大量的工具和编程语言,时时的都会感到不知所措,甚至迷茫。
各种工具你或多或少有所了解,甚至不断新出的工具都会第一时间了解到,在这些层出不穷的工具涌现的过程中,有一个非常好的消失:
很多工具都是基于相同的设计模式或原则
没错,聚焦在这相同的设计模式或原则上,而不仅仅是工具本身,这才是打造你能力的根本
下面我们看看基于相同设计模式或原则的示例:
- 自动化测试工具Selenium Webdriver、Cypress、CodeceptJS以及许多类似的商业的、开源的工具都在大致相同的设计或原则下运行的。 它们通过与浏览器进行交互,搜索DOM树标识元素与之进行交互,达到自动化测试的目的。
- 常用的模式,例如PO,即页面对象模式,也只不过是面向对象软件开发中的一些基本原则或设计模式而已。
- 几乎所有用于自动化测试的编程语言,本质上都是面向对象的编程语言。这就意味着它们拥有同样的特性,共享对象、方法、参数等概念,也具有面向对象的四大特性:封装、抽象、继承和多态。
如果你掌握了这些基本原则和设计模式,再去学习基于这些基础原则和设计模式上所形成的工具或编程语言,你将更加从容的游刃于各种工具和编程语言。
写了不少了,先不写了,这是年前的最后一篇推文,下一篇推文应该得年后了,到时继续写下去。
2019年,公众号的文章将趋于更加精炼了,不写水文了,同时也不那么频繁的推文,逐步的走得妖精点???
2019年,欢迎大家写文分享,(怎么分享,写好文章,发邮件至lymking#foxmail.com 注明授权给公众号 开源优测 发布即可,文章字数需300字以上,干货即可),超过3篇入选可以加入VIP QQ群(该群目前仅有几个2017、2018年有分享文章的人加入,专注的交流群,很机密的^_^)
提前祝大家新年快乐哈