首先说明一点的是:专注于某种编程语言或工具可能限制你的发挥,尤其可能限制了你在工作中可提供的价值。
注:如果你可提供的价值在逐步退化,那么你的舞台可能突然谢幕。
下面我要说说这些限制体现在哪些方面,你应该如何去避免它
在2008年的时候,就已经参与到自动化测试项目中,至今已过10年了,在这10年里见尽了各种工具的突起、消失。
有些一时的兴起,然后消失;
有些慢慢的崛起,其强悍的生命力还在延续;
有些当年风光无尽,如今依然江河日下。
最终,在可预见的未来,当前所有的工具都会过时,被更好地工具所替代或是停止了维护。
因此,如果你只专注学习一门编程语言或工具,可能每隔几年甚至更短时间,就必须从头开始学习新的东西了。
所以什么最重要? 能力才是需要聚焦的!!!
你可能要说了,屁话,谁不知道能力才是根本,什么才是能力,你倒告诉我呀。
撸了个天,这就是能力。
基本原则和设计模式才是你持久输出的动力。
对于自动化测试新手而言,甚至对于一些有自动化测试经验的人来讲,面对现在大量的工具和编程语言,时时的都会感到不知所措,甚至迷茫。
各种工具你或多或少有所了解,甚至不断新出的工具都会第一时间了解到,在这些层出不穷的工具涌现的过程中,有一个非常好的消失:
很多工具都是基于相同的设计模式或原则
没错,聚焦在这相同的设计模式或原则上,而不仅仅是工具本身,这才是打造你能力的根本
下面我们看看基于相同设计模式或原则的示例:
- 自动化测试工具Selenium Webdriver、Cypress、CodeceptJS以及许多类似的商业的、开源的工具都在大致相同的设计或原则下运行的。 它们通过与浏览器进行交互,搜索DOM树标识元素与之进行交互,达到自动化测试的目的。
- 常用的模式,例如PO,即页面对象模式,也只不过是面向对象软件开发中的一些基本原则或设计模式而已。
- 几乎所有用于自动化测试的编程语言,本质上都是面向对象的编程语言。这就意味着它们拥有同样的特性,共享对象、方法、参数等概念,也具有面向对象的四大特性:封装、抽象、继承和多态。
如果你掌握了这些基本原则和设计模式,再去学习基于这些基础原则和设计模式上所形成的工具或编程语言,你将更加从容的游刃于各种工具和编程语言。
例子:Selenuim原理
转自:https://mp.weixin.qq.com/s/-cY-7RqWB5R-a49Gk_NhcA