Implementar pruebas automatizadas en un proyecto ya existente es una tarea compleja y multifacética.
Historia de la cuestión: En la organización donde las pruebas se han realizado manualmente durante mucho tiempo, los procesos, la documentación y la arquitectura del código no siempre cumplen con los requisitos para la automatización. Los testers no dominan las herramientas automatizadas, y la arquitectura de las pruebas y de las aplicaciones puede no admitir un inicio rápido de las pruebas automatizadas.
Problema: Las principales dificultades en la implementación son:
Solución: El equipo debe pasar por las etapas:
Características clave:
¿Pueden las pruebas automáticas reemplazar completamente las pruebas manuales?
No. Incluso con una alta cobertura, las pruebas automatizadas son aplicables solo a escenarios repetitivos y determinísticos. Los errores de usabilidad no detectables, la exploración, los defectos de diseño y los errores "humanos" atípicos suelen ser capturados manualmente.
¿Es necesario automatizar todos los casos de prueba sin excepción?
No. No todos los casos de prueba justifican ser automatizados: los escenarios de baja frecuencia o complejos deben dejarse para pruebas manuales debido a su costo y bajo rendimiento.
¿Deben los testers ser programadores para tener éxito en la automatización?
No, pero se recomienda un nivel básico de programación. El equipo a menudo se construye en la combinación: tester experimentado - arquitecto de pruebas automatizadas, automatizadores - desarrolladores.
La empresa decidió automatizar todas las pruebas manuales al mismo tiempo, sin asignar un equipo separado y sin discutir prioridades. Compraron una herramienta de moda, pero no soportaba algunos navegadores necesarios. Como resultado, la mitad de las pruebas dejaron de funcionar después de un trimestre.
Ventajas:
Desventajas:
El equipo eligió manualmente los 10 escenarios de regresión más comunes. Realizaron capacitación en automatización en Python (Selenium), añadieron pruebas en CI. Seis meses después, el 70% de las verificaciones de regresión se ejecutaban automáticamente, mientras que los testers manuales se dedicaban a la creatividad.
Ventajas:
Desventajas: