Te va a interesar!

6/recent/ticker-posts

TestProject: Futuro brillante para codeless Automation.

Bienvenidos amigos de The Free Range Tester! Cómo están? Yo muy bien, con mucho que contarles en este y próximos posts. Principalmente, y debido a que me encuentro analizando herramientas para los tutoriales en el Patreon y también para clientes, estuve mirando muchas de las nuevas tendencias que hay en el mundillo de Automation.

Como les contaba no hace mucho, hay un claro movimiento hacia herramientas que facilitan codeless automation y de a poco empezamos a ver que más empresas están utilizándolas. ¿Te estás preguntando nuevamente qué es esto de "codeless automation"? Es ni más ni menos que la posibilidad de realizar pruebas automatizadas sin necesidad de escribir código. Imaginen lo siguiente: La demanda para recursos especializados en automation es alta y en constante alza. La oferta, es decir, la gente con esta especialidad, no da abasto para cubrir todo el trabajo que hay. Ya sea porque en general las personas que hacen IT se decantan por ser desarrolladores, o la variedad de maneras de automatizar marea a los principiantes o porque simplemente la demanda es enorme en comparación a la oferta. La industria empieza a ver maneras de lidiar con esto para no terminar con un cuello de botella en lo que a Testing se refiere.

Así fue que empezaron a surgir herramientas, muchas de ellas usando Selenium detrás de escenas, que simplifican la puesta en marcha de un proyecto de Automation. Si sos un Test Engineer, SDET, Automation Tester, Full Stack Automation Tester o alguna otra etiqueta que me estoy olvidando, sabrás que la parte menos divertida es tener que configurar todo para, recién ahí, empezar a entregar casos de prueba automatizados. Ya saben...cuáles dependencias vamos a necesitar, con qué la vamos a resolver, crear los paquetes, crear las clases, empezar a configurar la estructura para seguir el Page Object Model (o Screenplay), configurar Cucumber, configurar los reportes, tener los Webdrivers actualizados...

Es engorroso y, si la aplicación o la empresa no es muy grande, a veces puede llevar más la puesta en marcha que el testing en que vas a crear después. Hoy les quiero hablar de una alternativa que me pareció de lo más interesante entre las últimas que estuve viendo: TestProject.io!

¿Qué es TestProject?

Parte del encanto de esta herramienta y, lo que la diferencia de otras opciones del estilo, es que está basada y potenciada en y por su comunidad. Primero que nada, y como les contaba, esta herramienta usa Selenium y Appium para lo que es Web y Mobile (tanto Android como iOS cabe aclarar) pero a través de una interfaz gráfica en la que no vamos a necesitar escribir nunca código para crear nuestros casos de prueba automatizados. Esto significa que todo lo bueno de estos dos pilares aceptados hoy en día como el standard para sus respectivos tipos de test, son usados por TestProject de manera integral y transparente, sin que vos te des cuenta que, en realidad, estás automatizando usando Selenium WebDriver o Appium ya que toda la complejidad queda escondida para que puedas enfocarte en crear. Esto lo hace mediante el uso de un Agent que vamos a descargar y viene con todas las dependencias e instalaciones necesarias para tener todo actualizado, siempre.


Y volviendo a la comunidad, esto trae una de las cosas que más me gustó y llamó la atención: Los Addons. Así es señores, vamos a contar con infinidad de Addons creados por la comunidad para realizar una creciente diversidad de tareas. ¿Necesitás un Addon que te genere fechas de vencimiento de tarjetas de crédito, emails o un país aleatorios? ¿Quizás algo para hacer drag and drop de elementos en Angular? ¿Manipular JSONs o quizás algo para trabajar con SQL? Todo eso lo encontrás y, además, ¡se siguen agregando semana a semana! Si vos sabés escribir código y ves que hay algo que falta, ¿adiviná qué? ¡Podés crear tu propio Addon y dejarlo a disposición de la comunidad! La manera en que funciona ésto es que los mismos usuarios se encargan de dejar una reseña en cada pieza de trabajo compartida, de manera que podemos filtrar los útiles de los que necesitan más trabajo, pudiendo ver además la cantidad de instalaciones que cada uno tiene. 



Y un detalle no menos importante: Entre los addons disponibles encontramos la posibilidad de realizar HTTP Request para realizar tests de APIs, una parte que, como hablé en otros posts, es fundamental en el ciclo de de testing de una aplicación.
Finalmente sobre los Addons que uno puede crear, mencionar que de momento solo Java y C# son las opciones que tenemos para hacerlo...aunque, seamos sinceros, son los dos lenguajes más usados en la industria, seguidos en un cómodo tercer lugar por Python que, seguramente, sea añadido en breve.

¿Cómo es automatizar con TestProject?

Usar esta herramienta para automatizar es, luego de un par de detalles no muy intuitivos, un placer. También tengo que reconocer dos cosas: 
  • Salté directo a usarla, sin lectura previa de la documentación. 
  • Tengo 11 años trabajando en Automation y un profundo conocimiento de todo lo que está involucrado. Desde las prácticas a los términos y a las cosas análogas con frameworks tradicionales, me es sencillo entender el funcionamiento detrás de escenas y eso me acelera mucho el aprendizaje de nuevas herramientas. 
¿Qué les quiero decir con estos dos puntos? Que para alguien con experiencia, va a resultar extremadamente intuitivo su uso. Un Test Engineer va a reconocer de inmediato dónde se usan los Locators, cómo, las interacciones, esperas y más ya que es como usar Selenium sobre una bonita interfaz gráfica con todo ya configurado por nosotros. Bueno, ¡literalmente es eso!

Si estás muy amigado con el Page Object Model y te preguntás cómo funciona este modelo en una herramienta como testproject.io , tranquilo...porque estás cubierto. Los elementos que creamos son guardados bajo la página en la que lo hicimos y podemos dejarlos ordenados en carpetas, para tener todo tal cual lo tendríamos en un framework con Selenium y POM, solo que más accesible desde el punto de vista funcional.

Soy usuario de MacOS, por lo que hice la mayor parte del trabajo desde Safari, donde pude iniciar tests, verificar los elementos Web almacenados, invitar a otros miembros al proyecto a colaborar, programar ejecuciones y más. Cuando quise crear un test usando la herramienta de Playback, me pidió que lo haga en Chrome, donde funcionó sin problemas, yendo de la grabación al editor de prueba, de ida y vuelta de una manera muy intuitiva. En general, usarlo para crear un conjunto de pruebas fue un viaje increíble que me hizo reflexionar sobre el futuro del rol del Test Engineer.

Me senté, creé algunas validaciones para verificar que los enlaces y el pago de la suscripción a los tutoriales en mi sitio web funcionasen bien, creé una Suite (llamada "Jobs" en TestProject), la programé para que se ejecute en un momento determinado y especifiqué un correo electrónico para recibir los resultados, ya sea aprobado o no. Como se prometió, todo funcionó perfecto sin una sola línea de código.

Tanta funcionalidad y facilidad tiene que tener un costo...¿no? ¡No!

La mejor parte es que toda esta funcionalidad y facilidad de uso a través de la interfaz que proporciona es completamente gratuita. Sí, es gratis de por vida.
Teniendo en cuenta otras herramientas similares que ofrecen una versión con funciones limitadas del plan gratuito, TestProject.io tiene la ventaja cuando se trata de costo vs funcionalidad.
El almacenamiento que obtiene con su cuenta gratuita es de 2 GB (más que suficiente para la gran mayoría de los casos, teniendo en cuenta que uno de los marcos gigantes que tengo en un cliente es menos de 1 GB).

Afortunadamente, no hay límites en la cantidad de veces que puede ejecutar las pruebas, como otras herramientas similares que he probado, lo cual es bienvenido y ofrece otra ventaja clave al elegir TestProject.io como la herramienta para Automatizar para su equipo.

Puede obtener un plan personalizado podemos pagar, pero esta es una opción si se desea tener más almacenamiento, asistencia en nuestras oficinas locales donde sea que se encuentre, o si se tienen requisitos especiales. Vale la pena mencionar que el plan gratuito incluye soporte en línea las 24 horas, los 7 días de la semana, lo que, para un plan gratuito, es simplemente increíble. Yo personalmente lo probé y fue muy bueno. Se programó una llamada online con Zoom, me guió una persona muy bien predispuesta (obviamente en inglés) y resolvimos una duda en minutos. En mi opinión, y teniendo en cuenta toda la flexibilidad y las opciones que tiene con los complementos, el plan personalizado solo será necesario en casos muy especiales, lo que hace que el plan gratuito sea la opción por defecto para casi todos.

Automation Codeless empieza a perfilarse como el futuro.

Como mencioné al principio, hubo un cambio hace unos años sobre cómo pensar en la automatización codeless. Los recorders torpes y propensos a errores y el secretismo al editar lo grabado dieron paso a frameworks listos para la acción, utilizando estándares de la industria y aplicando nuevas tecnologías como Machine Learning e Inteligencia Artificial y, lo que es más importante, abriendo las puertas al Test Engineer para escribir el código necesario cuando lo que se ofrece no es suficiente. El resultado es lo que vemos en cosas como TestProject.io: una interfaz que oficia como Test Engineer virtual que guía la mano del Functional Tester a través de interfaces gráficas muy amigables, formas poderosas de crear pruebas e integraciones con los nombres principales que ya están establecidos en la industria, como Jenkins para tener nuestro trabajo listo para CI porque sí, ¡Jenkins tiene un complemento para trabajar con TestProject!

Lo que más me gusta de esta tendencia en aplicaciones como TestProject.io es que facilita la entrada a los Testers sin conocimiento de código en el mundo de la automatización, mientras que, al mismo tiempo, no se olvidan de los Test Engineers, dándoles suficientes herramientas (el SDK para Java y C # en el caso de TestProject.io) para ajustar, crear y personalizar a su gusto.

Mirá ... Me atrevo a decir que, con un training de 1 semana, un tester manual puede crear suites de automatización sin problemas con esta herramienta. En un proyecto anterior en el que dirigí el esfuerzo de Automatización, tenía un equipo de testers manuales que realizaba la automatización con otra herramienta mucho más compleja para aprender y, en un mes, se hicieron regresiones automáticas con nulo mantenimiento posterior. Si TestProject hubiera sido una opción en ese entonces, las cosas habrían sido mucho más fáciles.

Esto me hace pensar en las posibilidades que se abrirán en el futuro con las herramientas de automatización sin código. A medida que la brecha técnica entre las pruebas manuales y automatizadas se está cerrando, ¿cuál será el papel de la SDET? ¿Apoyar el test manual mediante la creación de complementos y, a fin de cuentas, los artefactos de prueba para que los testers manuales los utilicen fácilmente? ¡Suena como el Dream Team del que hablo a menudo con mis colegas! Y lo que es mejor ... en este caso no está aislado en un equipo en particular, ya que esta es una herramienta impulsada por la comunidad, que lleva la mano del ingeniero de pruebas a cualquiera que use este marco. ¿No es ese un futuro brillante para las herramientas de automatización codeless?

Les recomiendo mucho que prueben esta herramienta y me dejen sus comentarios abajo sobre qué les pareció. Incluso podría ser una buena sugerencia para un equipo que empieza a automatizar y no cuenta con recursos técnicos para crear todo desde cero!


Publicar un comentario

0 Comentarios