Qué es el Agile Testing
Agile Testing es una práctica de pruebas de software que sigue los principios del desarrollo ágil de software.
Involucra a todos los miembros de un equipo ágil multifuncional, en el cual el rol del tester es el de un experto multifuncional, garante que se entregue el valor de negocio deseado por el cliente a un ritmo sostenible y continuo.
Las metodologías ágiles no ven al software testing como una fase separada, sino como parte integral del Desarrollo de software al igual que la programación.
Los equipos ágiles utilizan un enfoque de “todo el equipo” al testing, con la finalidad de integrar la calidad al desarrollo del producto, al contrario de un enfoque de primero fabricar el producto y luego inspeccionar para determinar su nivel de calidad.
Principios del Agile Testing
De forma similar a que el Manifiesto Ágil contiene principios que se aplican al desarrollo ágil de software, el Agile Testing engloba los siguientes principios:
- El Testing no es una fase: El testing continuo es la única forma de garantizar avance continuo, por esto, el testing se realiza continuamente junto con el desarrollo de software y demás actividades.
- El Testing hace avanzar el proyecto: Bajo métodos convencionales, el testing es una alcabala, en cambio en Agile Testing se proporciona retroalimentación continua, permitiendo corregir el rumbo continuamente durante el desarrollo de software.
- Todo el equipo realiza pruebas: en Agile Testing, los Analistas de negocio y Desarrolladores de software también ejecutan pruebas, no sólo los testers como en métodos convencionales.
- Reducir el tiempo para recibir retroalimentación: En Agile Testing, los equipos del área de negocio (el cliente) están involucrados en cada iteración, no solo al final durante la fase de aceptación, como resultado, el tiempo de retroalimentación se reduce y el costo de correcciones también es menor.
- Código limpio: Los defectos en el código se corrigen en la misma iteración, por lo que se mantiene el código limpio.
- Reducir la documentación de pruebas: Los Agile Testers usan listas de chequeo reusables en lugar de documentación extensa, se enfocan en la esencia de la prueba en lugar de detalles. Siguiendo principios ágiles estas listas de chequeo son el inicio de las definiciones de las pruebas y no el final, y el tester cuenta con libertad para aportar valor.
- Guiado por pruebas: El Agile Testing, las pruebas se hacen “durante” el desarrollo y no después del desarrollo como en métodos convencionales.
El Rol del Tester en un marco Agile
El rol del tester en un equipo ágil es el de un experto, garante que se entregue el valor de negocio deseado por el cliente a un ritmo sostenible y continuo.Para ello, utiliza la “especificación mediante ejemplos” para capturar los comportamientos deseados y no deseados para guiar la codificación.
Esto se contrapone con el rol convencional del tester, en el cual es un profesional encargado de elaborar diseños de prueba (a partir de diseños funcionales), y luego ser un simple ejecutor de guiones prestablecidos.
En un entorno Agile el rol del tester es de mayor especialización técnica, considerando que debe manejar herramientas de automatización, gestión ágil y metodologías.