Hoja de ruta para convertirse en un Automatizador de pruebas – Parte 2

🚀 Esta es la segunda y penúltima parte del capítulo… haz clic aquí para ver la primera parte o clic acá para ver la tercera parte.

¿Qué hacen los ingenieros de automatización de pruebas?

La automatización de pruebas es el proceso de ejecutar casos de prueba utilizando una herramienta que los automatiza, como robots. Nadie quiere ejecutar tareas aburridas y repetitivas manualmente, y es por eso que existe cualquier forma de automatización: en la automatización de pruebas, el objetivo es reducir la cantidad de casos de prueba que deben ejecutarse manualmente, aunque no las elimina en su totalidad. Por el contrario, la automatización de pruebas bien implementada liberará el tiempo de los testers para realizar pruebas funcionales y exploratorias más profundas e intensivas, lo que debería mejorar aún más la calidad del software.

Una lista de actividades que debería realizar un automatizador, que se puede adaptar a cualquier empresa o proyecto es:

  • Aprenda muy bien el dominio de la aplicación y cree una estrategia de automatización de pruebas. Requiere un enfoque más holístico, por lo tanto, los profesionales de la automatización de pruebas deben tener un conocimiento realmente bueno de las pruebas de software en general.
  • Cree marcos de automatización de pruebas y desarrolle escenarios de prueba, lo que requiere conocimientos técnicos y de programación más profundos.
  • Seleccione casos de prueba para automatizar la aplicación, que pueden ser pruebas de humoregresióndirigidas por datos. Dependiendo del objetivo que desee alcanzar.
  • Ahorre tiempo para todo el equipo creando herramientas para automatizar tareas aburridas y repetitivas. Por ejemplo, la automatización de las comparaciones de informes o la obtención de datos de la hoja de cálculo de Excel para compararlos con el resultado real puede potencialmente ahorrar mucho de tiempo.
  • Interactúe con todo el equipo para comprender cuáles son las necesidades actuales, planificar qué automatizar y qué no. Discuta formas de mejorar aún más los procesos de trabajo.

💡 Tal vez te interese el artículo: Cómo elaborar una estrategia de automatización de pruebas.

Cómo aprender realmente la automatización de pruebas

Obtenga una base sólida en las pruebas

Si es nuevo en el campo de las pruebas, es recomendable que primero comience por aumentar sus conocimientos sobre pruebas de software, para crear robustas estrategias de automatización de pruebas o elegir y comprender qué pruebas automatizar. Sin mencionar que deberá tener un conocimiento más amplio del proceso de desarrollo de software y los conceptos básicos de ingeniería. Puede comenzar eligiendo libros de pruebas de software de Amazon o buscar cursos gratuitos / pagos en Internet.

También es recomendable visitar el sitio web de uno de los líderes más destacados de la industria, James Bach, si desea obtener una comprensión profunda de las pruebas exploratorias basadas en el contexto. 

El libro “Pruebas ágiles: una guía práctica para testers y equipos ágiles” de Lisa Crispin y Janet Gregory tiene mucha información sobre los fundamentos de las pruebas ágiles.

Ministry of Testing (MoT) es otro gran recurso que le brinda información útil gratuita para los ingenieros de calidad de software y, lo más importante, para la comunidad. Sus desafíos de 30 días son una excelente manera de mejorar su conocimiento en diferentes áreas de pruebas, por nombrar algunas:

El plazo depende totalmente de ti. Lo que más me gusta de los desafíos de MoT es que están llenos de tareas procesables que inspiran un mayor aprendizaje en el área. Puede iniciarlos cuando lo desee y compartir su progreso en el foro de la comunidad. También tienen una suscripción paga, que incluye información aún más útil para los Analistas de Pruebas. Estos dos cursos pueden brindar una base decente a una persona dispuesta a aprender más sobre el oficio de prueba de software:

Hay dos excelentes programas de aprendizaje en la plataforma de aprendizaje de Linkedin, que le brindarán un enfoque y una estructura sobre el tema específico enseñado por expertos de la industria.

Deberá ser un usuario de LinkedIn Premium, o puede consultar desde su biblioteca local, o la de su universidad, ya que algunos de ellos hacen que este servicio sea gratuito para sus usuarios.

En español se puede encontrar este completo recurso:

También es una buena idea intentar realizar pruebas exploratorias manuales para “ensuciarse” las manos y comprender mejor el proceso.

¿Qué tecnología elegir?

Cuando llega el momento de las tecnologías, es aún más difícil elegir por dónde empezar.

Hay tantas herramientas nuevas y enfoques diferentes, por lo que es muy fácil sentirse abrumado. Supongo que la elección de la herramienta depende de lo que quieras lograr. Existen diferentes tipos de aplicaciones:

  • Aplicaciones de escritorio : se pueden ejecutar en una sola computadora y requieren instalación y configuración. También se pueden desarrollar para plataformas y sistemas operativos específicos, o para una combinación de ellos, y están limitados a un usuario.
  • Aplicaciones web : en comparación con las aplicaciones de escritorio, un número ilimitado de usuarios puede acceder al mismo tiempo. Se admite un número ilimitado de dispositivos y combinaciones de navegadores, lo que hizo que las aplicaciones web fueran tan populares en estos días.
  • API o servicios web: actualmente hay tantos servicios que están listos para los desarrolladores, por lo que pueden simplemente conectarlos a su código para proporcionar una funcionalidad adicional.
  • Aplicaciones móviles: es otro tipo de aplicación que se puede instalar desde la tienda de aplicaciones para una sola cuenta de usuario.

Para cada una de estas tecnologías, debe centrarse en diferentes métricas al realizar las pruebas y, por supuesto, utilizar diferentes herramientas, por ejemplo:

  • WinAppDriver y AutoIT para aplicaciones de escritorio
  • Selenium y TestComplete para aplicaciones web
  • Katalon studio y Postman para probar API
  • Appium y Katalon Studio para pruebas móviles

Creo que debería elegir un tipo de aplicación y concentrarse en ella.

Es recomendable iniciar con las aplicaciones web, ya que hay muchos recursos de aprendizaje y estas pruebas tienen una gran demanda. Una vez que domine la automatización web, puede continuar y comenzar a aprender otro tipo de aplicación.

¿Qué lenguaje aprender?

La respuesta a esta pregunta depende de si está trabajando actualmente o en proceso de aprendizaje o solicitud de empleo. 

Si ya está trabajando, le sugiero que aprenda el stack (en este caso: tecnologías, IDEs de desarrollo y lenguajes) en la que se desarrolla su aplicación, ya que sería más fácil para usted colaborar con el equipo si escribe automatización utilizando el mismo lenguaje. Digamos, por ejemplo, que la aplicación está escrita en JS y C #, elegiría uno de estos lenguajes para desarrollar conjuntos de pruebas. Siempre será fácil para ti tocar al desarrollador en el hombro y pedirle que revise tu código si es necesario.

Si aún no elige un lenguaje de programación, aquí está la lista de los más populares:

Java y Python son los lenguajes más comunes para la automatización de pruebas, por lo que puede elegir uno de ellos y sumergirse en una enorme cantidad de información sobre ellos.

Primero puede enfocar sus esfuerzos en aprender los conceptos básicos. Siempre resulta confuso dónde y cómo empezar, por lo que siempre es útil determinar su estilo de aprendizaje. Algunas personas pueden aprender viendo y escuchando, otras aprenden mejor leyendo y escribiendo, algunas aprenden mejor haciendo. Hay una serie de cuestionarios útiles que pueden ayudarlo a obtener una idea de su propio estilo de aprendizaje; aquí está uno de ellos.

El equilibrio perfecto se haya entre leer libros / ver videos teóricos breves y luego trabajar en ejercicios prácticos. Son muy buenos los cursos de Pluralsight  y Packt . Hay muchas buenas fuentes gratuitas, pero el aprendizaje real sucede cuando te propones un proyecto real e intentas implementarlo. Al luchar para resolver problemas reales y depurar código, se puede avanzar rápidamente en el aprendizaje.

Este es un plan sugerido para aprender un lenguaje:

  • Encuentra un Desarrollador o Automatizador que esté dispuesto a darte comentarios y revisar tu código.
  • Elija un proyecto real en el que trabajar y ensúciese las manos con la codificación.
  • Todo esto en paralelo con el aprendizaje de los fundamentos teóricos del lenguaje de la forma que más te convenga. 

Recuerde, una vez que aprenda un lenguaje, el segundo debería ser mucho más fácil ya que los fundamentos son los mismos.

Fuentes

Inspirado en: Roadmap To Becoming A Test Automation Engineer por Yulia Tekin

Imagen por Matt Duncan en Unsplash

Author: Alex Andrade

Magister Ingeniería de Software, MBA y Especialista en Gerencia de Proyectos Tel: +57-317-241-5118

1 comentario en «Hoja de ruta para convertirse en un Automatizador de pruebas – Parte 2»

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.