Testing ágil: todo el equipo prueba

Clase 11 de 29Curso de Fundamentos de Pruebas de Software

Resumen

El testing ágil eleva la calidad con decisiones rápidas y colaboración real. Frente a la cascada, que robustece procesos pero arriesga entregar algo que el cliente no esperaba, se opta por iteraciones pequeñas para detectar fallos temprano. Un mal diseño o análisis puede disparar los costos hasta 170 veces; por eso se prueba antes, durante y después de cada cambio.

¿Qué es el testing ágil y cómo reduce riesgos y costos?

El enfoque integra a todo el equipo en las pruebas, no solo al tester. Se define cómo trabajar, documentar lo esencial y entregar valor de forma efectiva. La idea central: prevenir errores antes de que lleguen a etapas caras mediante ciclos cortos y criterios de salida compartidos.

  • Todos en el equipo son testers: diseñadores, programadores, product manager y tester aportan requisitos y verificaciones.
  • Criterios de salida claros: el equipo acuerda qué debe cumplirse para considerar el código finalizado e integrable.
  • Pruebas automatizadas que se ejecutan de forma continua con cada cambio.
  • Cobertura de pruebas amplia: funcional, visual y de acceso según necesidades reales del producto.

¿Cómo colabora el equipo para definir cobertura y criterios de salida?

Las pruebas parten de escuchar a cada rol y plasmarlo en un mapa mental de casos y niveles. El tester propone desde el inicio qué se validará para que el equipo acepte la historia como terminada. La colaboración evita malentendidos y asegura que diseño y funcionalidad lleguen completos.

  • Testing visual: tamaño de letra, colores y distribución se validan además de lo funcional.
  • Testing independiente: todos prueban, y puede existir un tester dedicado a pruebas adicionales.
  • Documentación ajustada a la estrategia, enfocada en qué y cómo se entrega al cliente.

¿Qué debe incluir la cobertura del tester?

El diseño de pruebas se organiza por niveles de prueba y por componentes para ir a profundidad sin perder contexto.

  • Componentes clave: botones, contenedores de imagen, estados y mensajes.
  • Casos con y sin foto.
  • Acciones: agregar, eliminar, actualizar la foto.
  • Comportamientos durante la subida: edición al cargar y manejo de errores.
  • Validar que lo visual solicitado por diseño se cumpla.

¿Qué lugar tiene la integración continua?

La integración continua asegura que, cada vez que alguien agrega un servicio, módulo o función, se ejecuten automáticamente las pruebas del código ya liberado. Además, se alinean las pruebas a cómo evoluciona el código con apoyo de frameworks adecuados.

  • Cambios activan suites automatizadas que protegen regresiones.
  • El tester verifica el código hasta que todas las pruebas pasen.
  • Se puede definir el producto en base a las pruebas que deben cubrirse.

¿Cómo probar la historia de agregar foto de perfil?

Imagina una app donde el usuario ya tiene sesión y la nueva historia es: “el usuario puede agregar la foto a su perfil”. El equipo bosqueja la UI probable: foto, datos, botón de salvar y quizás “cancelar”. Desde ahí, se acuerdan criterios de salida y se despliegan pruebas por niveles.

¿Qué validar a nivel de componentes?

  • Botón para agregar o cambiar foto: habilitado, deshabilitado y estados de carga.
  • Contenedor de imagen: presencia, tamaño y aspecto cuando hay y cuando no hay foto.
  • Flujos y estados: agregar por primera vez, volver a agregar, actualizar, eliminar, no querer foto.
  • Edición durante la subida: recorte o ajustes si aplica.
  • Mensajes y validaciones: éxito, error y retroalimentación clara.

¿Qué validar a nivel de integraciones?

  • Almacenamiento: dónde se guarda la foto y si responde al perfil correcto.
  • Accesibilidad: quién puede ver la imagen dentro y fuera del perfil.
  • Accesos internos y externos: permisos y rutas protegidas.
  • Consistencia: que otras partes del sistema reflejen el cambio cuando la foto se agrega o elimina.

¿Qué otras pruebas propones para el nivel de aceptación de usuario? Comparte tus ideas en comentarios y añade un screenshot con los casos que agregarías.