Intive-FDV Blog

Crónica de una tarea manual reemplazada: ¡Se vende Python!

Googleo “automatización con Python” y los resultados dicen: “Cómo automatizar tareas aburridas!” Así, con signo de exclamación, como si fuera un infomercial de los de la televisión, de esos que venden un rasca espalda para que no hagas el arduo esfuerzo de llevar tu mano hasta allá, porque ¿para qué hacer por ti mismo tal banalidad cuando puedes usar un exclusivo aparato de última generación? Continúo leyendo más abajo: “No necesitás saber programar”, “Convertite en QA automation en tres días”, “Inscríbete ya”. Descubro esta suerte de infomercial cibernético y pienso que esta gente no sabe de lo que habla.

Aplicaciones como Instagram, Spotify, Dropbox y Amazon implementan gran parte de sus servicios con el famoso lenguaje de la serpiente (y no porque sea la opción más fácil), sino por la simplicidad de su semántica, el soporte que tiene de la comunidad de software, el extenso abanico de herramientas disponibles para el análisis de datos y, claro, su popularización. Estas son las razones que han hecho preferirlo como lenguaje y han desterrado a otros que suelen hacer el mismo trabajo mucho más complejo.

¿Por qué Python?

Python es un lenguaje de alto nivel o de scripting, esto significa que su semántica es más intuitiva pues se parece más al lenguaje humano que al de una máquina. Esto representa un beneficio al momento de emprender en el mundo de los tests automatizados, ya que permite (si está bien escrito) con solo una lectura entender de qué va el código.

No necesita de un compilador y tampoco es fuertemente tipado, lo que lo convierte en un lenguaje rápido en ejecución y corto en tiempos de desarrollo, logrando así que los cambios y las mejoras puedan ser implementadas con mayor velocidad. Todo esto hace más agradable el glorioso proceso que todo dev, QA (o profesional abarrotado de laburo) desea: automatizar tareas.

Claves para un QA que utiliza Python

Es cada vez más común en el mundo de las pruebas automáticas que los profesionales de sistemas prefieran utilizar Python por encima de otros lenguajes, puesto que la curva de aprendizaje es más amena.

Pero si bien los conocimientos en programación para empezar a automatizar pruebas con Python son básicos, es muy importante manejar un buen nivel de lógica matemática y de cualidades innatas de un QA integral, tales como:

  • Capacidad de abstracción.
  • Entendimiento del negocio.
  • Conocimiento sobre el funcionamiento del sistema.
  • Sobretodo, un coherente y sano odio por los bugs.

Existe una increíble variedad de herramientas que brindan soporte a Python. Desde la librería Pytest para la redacción de tests, pasando por Selenium para simular las acciones de una página web en el frontend, hasta la librería Requests, muy útil para replicar los pedidos de un usuario en el backend. Para pruebas más concretas, como de stress y performance, está Locust.io y para el lado mobile, Appium es el framework apropiado. Si querés un comienzo en el mundo de la automatización de procesos, estas tools son las indicadas para iniciarte. Después de todo ¿no significa la automatización de un proceso, incrementar la productividad del trabajo y del tiempo?

Ahora entendemos por qué adjetivos como “semántica intuitiva” y “agradable” no se traducen en “simple y ordinario”, por qué Python no es el rasca espalda de los QA’s por capricho. Pero si querés…

Llamá ya al 0800 intive-FDV.

No te aseguraremos que va a ser fácil.

Pero sí productivo.

 

Fuentes:

https://labs.spotify.com/2013/03/20/how-we-use-python-at-spotify/

https://www.dropbox.com/developers/documentation/python

https://github.com/richid/python-pinterest/blob/master/pinterest/client.py

Ilein González

Ilein González es licenciada en Comunicación Social, mención periodismo, graduada de la Universidad Católica Andrés Bello. Desde mayo del año 2018 se desempeña como Analista de Calidad en intive-FDV, en uno de los proyectos más desafiantes de la compañía. Ilein es además una entusiasta de la innovación y los procesos.

Josmer Delgado

Josmer Delgado es QA (manual y automation) en intive-FDV desde noviembre de 2016. Estudió Ingeniería en Mecatrónica, Robótica y Automatización en la Universidad Nacional Experimental Politécnica “Antonio José de Sucre” de Venezuela – su país natal-, y realizó cursos en programación de microcontroladores. Vive con su esposa Leydis -quien también trabaja en la empresa como recruiter- y con su adorada hija Eva Sophia.  Apasionado jugador de ajedrez, disfruta también de los videojuegos y el fútbol.

1 comentario

  • Coincido en que la “semántica intuitiva y agradable” no se traducen en “simple y ordinario”. Además agregaría la economía de recursos que implica poder correr tests en la terminal (sin necesidad de instalar y configurar ides y frameworks pesados, lo cual agradece mi vieja notebook), o en otros ides más livianos. Por no mencionar la simpleza de poder instalar, por ejemplo, Selenium mediante pip o agregarlo como un framework más desde Pycharm. En fin, espero que la industria vaya teniendo en cuenta esto a la hora de solicitar automatizadores con Java, sólo porque la mayoría de los programadores usan ese lenguaje. Además la asociación argentina de Python hace que te acerques por el lenguaje y te quedes por la comunidad. Saludos.