La importancia del testing continuo en la transformación digital: Automatización de pruebas
Tiempo de lectura estimado: 7 minutos
Esta conferencia magistral pertenece al Módulo Transversal de Transformación Digital de C1b3rWall Academy 2021.
Introducción: necesidades de producción de software
Las pruebas son necesarias para asegurar la calidad del software y alcanzar así la satisfacción y la posible fidelización del cliente.
¿Qué es la automatización de pruebas?
Consiste en simular que hay un tester que está manejando la aplicación para verificar que funciona de forma correcta. Hay una serie de mitos sobre la automatización de pruebas, mostrados en la siguiente imagen:
¿Por qué automatizar pruebas?
La automatización de pruebas consolida y mejora la efectividad de las pruebas siempre y cuando se manejen las expectativas, se entiendan las herramientas y se seleccione una herramienta compatible con las aplicaciones a automatizar. La automatización:
- Minimiza los errores de las pruebas manuales.
- Permite ejecutar más pruebas.
- Permite validar múltiples plataformas.
- Es útil para la generación masiva de datos.
- Reduce los tiempos de ejecución.
- Tiene un modelo orientado a inversión vs costes.
- Proporciona el apoyo de modelos DevOps.
¿Qué se debe automatizar?
No se puede automatizar todo, hay que enfocarse en automatización de partes de aplicaciones con una serie de características, por ejemplo:
- Módulos estables. Poco susceptibles a sufrir cambios.
- Core de la aplicación. Funcionalidades más críticas desde el punto de vista de negocio.
- Escenarios frecuentes. Se debe evitar la automatización de escenarios que se vayan a ejecutar con poca frecuencia.
- Funcionalidades repetitivas que han de ejecutarse con diferentes plataformas, entornos y conjuntos de datos.
¿Cuándo se debe automatizar?
Metodología de automatización de pruebas
Está basada en cinco fases, mostradas a continuación:
Frameworks de automatización
Normalmente se trata de herramientas software que forman un conjunto de directrices como estándares de codificación, tratamiento de datos de prueba, tratamiento de repositorios de objetos, etc. que cuando se aplican para la automatización de scripts generan beneficios como mayor reutilización del código, portabilidad y reducción del coste de mantenimiento.
Herramientas
La automatización, básicamente, utiliza tres tipos de herramientas:
- Herramientas de gestión de pruebas: tienen un catálogo de casos de pruebas y hacen la programación de las ejecuciones.
- Herramientas de automatización de pruebas: son las que realmente ejecutan las pruebas.
- Herramientas de gestión de defectos: son las que se utilizan para identificar los defectos que el equipo de desarrollo recibirá para hacer las correcciones correspondientes.
Ecosistema de testing continuo. DevOps.
Realidades sobre la automatización de pruebas
A modo de conclusión, y en contraposición a los mitos vistos inicialmente...
- La automatización es un complemento a las pruebas manuales, no las sustituyen completamente.
- No es solo importante la herramienta, sino elegir las estrategias adecuadas para la automatización.
- Es necesario estudiar el ROI de la automatización para determinar la recuperación de la inversión.
- Es necesario contar con equipos con experiencia.
- No se puede y no se debe automatizar todo.
- La automatización mejora la calidad del producto.
¿Todavía no formas parte de C1b3rWall Academy? El contenido es gratuito, únete a otras 30.000 personas desde este enlace.
Si te interesa este tema, puedes consultar la información y cursar el Máster en Transformación Digital o ver la oferta de másteres desde aquí.
Ponente: Rafael Pérez Daniëls
Rafael es Ingeniero Informático por la UCM. Actualmente es líder del equipo de Automatización de la Práctica de Quality Engineering en ViewNext y acumula más de 20 años de experiencia en proyectos IT.
¿Cuál es tu reacción?