
Automatización de pruebas
La automatización de pruebas usa frameworks para crear scripts que se ejecutan pruebas automatizadas de software.
Estas pruebas automatizadas pueden hacerse sobre aplicaciones web,aplicaciones de escritorio,apps de smarphones,APIs ,métodos de clases o incluso servicios y sistemas operativos.
Las pruebas automatizadas se diferencian de las manuales en que las primeras son ejecutadas por una aplicación que ejecuta ,supervisa las pruebas y genera un informe.
Las manuales las hace un tester de manera manual y genera el el informe.
Las pruebas automatizadas se usan sobre todo para las pruebas de regresión buscando defectos en la aplicación.
Las pruebas de regresión son repetitivas y suelen tardar bastante por lo que para un tester es un suplicio y dejar de hacer otros trabajos por ellas por eso la automatización ayuda mucho al tester y al analista de QA al liberarlo de horas de trabajo.
¿Por qué automatizar?
🚀 ¿Quieres empezar en QA pero no sabes por dónde hacerlo?
La mayoría de personas que hoy trabajan como testers empezaron exactamente desde cero, sin experiencia técnica ni saber programar.
He creado una ruta clara paso a paso para que entiendas:
✅ Qué aprender primero
✅ Qué evitar para no perder meses
✅ Cómo pasar de principiante a tu primer trabajo en testing
Las principales razones para realizar automatización de pruebas son:
Tiempo
Se gana mucho tiempo realizando pruebas automatizadas ,se evita gastar tiempo en pruebas repetitivas que pueden ser automatizadas y se libera el tiempo del analista y tester para que puedan hacer otros trabajos.
Feedback diario
Las pruebas automatizadas suelen realizarse de noche y nos da un informe diario del estado de la aplicación en la que estamos trabajando.
Pruebas eficientes
Los resultados de las pruebas automatizadas son más eficientes que las manuales.
El líder de pruebas puede tomar una estrategia en la que pruebas repetitivas y más complejas se automaticen y otras pruebas las realicen los analistas y así la cobertura de las pruebas sera mayor.
La automatización te permite ahorrar tiempo ,dinero y recursos pero requiere invertir tiempo y dinero al principio.
Actualización y reutilización
Una de las mejores ventajas de los test de automatización es que son reutilizables,podemos utilizar acciones que se utilizan en distintas pantallas para realizar pruebas que tengan que pasar por secciones comunes.
Al principio se invierte mucho tiempo en crear un framework sobre el cual desarrollar las pruebas o tests pero luego tendremos una solución duradera,sólida y reutilizable que podrá ser utilizada en otros proyectos además que inicia el camino para una estandarización de la automatización de pruebas.
Consistencia
Las pruebas automatizadas ofrecen consistencia en la tarea de realizar las pruebas.Normalmente los test que se automatizan suelen ser aquellos que son tareas complejas o muy agotadoras.La automatización disminuye la tasa de error al poder ejecutarse a cualquier hora y las veces que haga falta sin que haya errores por cansancio cosa que le pasaría a un tester.
En el siguiente gráfico podremos comprobar el retorno de inversión cuando realizamos automatización de pruebas con respecto a ejecutar pruebas manuales a lo largo de los diferentes sprints:

Necesidades para la automatización
Entorno de pruebas
Se requiere un entorno de pruebas con la configuración y las funcionalidades necesarias para realizar los tests.Ademas necesitamos datos estáticos para asegurarnos que falla por la aplicación no por los datos.
Es muy importante tener este entorno estático donde los datos sean estáticos y no se cambien para poder automatizar sino la creación de los escenarios de prueba será muy complicada.
Documentación
Análisis funcional: Es fundamental para entender que es lo que necesita el cliente desde el punto de vista funcional.
Caso de uso:Tenemos que saber que se va a probar y que resultado se espera.Necesitamos conocer las entradas y las salidas esperadas en la funcionalidad que se va a probar ,si no se tiene esto es muy difícil automatizar por no decir imposible.
Historias de usuario bien definidas:las historias de usuario tienen que ser INVEST ,es decir bien redactadas que cumplan esas características para saber que necesitamos probar y automatizar.
Diagramas de flujo de la aplicación:Ayuda a tener claro una visión de la aplicación antes de crear el plan de pruebas o de automatizar una prueba.
Zeplin/Marvel: Esta herramienta nos permite comprobar que el diseño es correcto ,esto ayuda tanto a la parte manual como automatizada.
Identificadores en cada elemento
Para la automatización de pruebas podemos utilizar herramientas como Selenium,Cypress,Appium o Katalon pero también definir un identificador para poder encontrarlo en el DOM de la página y poder realizar acciones sobre él.
Es importante que los desarrolladores pongan identificadores a los elementos del front de una pagina web además que es buena práctica.
Ademas hay formas de encontrar esos elementos para automatizar utilizando expresiones XPath por ejemplo o CSS Selector que es algo muy habitual,.
También hay extensiones de navegadores como Chropath que nos permiten encontrar la expresión CSS selector o Xpath para detectar ese elemento y que al ejecutar el script grabado o test no muestre el desastroso fallo de objeto no existe o no encontrado .
Déjame un comentario indicándome si te gusto o algo que quieras aportar.
Artículos recomendados:
Selenium-Guía imprescindible
Pasos para ser tester en el sector QA
QA Testing: Lo que es y lo que será con la IA
Objetivos de las pruebas
Accesibilidad móvil y su importancia
Herramientas de automatización de pruebas funcionales
Cuarto principio del testing
Testing de Software y su importancia
Organización istqb.VÍDEO EXPLICATIVO
QA vs QC

Alejandro Canosa es especialista en QA y testing de software con más de 10 años de experiencia profesional trabajando entre España y Colombia. Cuenta con un posgrado en Quality Assurance por la UPC y es autor de dos libros técnicos publicados por la editorial Rama como son Scrum.Teoría e implementación práctica y Certificación ISTQB Certified Foundation Level 4.0 además es socio de CEDRO . Actualmente dirige Academia de Testing, donde ayuda a personas sin experiencia previa a iniciar su carrera en tecnología desde cero.

Respuestas