Te va a interesar!

6/recent/ticker-posts

El futuro de Automation Testing tiene olor a JavaScript...

Photo by Caspar Camille Rubin on Unsplash
El desarrollo web mutó de forma significativa en los últimos años. Lo notaron? Y uno de los grandes impulsores de este cambio fue JavaScript. No por nada es el lenguaje de programación más popular en el ranking de este año que se nos va.
No solo eso, es uno de los que tuvo un salto significativo en "la felicidad promedio" de la gente que lo usa. Si, es como esas fotos de ensaladas en las que ves a la persona comiendo y riendo como si le hubiesen contado el mejor chiste de su vida mientras masticaba un tomatito cherry. Así se ve la gente que programa con JavaScript. No me creen? Bueno, puede que esté exagerando, pero no nos desviemos del tema.

Y cómo impacta esto a Testing?

Los muchachos de Cypress.io dicen lo siguiente:


Y puedo ver por qué. Luego de usar frameworks de Automation corriendo en JS como lo es TestCafe o Cypress mismo, puedo ver ese incremento de felicidad en los que automatizan a la hora de usar esta herramietas. A ver...no es que la uso y estoy riendo a carcajadas de la dicha que me dan, pero si que simplifican muchísimo lo que antes era tedioso. Hacen que automatizar sea divertido nuevamente.

Java, C# son lenguajes que van perdiendo terreno frente a los muchachos más jóvenes como Python y Typescript (una mejora a Javascript). Por qué? Porque lo que antes demandaba 6 líneas de código para hacer algo, con estos nuevos paradigmas demanda 2. Eso hace que, en un mercado donde se busca acelerar cada etapa, aceitar cada engranaje y simplificar cada módulo, sean claros ganadores frente a los más pesados y difíciles de seguir como los que mencioné al principio.

Atrás va quedando el concepto de que para hacer un framework completo de Automation hay que tener infinidad de bloques de código con complejas interacciones, interfaces y capa dentro de capa de abstracción para lograr algo tan sencillo como validar que un login funciona bien.

Como siempre digo: "La mejor línea de código es la que no hace falta escribir".

Lo que es mejor aún, es que estos nuevos Frameworks están contando con un desarrollo muy activo en los últimos años mejorando la experiencia de usarlos. Opciones como Cypress, Mocha, TestCafe hoy por hoy ofrecen potentes alternativas al viejo y querido Selenium que reinó durante tanto tiempo.

Más importante aún, permite a Desarrolladores crear tests en el lenguaje que usan para crear su FrontEnd y así achicar la brecha entre Testing y Desarrollo cada vez más. Sin WebDrivers, sin Selenium...simplemente inyectando JS en el DOM y así probando directamente y sin complicaciones. Pueden ver el Test Drive que le hice a TestCafe para darse una idea de cómo funciona.

Pero yo estoy aprendiendo Selenium...estoy perdiendo el tiempo?

Claro que no! No estás perdiendo el tiempo siempre que estés aprendiendo algo. En el mundo de la programación orientada a objetos, aprender un lenguaje o framework suaviza la curva de aprendizaje de uno nuevo. Los conceptos que aprendés para Selenium vas a ver que son simplificados en muchas de las herramientas que nombro en este post, lo cual va a significar que te va a resultar más sencillo incluso que lo que aprendiste originalmente!

Otra cosa que veo apareciendo a ritmo acelerado en el futuro junto a JavaScript, como bien comenté en una ocasión, es el uso de ML para mejorar el Testing Automatizado. Casi todas las herramientas en la nube ofrecen soluciones en forma de SaaS con algún componente de ML metido en el mix. El caso de testim.io con la reparación de locators de manera inteligente es uno de los primeros que se me viene a la mente. Ah, eso me recordó que tengo que hacer un video de cómo tengo mis tests fallando en esa plataforma y nunca se arreglaron mágicamente como pregonaban en sus panfletos!

A lo que iba, es que nada de lo que aprendas, sobre todo empezando desde lo básico del desarrollo a lo más complejo, va a ser en vano. Con herramientas nuevas apareciendo cada año y con un gran porcentaje de ellas entrando en este modelo de SaaS que les comentaba, no me extrañaría que empiecen a contar con ciclos de desarrollo y testing dentro del mismo proyecto de creación del framework. Sería un giro curioso, no? El Tester que aprende a desarrollar para crear una aplicación de testing, que a su vez requiere Testing también.

Si lo piensan, tiene sentido. Desde el punto de vista que este desarrollo trae aparejado ahorrar tiempo a otros miles de testers que no van a tener por qué configurar complejos proyectos desde cero al usar un framework hecho y probado en detalle.

Y ustedes qué piensan? Cómo ven el futuro de Selenium y JavaScript? Creen que tenemos Selenium para rato? Ven la popularidad creciente de frameworks para E2E en JS como un peligro para el clásico proyecto de Automation al que todos estamos acostumbrados? Dejen sus comentarios!

Publicar un comentario

0 Comentarios